3 ms·
Perfect example: The very first Java program you write when you learn Java. I have never seen anyone provide a sufficient explanation to absolute beginners abou
by sc68cal 15y ago
Perfect 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.