Aktuelle Änderungen Printable View Änderungen Bearbeiten
EmacsSolutions > RichardGabriel > CodeCompletion > AutoCompletion > TotalCommander > UsefulTools > XmlWithClojure > GuidoVanRossum > ImplicitTyping > HygienicMacros > SyntacticSugar > TabbedBrowsing > ProperTailCall > Recursion > MercurialVsGit > VirtualMachine > LargeScaleAppsClear TrailLanguages don't matter. Technology doesn't matter. It's culture and it is people that matter.
The safe answer, for the Big Enterprisy Thing where you have no interest in being on the cutting edge, is C#, Java, PHP, or Python, since there's so much evidence that when it comes right down to it zillions of people are building huge business-critical things in those languages and while they may have problems, they're not life-threatening problems.
IDEs have been the last excuse for many people to not use dynamic languages, and it's a very good excuse. But even without a top-notch Python IDE like Wing (wingware.com), I feel more productive in Python + Emacs than in C# + Visual Studio, or Java + Eclipse. [1]
"I cannot imagine how the dynamic folks can maintain medium to large projects without refactoring over several iterations over several years of requirement additions and changes."
Perhaps they compose larger software from smaller independent parts, rather than composing large software from large interdependent parts.[2]
We can focus on reducing the amount of code we manage by using libraries, and there is certainly plenty of that going on in Javaland. We can also add higher-level features to our languages. Doing so reduces the total lines of code required to solve a problem and the cognitive load required to maintain a program.
Think about how many lines of code in Java are wasted on getters and setters that do nothing beyond the standard behavior, and how many times you have to type bar.getFoo() rather than just bar.foo. Yes, I know that Eclipse generates the getters and setters for you, but you still have to read through all of that muck when you’re trying to figure out what a program does.
| Language | Application | LOC App | LOC UnitTests | Source |
| Python | PyPy | 50k | 14k | [3] |
| Python | PyPy + Toolchain | 230k | 62k | [4] |
| Windows 2000 | 29m | [5] | ||
| Windows Vista Beta 2 | 50m | [6] | ||
| Office | 30m | [7] | ||
| Debian 3.1 | 213m | [8] | ||
| Mac OS X 10.4 | 89m | [9] | ||
| Linux Kernel 1.6.0 | 6m | [10] | ||
| various | Amazon | 100mio | [11] | |
| EmacsLisp | Emacs | 941.364 | [12] | |
| Emacs | 1.225.566 | with comments | ||
| Lisp | Maxima | 430.000 | [13] |
The relationship between lines of code and bugs is completely linear. Fewer code means fewer bugs. [14]