Smalltalk’s Proven Productivity


[Updated: November 4, 2017.]

You often hear about Smalltalk’s productivity advantage over other languages such as Java, JavaScript, and Python. Depending on who you talk to, this advantage ranges from 1.5X to 2–5X. In my own experience, for smaller projects, it’s around 3X. This is all anecdotal, of course, but is there actual scientific evidence to back it up? In fact, there is.

According to Namcook Analytics (Table 16), JavaScript is one of the least productive programming languages in the world (measured by “economic productivity” in terms of number of work hours to deliver 1,000 function points):

  1. C — 26,273
  2. Fortran — 22,394
  3. JavaScript — 15,929
  4. Forth — 14,636
  5. Haxe — 14,636
  6. Lisp — 14,636
  7. C++ — 12,697
  8. Go — 12,697
  9. Java — 12,697
  10. PHP — 12,697
  11. Python — 12,697
  12. C# — 12,309
  13. Dart — 11,620
  14. F# — 11,312
  15. Ruby — 11,312
  16. Erlang — 10,758
  17. Elixir — 9,845
  18. Haskell — 9,845
  19. Julia — 9,465
  20. Perl — 9,465
  21. Delphi — 8,289
  22. Objective-C — 7,848
  23. Visual Basic — 7,848
  24. Eiffel — 7,156
  25. Smalltalk — 6,879

As you can see, Smalltalk easily trumps JavaScript, Java, Python, C#, and Ruby. The interesting thing about this study is that it goes beyond simple coding and programming; it takes the entire software project into consideration, which is what business executives care most about. They want to know the full cost of applications and their complete schedules from requirements through delivery. They also want to know multi-year maintenance and enhancement costs plus total cost of ownership (TCO).