4 ms·
I see no difference between learning C++ and Java first. They both have equal ability to teach bad habits.
by sc68cal 15y ago
I see no difference between learning C++ and Java first. They both have equal ability to teach bad habits.
- ares2012 15y agoI agree. The author is confusing the language with how well it's used. Java still has the advantage of running within a virtual machine while being faster than interpreted languages. If you don't want to tie yourself to a single platform and require speed, it's still a good choice.
- marssaxman 15y agoHow is running within a virtual machine an advantage? That was one of the most prominent reasons I decided to give it a pass when it first came out.
- MatthewPhillips 15y agoCare to explain?
- sc68cal 15y agoPerfect example: The very first Java program you write when you learn Java. I have never seen anyone provide a sufficient explanation to absolute beginners about what "Public Static Void Main(String args[])" is since they don't have enough background to understand OOP, program arguments, return types, functions, etc.... Most of the time it just becomes a magic incantation to the absolute beginner. C++ is a little better since you don't have to wrap all this inside a class before you even understand what a class is, but really it provides no serious advantages over straight C until the student needs to learn OOP. It's not really the fault of the languages, since the audience for both were programmers that already knew programming concepts. It's the fault of the course & material developers who decided that they'll just teach Java (or C++) so they can stamp out CS graduates, to fulfill the implicit guarantee of a University Education that everyone will get a high paying job. Full disclosure: I think that just teaching straight out of K&R is the best way to introduce programming for CS majors, and a well adopted scripting language for non-CS majors. Extra Full Disclosure: I was in the College of Education studying to be a teacher, with a full background in pedagogy, before I changed to CS.
- teyc 15y agoinsufficient explanation is not necessarily a problem for the first program as long as it is handled later on. Java has chosen to make certain things explicit. These design choices have their tradeoffs. Being easy to grasp fully in the first lesson isn't a priority.
- MatthewPhillips 15y agoOk... I agree but I don't see where the "bad habits" are being learned.