I use Pharo as my primary personal projects development language (Racket is a close second). What slows me down is the lack of documentation. This has had the effect of making me seriously consider contributing to the project, given time and energy of course.<p>I am building several small web applications based on Seaside, JQuery, Bootstrap and SQLite. With very cheap hosting (e.g., Pharocloud, DigitalOcean) I am planning to throw lots of these things up and see which ones stick. I like this strategy better than the usual start-up strategy of spending lots of time and energy on one thing at a time. With Pharo, this is comparitively faster - reuse is easy, deploying an image is easy, and building apps with Pharo is easy. I love Pharo.
Coincidentally, there is another thread going on right now, "A Eulogy for Objective-C".<p><a href="https://news.ycombinator.com/item?id=10003438" rel="nofollow">https://news.ycombinator.com/item?id=10003438</a><p>Since Obj-C is considered a descendent of Smalltalk, it's pros and cons are briefly mentioned as to the motivation behind Obj-C.<p>Here's an excerpt:<p><pre><code> But there was a problem, once again, with this idea of the whole image that took over everything. You had to really swallow the whole Smalltalk build, you had to go all the way in to this world, and you were going to give up everything you had ever done before to become part of the Smalltalk image. Then, when you were done, you would ship this image to people, they would start it up on their computers, and it would take over everything.</code></pre>
No enough jobs in the market. Of the 800+ posts in this month's who-is-hiring thread none mentions Smalltalk. I can imagine you were hoping for insights into the syntax, data structures, speed or available library but for a lot of people job prospects/making money will be a reason not to start to learn or use Smalltalk.
I enjoy the interactive development experience, but the idea of stashing all this code around a running system in a large team in a way that makes it hard to tell exactly what you have strikes me as dangerous.
I poked around at it in the past, and the biggest impediment I found was the need for opaque and specialized development tools. This may not be universally true, but from what I saw, most Smalltalk environments require you to use their specific IDE/editor, and then it saves your code in some proprietary (binary?) format. So it's not as simple as just editing a file with Emacs or Vim and running<p>#> smalltalk myfile.smtlk<p>or whatever.<p>Beyond that, it's just quite a bit different from a lot of other languages people might be familiar with, like, say, C or Python. OTOH, it's not any <i>more</i> different than Lisp.<p>I always heard good things about Smalltalk, but there was never anything so compelling that it swayed me into investing the time to learn it. But I'm open to being convinced, even now.