[ale] Language Jihad!

Benjamin Scherrey scherrey at innoverse.com
Wed Jul 18 12:51:58 EDT 2001


On Monday 16 July 2001 04:40 pm, Wandered Inn wrote:
> To do C++ right, requires a huge amount of setup.  It's worse than
> cobol.  You've got to create all your classes properly.  Now, to take
> advantage of this, you must reuse code.
>
> No one writes C++ properly, no one reuses code.  Personal experience.

	Good software is complex and requires a good architecture. C++ is one of the 
only languages that doesn't pretend otherwise. I've been developing 
platform-independent (this is different than just portable) software using 
C++ since 1990. I guess this means that I write C++ properly and reuse code. 
I know several others who do as well. Indeed, myself and a group of three 
other developers did in six months what was predicted to require a group of 
25 C programmers two years to acomplish. This kind of productivity 
improvement is common in projects I've participated in. 

	Critics of C++ claim its too complex. Certainly, to use all of C++, you've 
got a long learning curve. However, its not necessary to know more than 25% 
of the language's features to take great advantage of it. C++ was designed 
with the concept in mind that "you don't pay for what you don't use". So long 
as it keeps to this credo the language will endure forever. FWIW, its 
similarities to C are sometimes unfortunate in that C programmers have a more 
difficult time picking up the concepts than non-C or first time programmers. 
This explains much of the criticisms because most serious developers have a 
relatively strong C background. It took me about six months to really get it 
and C++ was a simpler language at the time (circa 1989). The biggest thing 
holding C++ back from completely replacing C is the lack of a "standard" ABI. 
Technically C doesn't have one either but it generally does abide by a 
defacto standard that's well supported on almost all platforms. C++ is 
finally addressing this (and has much more complex issues in an ABI than C) 
but we're still a few years away before one can write "pure" C++ code in an 
operating system and still link in applications/modules built by different 
compilers/linkers.

	I was an early proponent of Java but, unfortunately, it was too rushed and 
"standardized" on things that severely inhibit good architecture. I honestly 
expect Java to start dying within five years. I know this appears to be a 
radical prediction but I also predicted the demise of PowerBuilder back in 
1994, just when it had achieved its largest market penetration for similar 
reasons. These predictions were published in an IDG technical article and 
were considered quite shocking. Java will take longer to actually die because 
fundamentally it has many redeeming features, but it will undoubtably 
diminish greatly and be replaced by something else. 

	Now I'm big on python as an alternative language. I expect that it will gain 
credibility as a serious development language and, thus far, it has evolved 
naturally without any architecurally destructive aspects imposed on it for 
political reasons. I'd like to see tinker go away as the default GUI but 
there's not yet a good platform independent option to replace it (although 
PyQt and wxPython come close).

	regards & later,

		Ben Scherrey
--
To unsubscribe: mail majordomo at ale.org with "unsubscribe ale" in message body.





More information about the Ale mailing list