Tuesday, March 06, 2007

One Reason Why Enterprises Don't Like Dynamic Languages

I believe one of the major reasons object-oriented dynamic languages like Smalltalk, Python, Ruby aren't widely used in enterprises is really well outlined on page 3 of this article in e-Week:

"But it's just coming into its own where you could defend it to nontechnical people as a language on which you could develop enterprise software. One of the things we have going for us is, because we're founded by computer scientists, we don't have to defend our use of that programming language because it's not Java," Kelley said.

"We have a wonderful ability here to choose the right tool for the job. We have components that are written in Java, in C++, in Python, and Ruby and Perl. [Python is] definitely viewed internally here by some of the best computer scientists in the world, people from MIT's AI [artificial intelligence] and CS [computer science] labs, as enterprise worthy," he said.

Once again, a combination of laziness and CYA win out over the imperative to deliver real business value such as:

... all kinds of productivity and cost benefits, including lower cost of maintenance, better ability to integrate with modern architectures, and the ability to add components and enhancements more easily than with the mainframe, Kelley said.

There is also a great quote about line-coders vs. problem solvers, but I'll leave it up to readers to find that gem. I also have to add that from personal experience, it's a whole lot easier to teach a bunch of mainframe and COBOL programmers Python than it is Java or C#. In fact, it was really just a matter of pointing them in the direction of Python, asking them to use pyUnit and let them run wild. On the other hand, teaching them Java drained tens of thousands of dollars from my operating budget!

No comments: