Miles Fidelman (at Quora) and I were having an argument about the suitability of Smalltalk (Pharo) for large maintainable software projects. The problem is, I've never used Smalltalk in a commercial setting, esp. with respect to large projects. Without that experience, I am wholly unqualified to answer his response, which follows...
*I just spent a little time looking at a couple of big projects that use(d) Smalltalk - JWARS & the Seaside web server. And I discovered that both have basically avoided the “live coding environment” aspects of Smalltalk. JWARS incorporates a lot of access & configuration controls that limit who can change which parts of the system. Seaside seems to follow standard development processes - with a version control system, and formal releases. Which kind of reinforces what I see as issues with Smalltalk from a system building & maintenance point of view: 1) When everything is a work in progress, it’s impossible to manage a project, maintain deployed code (“what version do you have, what did you modify? clearly that’s where the bug is”), update things (interfaces change, updates overwrite local mods), etc. 2) The typical deployment model is to deploy a completely new virtual machine & environment. For some things (e.g., servers), that works - and seems to be the way of the world with containerization - but for other things (e.g., desktop applications), deploying an entire new environment for every patch is just a bit match. 3) Gross violation of “principle of least privilege.” Live code, particularly multi-user code, that can be modified by its users - now that is a surefire recipe for disaster.* -- View this message in context: http://forum.world.st/Can-anyone-answer-this-tp4955861.html Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.