View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

Discussion 1 - William Lee

My article, entitled “Java as a First Programming Language: A Critical Evaluation,” was written by Said Hadjerrouit and details the questions and problems that confronted the faculty of Agder College in Norway when they made the decision to switch from Simula and C++ to Java as a first programming language for their students. http://gtel.gatech.edu:2111/citation.cfm?id=292440&coll=portal&dl=ACM&CFID=51686177&CFTOKEN=82738052

Simula was described as an advanced OO language that had been taught for over twenty years, and at the same time has syntax that is relatively easy to learn, as many words in the language are quite similar to everyday English. However, it never became widely used in the industry. C++ on the other hand is very popular. Descended from C, it is both extremely powerful and complex, making it more difficult to master than other OO languages. Java is “a general-purpose-object-oriented language ‘designed to be simple enough that many programmers can achieve fluency.’” Its syntax is similar to C++, allowing users to easily learn the other language once they have mastered either of the two. While lacking some of C++’s power, Java reduces the number of programming errors that arise in C++ due to the inclusion of various “improvements” such as garbage collector, automatic memory management, and less ambiguity when using interfaces and single inheritence. Furthermore, Java is also portable and closely tied with web development.

I read Nirav Shah's summary and discussion, and it appears to lend support to my research. While Java is portable, versatile, and far more approachable than C++ for novice programmers (I agree wholeheartedly from personal experience that memory management is a headache), the price of Java's "kindness" with its lack of pointers, automatic garbage collection, etc. makes it less efficient at using resources, and in situations where such resources are extremely critical, C++ may be a more appropriate alternative. It is safe to say that when trying to choose an "ultimate" OO programming language, there is no magic bullet. Different languages lend themselves to different applications and situations.

Links to this Page