[OT] Ada gems

via Digitalmars-d digitalmars-d at puremagic.com
Wed Oct 15 01:40:02 PDT 2014


On Wednesday, 15 October 2014 at 07:27:38 UTC, eles wrote:
> In defense of C++, beyond its C roots & compatibility, it also 
> have been the language that made the mistakes useful for the 
> other languages. That is, Java and C# capitalized on C++'s 
> mistakes by simply not repeating them. Of course, mistakes are 
> obvious only after they are made and, as such, C++ was in the 
> weakest position, just like any pioneer.

I guess you could say that, but the reality is that C++ has been 
considered a bad language design from the start in academia. C++ 
wouldn't have had any chance without full C compatibility.

C++ is one more proof that installed based and gradual adoption 
in combination with supporting "The Next Big Thing" (OO) is the 
easy path to dominance. You could always defend using C++ by 
saying that you used it as mostly C with some bells and whistles 
(such as explicit inlining, overloading, vectors, complex numbers 
etc), so you did not have to learn C++ to start using it if you 
knew C. (Objective-C requires much more effort from the 
programmer)

Java primarily capitalized on educational institutions having a 
positive attitude towards SUN as a company. SUN was run by true 
engineers. In addition Java was marketed as a language for the 
web (which was hyped in the mid 90s) so educational institutions 
got what they wanted:

1. A language that students would be motivated by, being able to 
run programs in web browsers (which didn't turn out to work very 
well in reality). It was common for universities to use clean 
languages that nobody in the real world used.

2. A language that was simple, safe and had a garbage collector 
and provided all the mechanisms needed to teach CS and OO (Java 
was as close to Simula as you can get).

3. A language for which many educational books were being written 
(important when you select a curriculum).

Once you get educational institutions to force feed students with 
a language you win. I am not sure if Java would have survived 
without it.

For some reason Microsoft did not make that strategic move until 
much later. I think Bill Gates was the reason, MS pushed Visual 
Basic too much to be taken seriously… So eventually they had to 
create their own incompatible "Java" (C#)  in order to keep 
collecting Windows-tax in the business environment.



More information about the Digitalmars-d mailing list