4 ms·
Didn’t have time to go through it all, but quickly scrubbing I didn’t see any mention of a UI. doesn’t SmallTalk by definition include a UI component?
by uticus 3y ago
Didn’t have time to go through it all, but quickly scrubbing I didn’t see any mention of a UI. doesn’t SmallTalk by definition include a UI component?
- sebastianconcpt 3y agoLet's not couple concerns prematurely please. I need Smalltalk for a lot of backends that have nothing to do with UI.
- sebastianconcpt 3y agoI can barely believe this comment was downvoted. For design sake, I hope the downvoters were not Smalltalkers.
- em-bee 3y agoif you are already running backends in smalltalk, which implementation are you using?
- sebastianconcpt 3y agoPharo 10 instances at this time. I saw Pharo 6 and 7 and some 10 instances serving dozens of thousands operations per second in production reliably for years.
- em-bee 3y agoi haven't looked at pharo in a while. but when i did the thought of running it headless seemed a bit daunting. has that improved in any way?
- sebastianconcpt 3y agoYou kind of need to know what you're doing to evade pitfalls. Related: ST 4U 282: Preparing a Pharo Image for Production - https://www.youtube.com/watch?v=TQfKnSR6izY https://www.youtube.com/watch?v=TQfKnSR6izY Overview of Pharo Web Stack [W4S7-EN] - https://www.youtube.com/watch?v=okHHUu9jsw0 https://www.youtube.com/watch?v=okHHUu9jsw0 How to setup a Pharo project - https://www.youtube.com/watch?v=Wnt3OBhR18I https://www.youtube.com/watch?v=Wnt3OBhR18I (although for CI I recommend using GitHub workflows these days) Application development with Pharo - ESUG 2022 - https://www.youtube.com/watch?v=FdZUAWH__vk https://www.youtube.com/watch?v=FdZUAWH__vk Lastly, I'm working in using htmx and use Smalltalk stateless - https://www.youtube.com/watch?v=4_gmvN0pimI https://www.youtube.com/watch?v=4_gmvN0pimI
- sebastianconcpt 3y agoAlso this little handy thing can help you feel powerful to examine images running in production https://github.com/sebastianconcept/REPLEndpoint https://github.com/sebastianconcept/REPLEndpoint
- em-bee 3y agothat's neat! i can see myself using that. but there is also a commandline repl: https://github.com/svenvc/NeoConsole https://github.com/svenvc/NeoConsole and other tools: https://github.com/svenvc/minimal-pharo-server-tools https://github.com/svenvc/minimal-pharo-server-tools and thank you for all those links. i hope other readers will find them as well
- sebastianconcpt 3y agoGlad it help! If you find any other bump don't hesitate to ask in the Discord server - https://discord.com/invite/QewZMZa https://discord.com/invite/QewZMZa The guys there enjoy being helpful.
- deleted 3y ago[deleted]
- arnsholt 3y agoNormally they do, but some implementations (notably GNU SmallTalk) are so afraid of the SmallTalk way of doing things that they use source files instead, which IMO removes a large part of the attraction of using SmallTalk at all.
- sebastianconcpt 3y agoAs a full-stack engineer and old-time smalltalker I wholeheartedly agree. Minimal images without UI and a kick-ass package management system should be the foundation of whatever else you want to build with it.
- jhbadger 3y agoAnd in the 1980s there was Little Smalltalk, which ran on UNIX systems normally accessed via terminals, so it was also file-based without a GUI. https://en.wikipedia.org/wiki/Little_Smalltalk https://en.wikipedia.org/wiki/Little_Smalltalk
- cmrdporcupine 3y agoThe image-based nature of Smalltalk-80 is both a positive and a negative. Inability to interoperate seamlessly with a "standard" developer workflow (editors, revision control, deployment) has, I'm pretty sure, hampered adoption. I know there are tools and workarounds, and I'm quite familiar with how things are done there, and I used to be a huge advocate of the Smalltalk style approach. But over time, I've come to see two sides to this discussion.
- tonyg 3y agoNo, not necessarily. Various Smalltalks have a wide range of different approaches to UI and IO more generally. This (their "operating system aspect" https://eighty-twenty.org/2019/01/13/why-learn-smalltalk https://eighty-twenty.org/2019/01/13/why-learn-smalltalk) is the area in which they're most diverse, in fact. For instance, GNU Smalltalk has, by default, only a REPL, while Smalltalk 80 has a bitmapped GUI.
- lovelyviking 3y agohow hard it would be to get from squeak a minimum subset of objects required for basic repl (excluding graphics and sound) for bootstrapping?
- tonyg 3y agoIt can already kind-of do a REPL, so it'd be about making sure access to that functionality was robust, and then it's a matter of removing packages from the system until it's as small as you'd like. Assuming a subtractive approach, of course. There are other interesting subtractive approaches like Craig Latta's "Context" (nee Spoon) http://www.netjam.org/spoon/ http://www.netjam.org/spoon/ which does something a bit like a page cache, marking used methods, classes, etc and eventually garbage-collecting those not used. In Craig's system, there's an upstream over the network from which missing classes/methods/etc can be faulted in, so this isn't as scary as it sounds. Then there are the additive approaches, which I've kind of lost track of, but there are several on the go, for compiling a fresh image from scratch from sources.