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

[v3] List concepts for Pharo Smalltalk #444

Open
samWson opened this issue Jan 28, 2021 · 6 comments
Open

[v3] List concepts for Pharo Smalltalk #444

samWson opened this issue Jan 28, 2021 · 6 comments

Comments

@samWson
Copy link
Contributor

samWson commented Jan 28, 2021

I'll freely admit I'm not an expert in Pharo or Smatlltalk. I have however spent a lot of my spare time using the language and studying its history and origins.

It's worth looking at the Ruby track concepts for inspiration as it is the language that is most closely related to Smalltalk in terms of OOP semantics.

Other references include Pharo books, and the Pharo wiki. We should definitely put a call out in the Pharo discord for review of this list.

Also check the general reference for concept exercises.

Given that Pharo is so well integrated with its IDE I believe concepts should also cover use of the IDE. This can include things like using Spotter to find classes and messages in the class library. This is quite important because the class libraries are not typically documented online like C# or Java for example, but are fully available and easy to explore from within the IDE. So effective use of the IDE is critical to getting the best experience of the language.

Pharo by Example will likely be an excellent reference for Pharo specific concepts, especially Chapter 6: The Pharo Object Model.

The output of this issue should be a list of concepts. From that we can short list 20 concepts to make exercises for.

Here is a rough list of possible concepts, some plucked from the list of concepts:

  • Using the IDE (debugging, browsing, playground, searching)
  • Object and message syntax
  • Object Oriented Programming
  • Classes
  • Encapsulation
  • Blocks
  • Streams
  • Objects
  • Inheritance
  • Traits
  • Polymorphism
  • Enumeration
  • The Pharo Object Model
This issue is being transferred. Timeline may not be complete until it finishes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant