Search code examples
programming-languagesenterprisedynamic-typing

Deserve dynamic typed languages all the criticism?


I have read a few articles on Internet about programming language choice in the enterprise. Recently many dynamic typed languages have been popular, i.e. Ruby, Python, PHP and Erlang. But many enterprises still stay with static typed languages like C, C++, C# and Java.

And yes, one of the benefits of static typed languages is that programming errors are catched earlier, at compile time, rather than at run time. But there are also advantages with dynamic typed languages. (more at Wikipedia)

The main reason why enterprises don't start to use languages like Erlang, Ruby and Python, seem to be the fact that they are dynamic typed. That also seem to be the main reason why people on StackOverflow decide against Erlang. See Why did you decide "against" Erlang.

However, there seem to be a strong criticism against dynamic typing in the enterprises, but I don't really get it why it is that strong.

Really, why is there so much cristicism against dynamic typing in the enterprises? Does it really affect the cost of projects that much, or what? But maybe I'm wrong.


Solution

  • It's probably more about what people are familiar with than anything else. From a manager's point of view, he/she needs a good reason to use a technology that:

    • May have never been used by the company on a project,
    • No one on the team has any experience with,
    • Does not (appear to) have the backing of a solid "Enterprise" company such as Microsoft, IBM, etc

    These factors are especially important if the project needs to be maintained for many years down the road.

    I am not defending this point of view, just pointing out that it exists and may be a source of this criticism.