Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tutorial chapter order #536

Closed
shaedrich opened this issue Mar 23, 2024 · 1 comment · Fixed by #539
Closed

Tutorial chapter order #536

shaedrich opened this issue Mar 23, 2024 · 1 comment · Fixed by #539
Labels
good first issue Good for newcomers help wanted Extra attention is needed

Comments

@shaedrich
Copy link
Collaborator

shaedrich commented Mar 23, 2024

When reading the tutorial, even though, I did it in the order, the chapters were provided, it sometimes felt, like I actually read them out of order. Here are a few suggestions that would—at least for me—would feel more intuitive:
– Explain literals before classes
– Move trust boundary to C-FFI
– Move matching to operators

I have a hunch, with that, the number of "we'll explain later" and "we partially already explained this earlier" can be reduced

grafik

This might be related to #14

@ponylang-main ponylang-main added the discuss during sync Should be discussed during an upcoming sync label Mar 23, 2024
@jemc
Copy link
Member

jemc commented Mar 26, 2024

This was discussed on today's Pony sync call.

One by one:

– Explain literals before classes

If we moved the literals page before classes, we'd need to move the entire expressions section. There's kind of a circular dependency here and there's no clear "first this, then that" option. However, we think it makes sense to start with high-level things (the types), and move things into more low level details (expressions). Also, actors are part of what makes Pony special, and so

There are other parts of the Object Capabilities section that refer to the Trust Boundary page saying something like "we'll cover more on that later". Also, this whole section is mostly about security, and so is the Trust Boundary page.

So while this is debatable, we agreed in the call that it should stay in the Object Capabilities section.

– Move matching to operators

There's too much material there to make it part of Operators, and match isn't really an operator.

But we think it would make sense to move "Match Expressions" and "As Operator" (in that order) into the "Expressions" section, between "Control Structures" and "Methods".

@SeanTAllen SeanTAllen added good first issue Good for newcomers help wanted Extra attention is needed and removed discuss during sync Should be discussed during an upcoming sync labels Mar 26, 2024
shaedrich added a commit to shaedrich/pony-tutorial that referenced this issue Mar 26, 2024
…Expressions" section, between "Control Structures" and "Methods"

As discussed in ponylang#536 (comment)

Co-authored-by: jemc <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers help wanted Extra attention is needed
Projects
None yet
4 participants