Learning platform

Started by
6 comments, last by SeraphLance 9 years, 10 months ago

Hi all

Before I start let me strees this is not a "is X lanuguage better than Y" or "whats better Windows or Linux" post.

Those that dont want to read my long post the question is in bold smile.png

I am brand new to programming, barring some basic at school 20 years ago, and doing as much research as I can before jumping in. I know my end goal is game development but I'm in no huge rush I know its a long road.

I've read a lot of posts about programming languages so I wont ask about that as I have a rough idea in my head as to the way I'll approach that. (starting with python and moving to C/C++)

My main question is reagrding the target/learning platform to work with. i.e. the OS

Again this is not a which is better post.

From lots of google searching and personal experience of playing far too many games I know Windows has been the main OS of choise for developers for a long time. With Valve and others throwing support to Linux it seems obvious there will be a lot of growth there.

A lot of the threads arguing about these OS's seem to come down to the tools people are used to vs learning something new. Now being that I'm at day one of my learning I dont have that issue as anything I learn will be new.

Am I best to just pick one and dive in or learn the languages on either and just not use OS specific tools such as VS so that at a later date I could work on either?

Thanks for taking the time to read all this.

Advertisement

From a strictly learning perspective (and implying this is NOT something you want to iterate and eventually commercially release), I'd say:

Pick an OS you like

pick a language that is well-supported on that OS and is generally regarded as good for learning
Pick the absolute best development environment for that language you can find and that is readily available

In your case, Python, C, and C++ all have exceptional support on both platforms (really, most languages do)

With regards to the OS, you really want whatever you're most comfortable with for general use. Modern programming toolchains tend to interface with the standard OS usage patterns by design. If you're equally comfortable with Linux and Windows workflows, then it doesn't really matter what you pick. What you don't want to do is pick an OS you're not as familiar with. Programming is hard enough that you don't want any additional cognitive load while you're learning.

Just use whichever OS you have on your regular computer. You want to learn to program not to use a new OS. Nothing wrong with learning a new OS but, it is clearly not your main goal here.

Use the browser in any OS. Codecademy is a great place to start.

http://www.codecademy.com/

Am I best to just pick one and dive in or learn the languages on either and just not use OS specific tools such as VS so that at a later date I could work on either?

Why would you *not* use a OS specific tool? VS gives you a lot of comfort for 'free'. Same goes with other tools. The only reason I see for not using a tool like that is if you want to get down in every detail of the compile process, which may be a good thing, but it will also make your learning experience heavier, and it is something you can get into later, when you get the hang of things. The other reason I can see is if you are in a learning situation, type school, with an exam later, and you want to learn all commands and syntax by heart without getting intellisense-type help that frees you from 'thinking'.

As far as development environment goes I prefer text editors if I can get away with it. For me it speeds up the learning process and it's one of the advantages of using an interpreted language like JavaScript or Python. The Read Eval Print Loop makes iterating through tough problems a breeze and gets the tools out of the way so you can focus on the code. I've been making Python games with the Pygame library and haven't had to resort to using a development IDE yet.

At work I use a heavy Java IDE and it's much more complex to work with. If I had to learn programming through that IDE it would have definitely slowed down my learning time.

EDIT: Whatever you choose, get comfortable with version control as soon as possible. It makes going from one environment to another a breeze and version control systems like Git take some getting used to but you'll use one form of version control or another for the rest of your programming career.


I am brand new to programming

Then you would certainly want an IDE that provides you with immediate feedback on grammar, correctly formed function calls, etc.

I'm mainly familiar with VS and have used one version or another for years. I'm recommending it as a choice for learning C++ due to my familiarity with it. VS Express for Desktop 2013 is free (which includes the Windows SDK on installation) and the editor provides a lot of feedback even as you are typing in code. I've been programming for decades and still find the immediate feedback for spelling errors, function call dropdowns, etc., invaluable.

Though there is more to programming than typing in code, learning well the language you are using is a high priority.

Please don't PM me with questions. Post them in the forums for everyone's benefit, and I can embarrass myself publicly.

You don't forget how to play when you grow old; you grow old when you forget how to play.

Yeah, when it comes to learning to program, you really want a good IDE if it's available. You want to learn to program -- not to compile, write macros, install plugins, etc. One thing at a time.

This topic is closed to new replies.

Advertisement