new programing language to learn?
KomodoCreated:
Despite people's distaste for JavaScript here, I want to highly recommend it as a programming language to learn.
It's significantly easier to learn and use than most other programming languages. It can be used for pretty much anything: client-side web development, server-side web development, stand-alone desktop applications, etc. It's also really nice that it requires no compiler and is cross-platform. Quite often if I want to write code quickly I simply write it out in JavaScript since I can easily create a cross-platform UI in a matter of seconds. It's nice when I switch between operating systems quite a bit. You can even run your programs on your phone and your 3DS.
Yes, JavaScript is slow compared to other languages, but it's plenty fast enough for most purposes. I've yet to ever write a JavaScript program where JavaScript wasn't fast enough to keep up with it. Take a look at Chrome Experiments and see some of the awesome stuff JavaScript can do.
JavaScript is a very easy object-oriented multi-purpose programming language, and I'd highly recommend it.
I also want to point out that software you make instantly goes up in trustworthy-ness when you use JavaScript. Let's say you make the game in a web page, pretty much most people will be willing to open the web page and try the game. However, most people will be unwilling to download and run a compiled application unless you've already built up a really good reputation. JavaScript can also be used to stand-alone installable applications that run in their own window and not in a web page if this is what you want, though.
Secondary suggestions would be Java and C++.
I still think that assembly is good. Assembly gives you more program over the hardware you are programming it for.Assembly is only good in very specific contexts, and there's a plethora of different types of Assembly languages. For example, learning Assembly to write games for a modern PC is just insane. However, if you want to write a game for something like, I don't know, the TI-84 calculator, pretty much the only way to do it is Assembly. However, once you learn Assembly for that system, you won't be able to apply any of that knowledge to another system, like a PC, because they recognize different Assembly languages, and the languages even change based on operating system (Linux x86 asm is a bit different than Windows x86 asm). Assembly is usually more of a hobbyist language than an actual practically useful language. There are contexts where it's used professionally but most people don't get to that level. Most professional programming is done in a high-level object-oriented programming language.