Skip to content

Comment on Why Dynamic Languages are a Startup's Secret Weapon

Comments

When people say "dynamic languages" what is it that they mean? The typing system? If so, how can typing really effect productivity as drastically as this article (and other people I've heard) claim?

It seems to me that what is really at play here is good language design, good libraries, good sample code, good tutorials, a good community. I honestly don't understand how a statically typed language would be at such a humongous disadvantage to a dynamically typed language.

I ask in ignorance. I spend most of my day in Java and I hate it, but I rarely curse the types... What am I missing here!?

Java's problems are far worse than just typing. I consider lack of lambdas to be much more limiting.

Types contribute greatly to the verbosity and line noise of Java. They also are a big part of the reason design patterns and complex hierarchies are abused in the language. The duck typing that is common in dynamic languages can be a tremendous help for the reuse of code. Open classes also enable code to be reused in ways that had not been intended. These are dangerous features, but used effectively they can result in great productivity.

The writer does not make clear what is meant by "dynamic languages". It could mean any of (for argument's sake) Lisp, Ruby, and PHP.

But I can't see anyone putting those languages on equal footing. Merely being "dynamic" in some sense is insufficient.

Further, the author says, 'I never really considered the “why” of Java, as that would interfere with my unbridled hate. ', leading me to think there's been very little investigation into different type systems.

This comes off as simply "I like Rails over Java".

Fair enough (and the last point certainly is true). My use of "dynamic languages" was a lazy way of referring to several less strict, highly expressive languages. I used it in the sense that Yegge used it in his talk that I link to. While writing it, I had Ruby, Python, and Smalltalk in mind.

I should point out that my lack of consideration of Java was more due to my perception of it being C++ (a language that I have written far too much of) without all the fun or peril.

You are entirely correct that it isn't the type system that makes a language, but it does provide a convenient if highly inaccurate way to speak broadly about a set of languages.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.