Archive for the 'Smalltalk' Category

Why use Smalltalk?

July 30, 2009

Even if this was written by someone who is (perhaps too) deeply involved in Smalltalk world, it still got some points that should make you think.

Now, if you are of that kind and don’t want to take your head out of… the sand, then simply ignore this. For everybody else, no matter how skeptical you might be, at least some of this should get your curiosity juices flowing:

Top Ten Reasons to Use Smalltalk


Smalltalk – not just for big players

February 14, 2009

Remember your early days when you were a kid and how you loved playing with your toys. Imagine programming so joyful you’d want to do it a little bit longer even if your dinner is getting cold and somebody is not too happy about it. Imagine having fun while refactoring code. Where can you get this nowadays? And you can get it for free.

I admit it. I’m newish here and I’ve been playing with Smalltalk for only about few months. This explains the excitement and I’ve never been so excited about programming. In the last two to three weeks I’ve had lots of those “a-ha” moments where suddenly all make sense. And just after I thought I understand some parts of it quite thoroughly, I get introduced to even leaner and simpler way of doing it.

Coding and code refactoring is actually fun with Smalltalk. It’s like having this big new toy where all the things I’ve learned so far get turned upside down. No more SQL, no more server and application restarts, no more multi-tier setups. Built-in persistence, instant state reflection, hot code deployment and unified language and tools are just some of advantages Smalltalk has to offer.

I’m sold.

Smalltalk image persistence – definitive developer advantage

February 9, 2009

Difference between good and bad application model design can make or brake the application. Having bulletproof app spec can help, but let’s not kid ourselves. There’s no such thing as rock solid application model. Models are prone to change every so often and you can easily paint yourself in the corner.

Any SQL based software suffers from this issue and there’s little you can do. ORM helps to offload this burden, but all it actually does is mask under laying SQL statements. With every update to SQL schema, you need to restart the database server, update application code, restart the application itself and hope you didn’t introduce another bug or two. If all goes well, users probably won’t notice few seconds of downtime.

The story is different with Smalltalk. For small to medium sized projects you can use Smalltalk image as data persistence. This offers quite some advantages, both while developing and when in production:

  • no need for third-party software (SQL servers)
  • no server and application restarts upon model change
  • you edit live code while application is being used
  • faster data access – data is stored in RAM, not on remote TCP accessed server
  • some serious tools to help you craft, debug and maintain your code like a pro 🙂

With real-time object reflection you can play with the application model all you want and still be on top of it. As there are no restarts and with changes visible the moment you make them, modeling becomes almost trivial compared to code-fu you need to do with SQL based models. It’s not all honey and milk, but the difference is big enough it should make you interested.

However, there is a down side too. You have to get used to Smalltalk. It’s so different you have to make the effort to really grasp it. Newcomers, including me, tend to leave too soon and not really take enough time to understand the power Smalltalk gives you. Don’t make this same mistake I did a year ago. If you’re interested in Smalltalk, invest the time to really understand it.

Smalltalk is primarily used by blue chip professionals

February 7, 2009

Few days ago I’ve posted a question on Stack Overflow and it went ballistic. Few thousands views and two dozen answers later I’ve got my answer: Smalltalk is still in heavy use today, primarily by professionals in various businesses. Ranging from transport logistic (OOCL’s IRIS-2) and financial services (JPMorgan’s Kapital) to web professionals using either Aida/Web or Seaside web frameworks for developing complex web applications.

While some answers exposed difficulties when using Smalltalk, most of them were void after some explanations. Smalltalk was presented as right choice for demanding and complex environments where high flexibility, robustness and speed of development are main requirements.

I encourage you to read all answers and consider Smalltalk as a possible solution for your next projects. 

Thanks to all who answered my question.