This post originated from an RSS feed registered with Java Buzz
by Bill de hÓra.
Original Post: The scalability of programming languages
Feed Title: Bill de hÓra
Feed URL: http://www.dehora.net/journal/atom.xml
Feed Description: FD85 1117 1888 1681 7689 B5DF E696 885C 20D8 21F8
Ned Batchelder: "Tabblo is written on the Django framework,
and therefore, in Python. Ever since we were acquired by Hewlett-Packard two
and a half years ago, there's been a debate about whether we should start working
in Java, a far more common implementation language within HP. These debates
come and go, with varying degrees of seriousness."
For anyone coming from Python and looking at the type system side of things, and not socio-technical factors such as what particular language a programming shop prefers to work in, I would recommend Scala over Java. It has a good type system, allows for brevity, and some constructs will feel very natural (Sequence Comprehensions, Map/Filter, Nested Functions, Tuples, Unified Types, Higher-Order Functions). Yes, I know you can run Django in the JVM via Jython, I know there's Clojure, and Groovy too. This is just about the theme of Ned's post, which is the type system. And Scala has a better one than Java.
James Bennett: "The other is that more power in the type system ultimately runs into a
diminishing-returns problem, where each advance in the type system
catches a smaller group of errors at the cost of a larger amount of
programmer effort"
Sure, maybe
at the higher order end of the language scale. But in the industry
middle, there's less programmer effort around Scala than Java, modulo
the IDE support but that changes year by year.
Anyway, the real problem with Python isn't the type system - it's the GIL ;)