3 ms·
Serious question: Can you create medium-size to large applications without a text editor?
by jdthedisciple 3y ago
Serious question: Can you create medium-size to large applications without a text editor?
- zabzonk 3y agoyes, pharo is basically written in pharo. please note you _do_ have to type in code in text, but not monolithic amounts of it as you would in (say) a C++ program.
- tvink 3y agoIt's actually one of the best parts of it. Extreme TDD is amazing - you write a test, run it, and when it fails you basically fill in the chunk of code right from the error window and continue. It's not always super obvious how to get into the flow, but I found that although I didn't feel productive enough with the Pharo ecosystem, I _really_ miss the smalltalky development flow which foregoes using text files to organize code.
- kragen 3y agoit's not that it doesn't have a text editor; most smalltalk windows have five or six text editors
- jdthedisciple 3y agoOh boy, how does one keep their sanity like that?!
- kragen 3y agoyou use the windows to keep them organized, same as in any other gui
- Jtsummers 3y agoThe primary way of editing code in Pharo, Squeak, and similar implementations derived from Smalltalk-80 (but not all, some use the more familiar idiom of "many files in many directories") is to use one of the built-in (to the Smalltalk environment) browsers. Select the package, class, and then method (or the options to create new ones) and the method will be in an editor pane for you. Start changing it, and the change is immediately applied once saved. No need to rebuild the world and restart the image. (Of course, that leads to some fun things where you can redefine True/False and break the image right there on the spot. Pharo seems to do a good job of blocking you from changing things like that so easily.) Smalltalk code "lives" in a database. You interact with that database. The code is also serialized to a file if you happen to want more conventional access, but that's not the normal route. Though serialization to files is how Pharo and others allow you to interact with git and collaborate with other people.