Creeping Featuritis
From my perspective, Java, C#, and C++ all belong in one category: statically typed, feature-rich, straightjacket programming languages. The static typing imposes a complexity and messiness that outweigh any safety benefits. The innumerable features also needlessly add complexity to the language, making them a poor substitute for “metaprogramming,” which is a powerful facility found in Smalltalk, Lisp, and other dynamic languages. The end result is a basic lack of flexibility and versatility which leads to my term “straightjacket.”
In other words, Java, C#, and C++ are, in my opinion, mere variations of a basic language paradigm. To compare the languages among themselves and say that one is “better” than the other because of this feature or that is a silly exercise in semantics...they share the same essential drawbacks, after all.
We need to get away from static typing. We need a minimalist language, one not encumbered by numerous features of convenience. Language designers just can't help "evolving" their languages by continually adding more and more features. For example, look at C# and Ruby. Beware of Creeping Featuritis.
In other words, Java, C#, and C++ are, in my opinion, mere variations of a basic language paradigm. To compare the languages among themselves and say that one is “better” than the other because of this feature or that is a silly exercise in semantics...they share the same essential drawbacks, after all.
We need to get away from static typing. We need a minimalist language, one not encumbered by numerous features of convenience. Language designers just can't help "evolving" their languages by continually adding more and more features. For example, look at C# and Ruby. Beware of Creeping Featuritis.
0 Comments:
Post a Comment
<< Home