Replies To: Want to learn another language

Re: Want to learn another language

Posted 10 September 2012 - 01:24 PM

POPULAR

Typically I would pick a language that isn't "easy and similar to what I already know" but based on "here's a new interest of mine and after a quick google search the relatively more popular hits". Languages are tools for you to get a problem solved, job done, app turned out, etc!

Re: Want to learn another language

Posted 10 September 2012 - 06:35 PM

C is not object oriented.
C++ is, but does not force OOP.
Java is OO, and has auto garbage collection. The programmer really doesnt have to think about pointers
C# is kind of like Microsofts answer to Java, though I dont know too much about it besides that, as I really havent had to use it beyond things that any major language can do easily.

If you end up listening to the people who are saying "go for a different language", I would still advise to avoid cobol and rpg

This post has been edited by NecroWinter: 10 September 2012 - 06:36 PM

Re: Want to learn another language

The most straightforward answer to your question is to learn C# but I agree with the majority here and try to learn something different from Java. Like HTML, for example. (I kid!)

Why not extend your Java programming by learning web concepts. You'll probably learn HTML, CSS, and Javascript while you're at it, and you could also try learning Java EE and the various popular frameworks. This will greatly enhance your chance in the big enterprise applications market.

For the best choice I would pick something really different from Java. I suggest you try to look out for Ruby, Lua or Python, as they will really give your mind a workout and change your preconceptions in programming because of coding in Java. For example: syntax that could be easily translated from Java to C C++ or C# have other ways of being done on these languages.

I suggest go with the really different language path. It will help you learn new technologies because you wouldn't be too tied down because of your old knowledge. Also, as sepp2k said, it will be fun.

Re: Want to learn another language

Posted 10 September 2012 - 10:04 PM

<sarcasm>
Yes, after learning Java, learn some good old x86 Assembly.
</sarcasm>

Seriously, though, the point of my sarcasm above was pick a language that is not only different in terms of syntax, but also makes you look at problems in a different way. One of the current fashions right now (I'm still holding out hope that it's a fashion and not really a industry shift) is the use of functional programming. If that is your interest, then picking a language that supports that forces you to think in that way maybe a good next language: Lisp, Haskell, F#, etc.

If graphics is your cup of tea, try learning a vertex shader language.

Re: Want to learn another language

Depends what you want to do. There's plenty to choose from. Do you just want a list of everyone's favorite language, or would you like to talk a bit about what you want to use this language for?

Quote

Also, what is the difference between C, C++, and C#? Are they just different versions
of the same thing?

They're related, but not "just versions of the same thing", I'd say.

Well, I suppose I was just kind of searching for different languages to choose from in general so asking about
what might be similar to java seemed to make sense.
I have been working with java for a year or so and don't know much about what is out there to choose from
besides python and c...

I guess I should have been more clear. To expand my question now, I guess I really want to know what languages there are to choose from, and if there are any that I should steer away from.

Thanks for all of the replies! You all have given me a lot to think about.
I've never heard of a lot of these. Staying with the general idea of just jumping into language, I think I'll try Python or Ruby(completely new to me).

Re: Want to learn another language

Beyond that, steer towards things, not away from them. There's a huge range of things that you could want to work on. If you want to write operating systems, you don't want javascript. If you want to write websites, C isn't going to help you a lot.
What are three things that you'd like to make?

This post has been edited by jon.kiparsky: 11 September 2012 - 09:09 AM