07-05-2013, 08:46 AM
I'm suing! I actually didn't find any factual mistakes, but there's bound to be one so I thought I'd call it first... Anywho, C/C++ (and by that I mean C++) is my (strongly) suggested route. My first language was Visual Basics, though it was a long time ago and I ended up ditching it cause I didn't think it was a "real" programming language. Well it turns out it is a real programming language of course, but I wouldn't suggest using it as your first language at all, very bad habits. Like two years later, I decided to learn a "real" language, so I took on Java since it was popular as a beginner language. I'm not sure why it is so popular, as a beginners language especially, because it really isn't that great and is pretty bad as far as optimization because of it's virtual machine dependency. Not to mention, the syntax...oh boy the syntax. At first it's all nice and easy, a bit complex feeling, but you just assume that's how programming is...then you get into the ACTUALLY complex stuff and it takes like 200 characters of really weird syntax that is impossible to remember to do something, and it's like "Ooookkkk nevermind then..." So after that, I took up some Python programming (I got my Pi and realized that the "chosen" language for it was Python so decided to look into it), and it turns out, it's pretty awesome really. Now the catch is it's not a programming language, rather a scripting language. So it's not made to program huge programs to calculate like space time or something (I have no idea what I'm talking about but that sounds complex XD) and it is definitely not good for game programming, though it's ok to play around with for game programming. Rather, Python is more aimed toward an Engineering/Mathematical use, or, in the Pi's case, for teaching young kids how to program because it is actually really, really easy to program in. While I do love Python for what it is, it's not a programming language and I wouldn't suggest it for a beginner other than very young children, because it teaches some bad habits. In Python's case it's mostly just the fact that it doesn't require end marks (; after each line of code) and basically relies on spacing and the line of code for it's containment...just not very good techniques for more advanced programming in lower level, more powerful (no lower level doesn't mean more powerful, but I mean more powerful than Python in terms of programming power vs Python's scripting power) language such as C++. After Python, I finally gave in, and started watching a couple of tutorials on C++, not even following them, just watching to see how much I hated the language. C++ is the most popular programming language in the world, and because of that I, of course, COULDN'T in any way actually like it...yea turns out C++ is pretty awesome. So the next day I downloaded the IDE (Codeblocks) and started doing some coding. Really great language, and pretty simple to understand. Some of the syntax is a bit complex, but nothing compared to the Java syntax. I really think C++ is the most important language to learn, and probably the best to learn first, for ease of learning, and first-time experience with the best of the best. Of course you have had experience with another language already, but still same idea holds true. I may be just a fanboy, but C++ is definitely the way to go in my book, and a huge portion of the programmer world will agree. Now about the javascript, as you noticed, I never listed that in the languages I've looked at (though I have looked at and coded some HTML5 and CSS3, but didn't do much with it) so I can't really dis it nor praise it. I prefer code that is executed on the computer, but obviously if you want to get your program out there then it doesn't get more simple than a link to a website and bam, you can start playing. However, for a first language (or first language you really get in depth in) I'd probably say stick with a computer based executable. Hope I helped! Oh, and btw, cool thing about C++ is it compiles straight into a .exe executable program that can be run on any computer of the same architecture/maker/something (not sure what all the specifications are, but like a C++ file compiled on my computer with intel i5 x86 processor would run on pretty much any intel x86 computer, just maybe some differences in if the computer was only 32 bit, or possibly OS specific syntax, example being the delay function is different between a Windows and Linux platform (learned that the hard way)). So like I made a simple game, then compiled it and sent it via Skype to a friend who has pretty much no knowledge in programming and has no "special" software to run a C++ file on his computer, but he was able to play it and give me feedback on bugs. So C++ is great and really mostly cross platform, there are just a few things that need small changes to run on different systems sometimes. Again, hope I helped!