With constant demands for
cost-savings, it is rewarding for us to have a development tool that is both appropriate and productive.

Lennart Stenberg, Swedish National Tax Authority

Cincom Smalltalk vs. Ruby

Cincom Smalltalk is a cross platform development and deployment technology that helps developers build applications quickly and efficiently from highly scalable web, and Web 2.0 applications to classic client/server system. But how does it stack up against the competition?

Take Ruby, for example. Ruby is an interpreted, object-oriented programming language, having many similarities to Smalltalk. Ruby was conceived in February 1993 by its creator, Yukihiro Matsumoto. Yukihiro knew Python and Perl languages, but didn’t like them for various reasons. The language he envisioned had to be truly object-oriented. Thus, Ruby was developed borrowing the best features of Smalltalk, Perl, and Python.

Comparisons

Cincom Smalltalk:

  • Was built in a research lab by a select group.
  • Was built over a decade, with no product pressures.
  • Had the goal of making computing easy for people.
  • The research lab’s work has influenced and shaped modern computing.

Ruby:

  • Its initial design was totally object-oriented.
  • It is very easy to learn, taking only days instead of weeks.
  • The intent was to make it easy to do things that people do most of the time.
  • Is often described as “Smalltalk-like.”
  • Is portable, developed on Linux, but works on UNIX, DOS, Windows 95/98/Me/NT/2000/XP, MacOS, BeOS, OS/2, etc.
  • Although Ruby was introduced in the mid 1990’s, it has only recently enjoyed larger popularity when the Rails framework was introduced in 2004/2005.

Strengths and Weaknesses

Cincom Smalltalk’s Strengths:

  • Enjoyment – Cincom Smalltalk is pure Object -Oriented. Developers achieve more and enjoy doing it.
    • Better morale and employee retention.
    • Developers have said, “They did not get object -oriented programming, until they learned Smalltalk.”
    • Developers feel more capable in any object-oriented language, after having learned Smalltalk.
  • Maintainability – Cincom Smalltalk can handle vast changes quickly and easily, as evidenced by Cincom Smalltalk client, JPMorgan – complex derivatives.
  • Scalability – Cincom Smalltalk can scale tremendously, as seen by Cincom Smalltalk client, EZ Board – has 30 million users.
  • Consistency – Cincom Smalltalk is incredibly robust and reliable, as demonstrated by Cincom Smalltalk client, Money Markets System – $6 billion in trades per day.
  • Learning curve – Cincom Smalltalk is faster and easier to learn.
  • Productivity – Cincom Smalltalk is more productive than any other mainstream language.
  • Portability – developers using Cincom Smalltalk can develop on their favorite platform and then deploy to any other platform with no changes.
  • Productivity – Cincom Smalltalk programmers typically solve a given problem faster and write one third to one half of code produced by programmers using other languages. This enables Cincom Smalltalk to be a very productive and strong prototyping tool.

Ruby’s Strengths:

  • Is extremely dynamic and extensible.
    • Literally hook into Ruby everywhere.
    • Replace methods of a whole class.
  • Handles meta-programming (the writing of computer programs that write or manipulate other programs or themselves as data) with ease.
  • Is simpler and easy to use.
  • Active Record (an approach to accessing data in a database. It is primarily used and known in “Ruby on Rails” contexts and not Ruby by itself) object-relational mapping and integration.
  • Has a healthy community and awareness in the Java community.
  • Has a good virtual machine.
  • Good commercial backing in Japan.
  • Ranks #9 among programming languages worldwide, according to the TIOBE index.

Ruby’s Weaknesses:

  • Ruby runs slower than many compiled languages (typical of interpreted languages).
  • The Ruby debugger lacks operability compared to Smalltalk.
  • Currently lacks support for Unicode or multi-byte strings.
  • Has backward compatibility problems.
  • The Ruby virtual machine (VM) is much slower than Cincom Smalltalk’s virtual machine.
  • Ruby can do meta-programming, Smalltalk is at least as capable (and arguably more so) at meta-programming.

Objections

The risk of choosing the wrong technology and selecting the “right” language. Robust modern development frameworks are increasingly leveraging the capabilities that a dynamic language (like Smalltalk) offers.

Summary

With Cincom Smalltalk, you get a better return on investment (ROI). You can develop better applications, faster and with a smaller staff. You can maintain and enhance applications with a smaller staff (less code = less maintenance). You can also react to changes in your business domain faster than the competition.

Avi Bryant, the creator of the Seaside framework, started in Ruby and moved to Smalltalk to complete Seaside. Developers who appreciate the capable Rails framework will find that Cincom Smalltalk, integrated with the proven Seaside framework, will take them to the next level.

Additionally, Cincom® VisualWork®’s advanced Smalltalk virtual machine is far faster than current Ruby implementations. Our virtual machine uses “just-in-time compilation” or is “Jitted.”