>>1
I have a major Comp Sci project to do
Then I proceed to recommend you a language depending on what you want to achieve:
Low level application: C
Desktop or system application, require highest performance: C
Desktop application, require highest productivity: ??? (Other Anonymous may have ideas)
System application, require highest productivity: Perl, Python
Simpler script: Perl, PHP
Web application: PHP
Experimental/AI/language application: Lisp maybe, other Anonymous will tell
Of course, Anonymous' Mileage May Vary. See how I never mentioned Java though.
Question is, should I stick with Java after I finish university and try and get a job with that? Or should I abandon it and move on to a different language?
Java is useful to make bread. Lots of bread as projects go on forever and most managers are stupid and gullible enough to want Java. However, you might not want to make bread this way. Java is a boring, anal language with a sodding, anal API you'll learn to hate. It's overengineered and bloated. If somebody paid Java programmers every time they use a new class, they'd be all rich. OH WAI- Anyways, Java is like Mother Russia: in other languages, you control code, in Java, code controls you. After instantiating a million objects from factory classes and studying six degrees of hierarchy to parse a stupid text file, you feel like you've been raped. Many developers stopped liking programming because of Java. Other languages are more fun, more stimulating, more productive, etc.
this is the first OO language I've used.
Then you'll learn to hate OO too. I hated it, until I saw Python's way more flexible, less anal, more practical, KISS implementation, which is actually a hack (that's how OO started in most languages though).
I think the main reason I like it is that it's cross platform.
Then you don't like it, because it's hardly cross platform - even within the same platform, Java VMs have these nice, subtle differences that fuck everything up. If you want a multiplatform environment consider Perl, PHP, Python, Ruby...
I'm willing to learn something else if it's going to be better for me in the long-run (job wise).
If you want to make money, go for Java, then become a manager, and start repeating whatever you read on magazines ("maximize profits", "Java is more productive", etc.), and be sure to spurt the word "business" every three seconds. Toss XML and Web 2.0 in, too.
If you want to enjoy something you'll do 8-10 hours a day for most of your life and develop a passion for your work, stay away from Java.
>>5
All of those languages have been forced onto me pretty much by school and university.
Many universities suck, you aren't supposed to learn the real thing there. If you like Computer Science, Software Engineering, Information Technologies, or any combination of these, the best you can do is learn it for yourself. At first companies want degrees. Degrees, degrees, lol. In the long run, it's about what you know and how you do it.
What's C# like? People seem to be loving it up.
Oh, that's better. In fact it's an order of magnitude better than Java, or so I've heard. I'm still reluctant to learn it, I'm happy with higher level languages for productivity, and lower level languages for performance. And in today's world I usually do the former.