The Source for Java Technology Collaboration
User: Password:



Sivasubramanian Muthusamy

Sivasubramanian Muthusamy's Blog

Java as a first language.

Posted by isolatednetworks on May 05, 2007 at 03:37 PM | Comments (4)

C and C++ may have additional uses as machine/assembly level programming languages that Java does not intend to be.

Java surpasses C and C++ in its capability and ease to build desktop, webbased and mobile applications. Someone who knows Java does not have to go back to C or C++ because Java is a more refined language. (Expertise in C or C++ would be required in tasks that requires programming at a level that Java does not get down to, but that is besides the point made here)

Why would someone start on his learning path with C or C++ ???

When Java was first introduced, most of those who signed up to learn Java knew C or C++, so the teachers were addressing a class of C and C++ experts and began an introduction to Java by talking about what Java has that C and C++ does not have and by explaining the Java's refinements over C and C++.

This assumption of prior exposure to C and C++ is still prevalent among Java teachers. Most of the Java courses, even at the introdutory level, get into a comparision mode, and in this "introduction" the student is assumed to be familiar with C and C++.

Is there an unwritten convention among programming students to begin their journey as students with C ? Is it required ?

This gets the students into a sequence of learning C, then unlearning parts of C inorder to learn Java ...

Why wouldn't the Java learning programs have an all new approach - Teach Java as a first language ?

Apart from this unwanted assumption about prior exposure to C and C++, teachers and course designers make another wrong assumption. That the student is already exposed to Java applets and the end applications that would result from programming. So the approach is more like teaching a kid in the kintergarden the formula to calculate the area of a triangle, even before the kid is shown a triangle. It becomes difficult for the kid to comprehend what is taught.

Why wouldn't the teachers begin by giving a tour of the Java applets, Java servlets, Java Games, Java applications before defining objects and methods ? Sort of beginning with the final picture...


Bookmark blog post: del.icio.us del.icio.us Digg Digg DZone DZone Furl Furl Reddit Reddit
Comments
Comments are listed in date ascending order (oldest first) | Post Comment

  • As far as I've been told, some universities do start with an OO language such as Java and don't bother with C. I can't think of who they are but in some past conferences I recall discussions with professors who told me this. They might have been from western Europe. Anyway, the point is that this isn't a crazy idea.

    Having said that, a good case could be made for learning C on an embedded target like the Atmel AVRs. You learn different things on a platform like that, concepts very useful in many real world embedded products.

    Posted by: bboyes on May 05, 2007 at 04:44 PM

  • Here in Cambridge (UK), they've start with ML ;-)

    Posted by: alexlamsl on May 06, 2007 at 10:03 AM

  • The purpose of the first programming courses anyway is to teach the general concepts of programming: variables, loops etc. and the actual language used is not so important. But it surely helps to have been exposed to object-oriented thinking patterns right from the start. Computer science students at the University of Helsinki have been learning Java as their first language since fall 1997.

    Posted by: hiutaliina on May 07, 2007 at 03:30 AM

  • People tend to think the way they did something is the right way. I learned OO first later took electives to learn bare bones C stuff. It worked for me. Other people, not so much.

    Posted by: aberrant on May 07, 2007 at 04:46 AM



Only logged in users may post comments. Login Here.


Powered by
Movable Type 3.01D
 Feed java.net RSS Feeds