Carmack about static analysis

bearophile bearophileHUGS at lycos.com
Thu Feb 9 14:34:09 PST 2012


Bruno Medeiros:

> the needs of large, long-lived, multi-programmer 
> projects are just different than the quick work you do for yourself."
> that throws a jab at a lot of the obsession with dynamic languages that 
> goes on out there.
> It's something I've echoed in the past, especially when people start 
> comparing languages to one another using small code snippets, and 
> picking on issues/advantages that actually are only significant when 
> writing small sized code, but not at all for medium/large sized apps. 
> (the Hello-World Snippet Fallacy?)

Many programs are small or very small, and they will keep being small. I write many of those. So there are many situations where paying for a lot of "infrastructure" and bondage in your code isn't good. (Haskell programmers sometimes don't agree with this idea, but the world of programming is large enough to allow two persons with very different opinions to be both "acceptably right", both are able to find a way to write code in a good enough way).

>From my experience dynamic languages as Python are very good (often better than D, unless the problem being explored requires a large amount of computations) for exploratory programming. Usual such "explorations" are done on short programs, so this is also a special case of the precedent point.

Comparing languages with small code snippets doesn't tell you all you want to know about how a language scales for very large programs, of course, so they aren't enough. But such small snippets are very useful any way because large programs are mostly made of small parts; and it's still true that being able to remove one line from a group of 4 lines sometimes means reducing the size of a large program by 10% or more. So little syntax niceties matter even for huge programs. This is also why (as example) Python list comps are very useful for programs one million lines of code long too.

Bye,
bearophile


More information about the Digitalmars-d mailing list