<p>I think learning a programming language is going to be one of my New Years resolutions. It's been a passing interest for a long time, but I was either too young or too busy to make any great strides. This year, I have some free time and I'd like to get at it again.</p>
<p>Problem is, I don't know where to start. For now, I would be most interested in learning a programming language that would allow me to make simple flash/computer-based games (no Skyrim just yet ;)) and design websites. Obviously, I don't expect to be able to do these things right away but I think this is the best place to start and learning is half the fun!</p>
<p>So my questions to any (even the dilettante) programmer out there are:</p>
<p>-How did you learn to code? How long did it take you? What language? Which language would be best for my purposes (but would also allow me to expand on what I've learned and delve into deeper projects eventually)? What are the best books/websites/tutorials to help me get started?</p>
<p>Please don't give me any of that Gamemaker crap or something that isn't really programming at all and won't help me if and when I become more advanced. I have tired Blitz BASIC but I admit that I was young and not really motivated. I'm wondering it this is the best option and if I should try again or if there is something better/easier/with greater utility.</p>
<p>Many thanks! I take it you are experienced with Python then? Is it an easy (or easier) learning curve relative to other languages and does it allow you to get into more advanced or does it kinda cap off. </p>
<p>Maybe I’m getting ahead of myself, but I would love to be able to do 3D modeling, a more simplistic version of a Zelda/Pokemon-style thing for computers or even an app-based game depending on how things go. I don’t know how much overlap there is between languages or even how much work/knowledge is required to do something like that.</p>
<p>I feel like Blitz BASIC was a good option but far too expensive for me to play around in at the time (I was only given a free, limited trial). C++ (or perhaps something similar) seems like the premier, most complex all-purpose programming language to learn, but I’ve heard it is difficult to learn, and I’m just a hobbyist after all.</p>
Will take many months, if not at least a year or two. Different aspects of games are more difficult than others. You probably could make a side scroller in 2-3 months but it would have little functionality.</p>
<p>A basic spaceshooter might take, say, 1-2 months of experience or so.</p>
<p>3D is pretty hard if you are planning to make your own engine. More than a year, maybe even 2 years.</p>
<p>Hmm…Well maybe my college will offer some electives for my to try out. I’m wrestling with minoring or even double majoring in CS because I’m premed and I don’t want to bring my GPA down. </p>
<p>For me, time isn’t a huge deal as far as projects go as long as I can be enthused about them. I’m more concerned with how long it will take me to get to that point. As in, “how long will it take me to get the gist of a given language?”</p>
<p>I was just throwing 3D out there, I don’t really plan on setting that as my goal at this point. I knew one gentleman who used Blitz BASIC to create a very interesting 3D game all on his lonesome, but he worked on it for 3+ years and he was constantly coming back to it to clean things up.</p>
<p>@blahblah9393 I take it that you too have some experience in a programming language, do you have any more tips or words of advice for a beginner?</p>
<p>You just need to catch up on two weeks’ worth, but they’re relatively quite simple so it shouldn’t be a problem. It’ll guide you through everything.</p>
<p>My vote is no for BASIC. Also, C++ is just unforgiving compared to other languages. </p>
<p>Start with Python if you aren’t going to do Code Year (which will help you get started and keep learning each week - it sends an email to remind you when new lessons are put up).</p>
<p>I’d say no to C++ and BASIC for starting. Code Academy seems to have promise, but many beginners have trouble with getting stuck and not getting an explanation as to why. I’d strongly recommend starting with Python and just doing some quick, simple programs like “Input numbers - get average”, “Input letters - get reverse of letters back”, etc. Being able to program is all about how to split up a task into smaller parts with the available tools the language gives you.</p>
<p>So, is C++ a good place to start or an awful place to start? I’m curious because I am going to take some computer science classes next year but I don’t see C++ in any of the course descriptions required for my major (I’d love to take some electives, but I don’t know if I will have time. I don’t want to run myself into the ground either.) Anyway, is C++ okay to start out with, and could I do it as a sort of “summer course” that I would set aside 1.5-3 hours a day for?</p>
<p>Programmers are a dime a dozen. Learn something that you won’t learn elsewhere and expose yourself to a different style of thinking i.e. considering learning abstract algebra.</p>
<p>^ How is that helpful? He wants to program; let him program. Don’t come here with some crap about expanding his horizons/being unique.</p>
<p>Wiscongene, I’ve been watching the Python programming series on khanacademy. I’d check it out, if I were you. Mr. Khan is very clear in his explanations, and it’s great for beginners (like me!).</p>
<p>Java is very straightforward and is my preferred language, but for your purposes (designing websites and eventually making simple computer games) I think HTML/CSS and maybe php are good places to start.</p>
<p>The advantage of C++ is that it’s industry standard, and once you get a handle on the syntax, other languages seem a lot more intuitive. A good place to start. However, I think VPython can be a lot more powerful for beginners. There are plenty of free resources online for both.</p>
<p>Hmm…well, it looks like I’m gonna go with some form of Python but I will also try CodeYear just because of how simple it is. C++ still seems too complicated for a beginner/amateur and you guys seem to have some aversion to BASIC, right?</p>
<p>Any good books/websites/other materials besides those previously mentioned that will good for learning Python?</p>
<p>Why would you study BASIC? Are you talking like VB.NET? Otherwise, I can’t imagine it being as powerful as, and as useful as, VPython, C++, or even Java.</p>
<p>I am referring to [Blitz</a> BASIC](<a href=“http://www.blitzbasic.com/Products/blitzmax.php]Blitz”>http://www.blitzbasic.com/Products/blitzmax.php) which comes in a number of varieties. I only know about it because I was given a How-To book for X-mas some years ago that came with a limited free trial for the purpose of completing simple, pong-style games. I gave up on it because I was young and didn’t have the discipline to stick with it.</p>
<p>Another thing I neglected to mention is that while my family has a PC, I plan on doing most of the programming on a MacBook Pro just because that’s the only thing I own personally. Obviously, I could run Windows on the Mac if required but I’m interested in learning which language would be best with respect to that.</p>
<p>It’s unfortunate that my Mac probably doesn’t have the power to run a Skyrim or a Crysis on highest settings or for modding, but in terms of my own personal gamemaking, it’s probably acceptable. For web design, it shouldn’t be an issue at all.</p>
<p>Python would be good for games and websites. Ruby (/Ruby on rails) is good for websites. Java and C++ get more in depth games like Skyrim.
So id start off with Python for now then work your way up the chain.
For websites you can do Python Ruby or HTML5 are all good.</p>