Sign in to follow this  
Azraelle

Learning platform

Recommended Posts

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

 

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'.

Share this post


Link to post
Share on other sites

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.

Edited by tp9

Share this post


Link to post
Share on other sites


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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this