uhm? Every Smalltalk environment I know have great documentation, integrated right in the environment, and it is a better than Python for a beginner (I have been using Python since 1.6.1; I did Smalltalk professionally in the late 90s); surely much better than C++ or Rust.
The paradigm is different, so if you expect file-based interactions(*), you are approaching it wrong.
I just downloaded Pharo, run the current stable image 10.0, and the first thing that pops out is a "Welcome" window with links to
- https://mooc.pharo.org/
- http://books.pharo.org/
- A "Learn Pharo" section tells me to click on a link "ProfStef go." to learn the basics.
- Another one tells me to run "HelpBrowser open." to see the in-image documentation.
- In the help browser itself, I can find more tutorials and even a tutorial on how to make them.
- If I open any System Browser and filter the packages for "Examples" or "Tutorial", I get more stuff too. If I search for "Tests", I can read a lot more. Naturally, everything is hyperlinked and navigable like you'd get in a IDE for another language.
- If I open a System Browser, I can click on any package and get a UML class diagram for the package. Classes have comments, like python doc strings.
How do I open a file? I haven't touched Smallktalk in 20 years. I just opened a System Browser, searched packages for "File". Look there is a Files package with a File class. What does the comment say (the 2nd comment tab, which is formatted)? Examples of usage, how to open and write, encoding, buffering, etc. I can click on any method and then on "Senders"to see how it is used.
Then I remembered from 20 years ago, there should be a faster way to get there, so I just opened a transcript window and typed "File", selected it and Cmd-B (browse) to get to the class
---
I don't advocate Pharo or any Smalltalk environment but the reasons are not related the quality of its environment, just that developers are very hard to find and most support is moving on.
---
What has much better documentation?
I'd say Wolfram Mathematica.
The documentation is very extensive and consistent, you can see it online at https://reference.wolfram.com/language/
But if you open it from within Mathematica, it is also editable: you can change the code and execute it at any step.
e.g. you can open the documentation for https://reference.wolfram.com/language/ref/FindTextualAnswer...
and instead of doing:
question = "Who was the architect of the Sagrada Familia?";
articles = WikipediaData /@ WikipediaSearch["Content" -> question];
FindTextualAnswer[articles, question, 5, {"Probability",
"HighlightedSentence"}]
You want to ask "Who was the architect of Florence cathedral?"
You can change that and see what happens.
And since Mathematica is a symbolic language that is not limited by text input, you can copy any data structure or graphic (e.g. the graphs on https://reference.wolfram.com/language/ref/FindShortestPath.... Basic Examples and run code on that).