The last generation of programmers began to understand languages such as Fundamental to learn Java as their second or third programming language and then went up to learning C and C++.
The other most curriculum was designed to teach both C and C++, and there were no pythons, at least not in our college, at those days. The C & C++ was more prevalent than Java.
It’s true * we always make no choice, and we learn in classrooms and classes as part of the programming curriculum. In my day we taught C++, VB, VC++ and eventually Java, and then the first language programming in our engineering college.
Java is one of the best programming languages ever developed, not because I am a Java developer who is enthusiastic, but Java has shown it over the last 20 years. For any programming language, two decades is a huge time, and Java gains strength every day. While Java development is slowing down at times, Java has reacted successfully. In the past, revolutionary modifications to Enum, Generics, and Auto boxing in Java 5, Java 6 performance enhancements, lambda-language functional programming in Java 8, and the use of Google’s language for designing Android applications preserve Java as a language of front-line programming.
Why is Java so good?
Easy grammar – the Java grammar is really easy, and anyone with C and C++ experience needs to have 99.9%. The Java BNF has some 50 rules; the C++ has around 140 rules. And in addition to grammar, C++ has templates and a preprocessor. In 1.5, Java has only got a little more difficult (sorry, Java 5). A new version of the language species has not yet been published.
Simple APIs-If the standard Java * libraries are installed and you are happy to write your code, you will be waiting for it on the computer.
GarbageCollection-the programmer has no memory problem (mostly)
VM — see WhyVirtualGreatMachines
Class vs. interface
CheckedExceptions (some people hate this (some people love it)
Inheritance in one class
Singly embedded class hierarchy (which is not killer because of lack of templates)
No overloading of Operator