tags:

views:

314

answers:

4

I have a pretty good non-OOP background. I've done lots of Visual Basic coding, and a little SQL.

I want to widen my skillset and be more marketable. Most of my experience has been working with scientific companies, and I've been supporting scientists a lot.

I want to take some online classes from my local community college. Should I take Java or C++ programming? My goal is to be more marketable. Some more background information: I've had a little bit of experience with .NET, and I am assuming that since I know C# a bit, it may be worthwhile for me to get into C++?

Should I learn Java or C++?

I beg you please don't close this question. Give me 10 minutes to see everyone's input.

+9  A: 

C# is a lot more similar to Java than to C++.

SLaks
This is true, but I don't think he asked which is closer to C#.
Stephen
@Stephen: I think SLaks was responding to "i am assuming that since I know c# a bit, it may be worthwhile for me to get into c++ ?"
Brian
@Brian : I guess that could possibly be interpreted as "which will be easiest for me to learn?"... I heard something else.
Stephen
+2  A: 

I would also say if you want to support scientific computing invest some time into learning F#. There's even a book with all the right words in the title =).

R0MANARMY
+6  A: 

I want to widen my skillset and be more marketable

That's a reasonable goal, but the information you've provided doesn't help us guide you.

  • What do you want to do with your career?
  • Where do you want to market your skills?
  • What kinds of programming interests you?
  • What companies interest you?
  • Do you just want to learn something similar, or try a different paradigm altogether?

For example, Java would be a poor choice if you want to hack on the Linux kernel. C would be better. If you're interested in programming languages, maybe you should look into learning a functional language. OTOH, C++ would be a poor choice if you don't want to learn about memory management, and Java might be easier to get a head start writing webservers (not that both aren't well equipped for that).

You can learn any language, just for the hell of it. But it's more important to use a language that helps you accomplish your real goals. The language is only a tool.

Stephen
+4  A: 

I am a recent Computer Science graduate and from my job search I have to say that there are many more people wanting Java programmers than C++. I also saw a great deal of people looking for C# programmers. C++ is not being used as much outside of the academic and scientific field right now.

Java and C# are also similar languages so once you understand one you should be able to go to the other.

If you do want to do C++ that is fine. If you can learn C++ and then master C then you will be in a good position for those few places that need incredibly skilled C programmers. C++ and C are able to reach to a lower level (closer to the hardware) more easily than Java and C# can. That is why they are used mostly in the areas that are dealing with specific and custom hardware.

Badger
thanks very much. then why are there many more c++ tags on stackoverflow than java
I__
C++ is much tougher and pickier to use than Java. You have not seen relentless compiler errors until you are doing C++ with lots of pointers and having to type cast things.
Badger
@I__: Because it's **hard**
R0MANARMY
@Badger - that really depends. Java bickers at you about silly stuff like naming your class or the file it's in "incorrectly"...or about not stating all exceptions that can be thrown from your function or the code it calls. C++ bickers about silly stuff like making sure you pass the right types in your function calls or, like you say, cast your types correctly.
Noah Roberts
@Noah Roberts that is all very true. I guess I just have a old scar from C++ since it was the first language I learned that had a compiler that would 'barf gibberish'
Badger
badger by the way did you get a job yet?
I__
@|__ I was only able to find an internship, however my boss is working on a proposal to hire me full time
Badger
tell him to hurry up with that proposal
I__