Pharo at Beta Nine
medium.com
medium.com
Pharo is an amazing environment and it is good to see companies deploying commercial web services using it. I mostly use Pharo for NLP.
edit: I just realized that the author of this article is the author of several Pharo libraries that I depend on. Thanks!
GNU Smalltalk has an Emacs interface:
http://www.gnu.org/software/smalltalk/manual/html_node/Emacs...
I don't know how accessible Emacs is to you, but it should at least be textual.
GNU Smalltalk also has a REPL:
http://www.gnu.org/software/smalltalk/manual/html_node/Getti...
Now, how does a traditional Smalltalk interact with a VCS? Poorly. Smalltalk was all about image-based persistence, with textual source code not being the primary artifact. Philosophically, it was designed to be an environment, and take over the system from soup to nuts.
GNU Smalltalk, predictably, goes its own way, and allows people to load textual source code files from the command line. It also has a more complicated packaging system:
http://smalltalk.gnu.org/wiki/creating-and-distributing-pack...
Now, you can do scripting with Pharo too, but using console to edit it is so alien for us that we cannot even understand why someone would want to drop a complete development environment (with some really nice tools), just to use a text editor...
Frankly, the fact you don't get this means I can't use your product. It promises to be painful to work in.
That is not universally true. For example, the American military used to require the use of Ada. This is no longer the case but I doubt they would buy software built with Pharo.
In the same way big corporations often insist on Java, or at least a JVM-based solution.
Now, I am getting more and more into Emacs. I like SBCL a lot, and I have played with it more. But Smalltalk also has an appeal, with similar ideas in live persistence coding. However, I am more comfortable with GNU Smalltalk.
Problem is Pharo has the powerful CogVM. How performant is GNU Smalltalk in relation to Pharo. If I wanted to run the same Seaside infrastructure as these dudes (there is a fork of Seaside included in GNU Smalltalk from the start), would it collapse under loads Pharo's CogVM can handle?
This is just out of curiosity. Obviously this is armchair engineering 101, but I would be interested to know more about this. There is such little interest in Smalltalk at scale it is hard to find this info with limited searching.
There is talk here of Shampoo, which allows Emacs to do many of the things you suggest within a textual environment like Emacs.
I understand you have your preference (and I know your name comes up with Pharo on the net; I have seen it before and I can tell you are active in the community, so I say this out of respect), but I just wanted to try something I am more comfortable with to ease my transition.
curl get.pharo.org | bash
./pharo Pharo.image config URL PROJECT VERSION
./pharo Pharo.image http --start 8080
then they can reproduce last line as much as they want:
./pharo Pharo.image http --start 8081
./pharo Pharo.image http --start 8082
etc.
But my point was that if someone has started "./pharo Pharo.image .." on a production service and modified it live, then it'll be a problem (what if you haven't saved, or your changes were not propagated yet to the source version control system?) - also how this would propagate changes to other slave machines running it there too?
But it's pretty cool and advanced when developing the system. I'm now stuck a bit with Java/GWT, and I'm glad that there is SuperDevMode which incrementally compiles java->javascript (and few other things). Still its far away from Ctrl+X+E on your block in Lisp.
I know this is not the point of your argument. I agree with it in fact.
But there is no sysadmin in the world that I have met who would not wig out at that part. This is the difference between me, free-wheeling tinkerer and Linux enthusiast, and sysadmins who build infrastructure for verified systems. You are just proving their point.