Java, in all honesty
OK, I've just completed a year of programming at uni where 'C' was the language being taught (moving on to C++ in the years to come)
Living situation changes are going to make a change of uni's much easier on me... unfortunately the uni which will be 5 minutes walk from my new place teaches Java instead.
I would much rather learn 'C' and probably will after I get my degree but, emotions aside, would anyone recommend this? And how different are they really (from the viewpoint of later picking up 'C' on my own)?
I know this gets covered a lot but it always seems to become a slag-fest... apologies if this does too...
Read that Java to overtake C++ article in next year? Might change your mind about java, at least, from a practical perspective.
Java is a lot different than C in the sense that it is purely object orientated, while C is heavily procederal. I think the question is really Java vs C++. Almost all my university programming courses are in Java, but I am still working my way through reading Stroustrop's "The C++ Programming Langauge," as I want to become a games programmer after I graduate, and pretty much every major game is written in C++.
So I am learning java through the university, C++ by myself.
Sorry... Java vs C++ was the question I was meaning to ask
It sounds like you're doing exactly what I'll be doing next year if I switch. How are you finding it? Different enough to make you think twice when writing an answer in Java for an exam question?
Also, I did read that Java will become more widely used... what interests me though is what languge employers will be looking for in the future.
Thanks for the reply...
I read about 800 pages of Thinking in Java over the summer (its free online at flashdaddee.com if ya want to check it). After the first few chapters of the book, I was like "wow, there is almost no different between C++ and java other than that X x = new X() disturbing syntax." After reading it for awhile though, and coming across things like nested classes with references to outerclasses, anymomous inner classes, interfaces, and the such, I realized that it is truely a langauge of its own, not just a dumbed down version of C++.
I always snicker about my professor complaining so much about the use of pointers in C/C++, but then not at all mentioning any flaw with the abundance of typecasts needed in Java.
All the exam questions are relatively small, nothing requiring more than 15 lines of code really (just get used to the always passing references with classes) and it should be fine, so the difference between the C++ and Java is pretty inconsquential. But I am still glad I over prepared myself with the reading during the summer.
i think one of the other major things is that java is so portable.. i mean, you can take it's code and make it into an app on so many different platforms... that's always a big + for a proging lang
Well, I heavily prefer C++, but Java courses have taught me tricks I've applied to C++.
Java and C++ are 85% the same, for syntax, and an OOP program written in C++ is conceptually exactly like the program written in Java.
Learning Java will make learning C++ very easy, as you've GOT to know & use OOP to do anything in Java, so it's a good way to move away from the procedural C-style programming that many people who move from C to C++ have, into the OOP style programming that makes amny problems easier.
C++ is more powerful, but Java is more portable..
I'd rather learn C++, you can do more stuff in it, like DirectX, or OpenGL (Well, I'm not sure if you can use these in Java), but I recommend you learn C++
yup, C++ will always reign supreme in my mind...
Go like this: C, C++, C#, Windows.
My oppinion on Java: It's crap. It lacks language features common to C++, it lacks keywords in everyday C++ use, it's slow and for being propagated the perfect OOP language it has some flaws that are just ridiculus. If you want to know what I mean, including code examples as proof of concept, look it up in the aforementioned thread on C++ vs Java.
There is nothing you can do in Java you cannot do in C++.
The only exception is platform-independent executables.
Ask yourself why or when you'd need this.
That said, I still think you'd take the Java class. Why ? To judge which one of the two you'd like to use, to judge which one adopts better to your task at hand, you have to know both. It doesn't help to be a C fanatic leaving no room for arguments, or a Java zealot praying "everything's an object" over and over as if it would become true by repeating it.
Know your Enemy. Take a Java course.
Learn C++ by yourself, or take a second course. Don't specialize in one of them. Keep an open mind, and judge for yourself after you know both languages, or even more.
Its faster to write your business-logic in enterprise applications in Java, than it is in C++. Thats one reason why nearly all companies are doing most of their development for internal and web-based applications in either Java or VB.
There might be some better tools for Java because it's easier to use for the average programmer than C++. But infact C++ supports more OOP concepts than any language on earth.
Cheers for the suggestions... I think I'll take nvoight's advice... take the Java course 'cause it'll be so handy and teach myself C++ in my spare time.
Hey, I pretty much snuck around behind my lecturers back and taught myself C anyway this past year. How did they make something relatively easy sound that difficult in class?