pharo-wiki icon indicating copy to clipboard operation
pharo-wiki copied to clipboard

True Beginner Confusion

Open claytron5000 opened this issue 5 years ago • 8 comments

The first page of this wiki "Must know for beginners," jumps in at least two steps ahead of where a beginner starts. I don't have a PR yet, but as a true beginner, I get pretty confused when the first directions on this page are

Browse (CMD/CTRL + b): This command will open a new system browser on the class you are currently focusing Senders (CMD/CTRL + n): This command will open a message browser with all the methods calling the method/symbol you are currently focusing. Implementors (CMD/CTRL + m): This command will open a message browser with all the methods whose name is the name of the method/symbol you are currently focusing.

I personally have already installed Pharo, but I might not have, and I don't have the IDE this might be referring to.

In short: Add at least one paragraph explaining or linking to how to start from scratch.

claytron5000 avatar Apr 26 '19 14:04 claytron5000

Thanks for your issue, @claytron5000 I am working on a page about setting up a new project: https://github.com/pharo-open-documentation/pharo-wiki/blob/master/General/SettingUpANewProject.md

olekscode avatar May 22 '19 13:05 olekscode

Hi Oleks, I've looked in your MD file and looks really nice! I guess for beginners would be most interesting to have description of steps 0-3 described as "Basic interaction with Pharo tools and code" and rest of steps split to next phase "Completing whole project ecosystem (version control, Package setup, CI, etc.)" or with some better name of chapter. For steps 0-3 I would add some more smaller steps how to interact with tools like Playground, Transcript, Debugger, Inspector and explain purpose of that. What do you think? Anyway, this is great!

Bajger avatar May 22 '19 14:05 Bajger

I think that Pharo Wiki should not cover general topics that are already covered in books. For example, Pharo by Example (https://files.pharo.org/books-pdfs/updated-pharo-by-example/2017-01-14-UpdatedPharoByExample.pdf) gives a really good introduction to Playground, Transcript, Debugger, Inspector, etc. If we can write it better, we should just propose an update to the book.

The goal of Pharo Wiki is to provide information on the new things and some very specific technical details. Things that change so fast that they are not yet covered in books or MOOC.

That's why I want to write about Pharo Launcher, Iceberg, GitHub, Travis CI - practical guidelines that are not yet included or just out of scope of Pharo books, but can be very useful for beginners. For the information about Playground, Debugger, and language syntax, we should just provide a reference to a certain chapter of a certain book.

olekscode avatar May 22 '19 14:05 olekscode

I see. I would still argue that mentioned tools are very essential for beginners and they would interact with them even when they'd write 1st line of code on day 0. If you intend in chapter 2 to describe only creating package, class (and method?) in System browser, beginners might get impression that this only way of interacting with code. I definitely agree to avoid doubling information, but nothing fancy is needed (just 1-2 sentences to each tool, or even link to Pharo By Example book). I'm afraid that Pharo By Example is not known on very beginning to incomers. So it could be like this:

  • Hey open Playground - write 1+1 and evaluate, then inspect
  • now you have a Inspector, you can use even debugger
  • now be more serious and write some class and method within package
  • lets write some tests and execute
  • thats it!

Bajger avatar May 22 '19 14:05 Bajger

Hi,

I would like to have a page describing the basic tools of Pharo and also a page for each tool describing the advanced features.

Currently, we do not have a lot of time to work on it so we prioritize documentation on part of the system that has no documentation for now. It's the reason we did not yet write a page on basic tools since there is a section in Pharo by example, but in the future, we will probably add one.

jecisc avatar May 22 '19 15:05 jecisc

And the purpose of the page of Setting up a new project is not to introduce a beginner to Pharo, but to describe a good workflow for creating / testing new projects and libraries.

So we can have a page about setting up a project and another page about working with Playground

olekscode avatar May 22 '19 15:05 olekscode

Right, issue was dealing with confusion about "Must know for beginners" and somehow I felt that describing whole project setup is much larger than what beginners are interested in. My point was to show REPL like experience and very basic steps, similar to what is described e.g. in this video https://www.youtube.com/watch?v=eGaKZBr0ga4

Bajger avatar May 22 '19 15:05 Bajger

For some context, I'm coming from the web-world. While I know Pharo is a much different project, I'd like to point to some great online documentation that makes it very easy for a beginner up and running. Elixir: https://elixir-lang.org/getting-started/introduction.html React: https://reactjs.org/docs/getting-started.html Go-lang: https://golang.org/doc/

These are big well-supported projects backed by the biggest companies in the world, that's important to keep in mind. But I think they also provide an ambitious "reach-goal."

I like @olekscode start.

claytron5000 avatar May 22 '19 17:05 claytron5000