On 11/24/20 11:45 AM, Jonathan Aquilina via Beowulf wrote:
When I learned java as part of my degree I used to see it as clunky why go for an interpreted language such as java over something more low level like c/c++ on a traditional cluster?
Technically Java isn't really an interpreted language - its compiled to an intermediate Java Virtual Machine bytecode, nor is it compiled to ruin natively on hardware. It's kind a hybrid that gives you the worst of both worlds - the need to compile before execution, with none of the performance of a native binary. ;)
As for teaching Java, I think teachers like it for teaching object-oriented programming because it is a "pure" object-oriented language, unlike C++. C++ is a superset of the C programming language, so any C code is technically valid C++ code, too. This allows all sorts of ugly hybrid code to be created, and when learning object-oriented programming in C++ years ago, I have to admit some of my homework assignments that I turned in were probably 99% C, and only 1% C++. Java prevents this, and forces students to right object-oriented code instead of purely procedural code. At least I *think* that's the argument for teaching Java.
I do know in HS they teach Java because the APĀ computer science test is based on Java.
Also, with Java, you don't have to worry about low-level issues like freeing and allocating memory and doing pointer arithmetic. Not having to worry about those low-level issues allows a student to focus more on the programming concepts. I knew I screw up dereferencing pointers A LOT when learning C and C++
-- Prentice _______________________________________________ Beowulf mailing list, Beowulf@beowulf.org sponsored by Penguin Computing To change your subscription (digest mode or unsubscribe) visit https://beowulf.org/cgi-bin/mailman/listinfo/beowulf