4 ms·
One of the things to appreciate with Pharo Smalltalk is a code snippet isn't a code snippet. Pharo is not a filesystem/.txt coding environment. It's a VM runt
by urthor 4y ago
One of the things to appreciate with Pharo Smalltalk is a code snippet isn't a code snippet.
Pharo is not a filesystem/.txt coding environment.
It's a VM runtime with every single element is indexed by the class/traits hierarchy. And then the same code draws the GUI.
OP didn't just write a code snippet.
They wrote a method, tested it in an already launched dynamic runtime.
And deployed it into a desktop app in front of you.
Forget Jenkins, Docker-Compose or Make, their deploy tool was copy/paste.
It's truly a pity that desktop based applications are not popular in the current age, and phones are locked down.
Smalltalk remains truly unparalleled at producing local apps. 30 years after its heyday, SwiftUI is still a shadow of what Smalltalk can do.
- melvinroest 4y agoMy favorite example: as the game is easily extendable. https://github.com/pavel-krivanek/PharoChipDesigner https://github.com/pavel-krivanek/PharoChipDesigner
- rscho 4y agoVery nice! Thanks for sharing!
- arnsholt 4y agoFrom 2016 to 2018 I worked on a complex case management application that was implemented in Smalltalk. It ran on Visual Smalltalk Enterprise (last updated in 1999! But the app was first put into production in 1996...) which is really quite crufty compared to Pharo, but the development experience still blew me away. The Smalltalk way of working takes some getting used to, but once I got into the swing of it, it was the the smoothest development process I've had: you log into the app and do your stuff. Poke some bugs, try to reproduce them, maybe find some completely unrelated error, and whenever you update the code you just save the methods and pick right back up from where you left off.
- agumonkey 4y agoIt's gonna be part of a benchmark for how long until "engineers" realize they're stupid.
- indigochill 4y agoEngineers are still just humans which means they're susceptible to marketing same as any other human. Much of the evolution of popular programming languages is just marketing, most obviously in the case of Javascript.
- agumonkey 4y agoPartly true, partly not true. It's somehow sad to see educated people falling for these tricks. But actually my issue is not about people being diverted by market dynamics.. i can empathize with that. It's the non recognition, non interest when presented with these artefacts. No curiosity, no reading grid to analyze systems or ideas.. shallow reflex criticism .. super odd to me.
- urthor 4y agoKeep in mind that there are some very good reasons the Smalltalk ecosystem wasn't adopted. #1 it's a burden of knowledge to shift from the Unix filesystem to the Smalltalk runtime. There... are no files. #2, quite honestly Pharo Smalltalk has only gotten good in the last 3-4 years. And even then, it has 1-2 really noticeable bugs and what I'd argue are extremely subpar default keybindings, due to it being such a small community. For 30+ years, the only really decent run-times were paid ones you bought for $1k per developer in 1980s dollars. No FOSS. IMO the programming language ecosystem we have today was heavily cemented in the 2005-2010 period. These days the JVM/Python/Javascript/C ecosystems are huge juggernauts. They're not about the programming languages themselves. They're about the massive integration with their underlying compilers, and massive library of tools available. #3, it's a dynamic language for obvious reasons. It's hugely beneficial for applications development, but it's still a slow dynamic language for backend work. And #4. The elephant in the room: End users are divided between Windows, MacOS/BSD, and locked down phone platforms, nobody makes native applications. Everything is a webapp, because an HTML page is truly cross platform. I don't think engineers are wrong to congregate towards webapps. SwiftUI is still extremely amazing after all, but it only produces native MacOS apps. Which is rubbish. But it's important to know your tools, deeply, and understand the context behind the application development industry.
- electroly 4y ago"Image-based" is typically how this is described, e.g. https://wiki.c2.com/?ImageBasedLanguage https://wiki.c2.com/?ImageBasedLanguage