The Software Purist |

TAG | Beginners

Nov/09

25

“What Language Should I Start With?”

I get this question a lot from people who want to program and are just starting out.  This is a loaded question, and everyone has their own opinion.  Typical advice dictates that you should use whatever language you want, because it doesn’t matter.  I don’t and have never agreed with this advice.  Firstly, if you aren’t familiar with a language, how can you know what language is right for you?  Second, most likely you have some faint idea of what you might want to do.  Maybe, you want to design websites.  If so, choose a language suited for web development.  Maybe, you want to make a video game.  If so, choose a language that is commonly used for this purpose.  I absolutely advise sticking with the most commonly used and applicable languages for what you’re doing.  These are the languages you can put on a resume later and get a job based off of.  Discounting this benefit would be unfortunate.

If you enrolled in a degree program, you will be likely be given a language to start with in your introductory program.  To the best of my knowledge, most colleges will start you with Java or C++.  I think these are really bad choices for starting programming, but the benefit is that they’re extremely applicable.  Java and C++ are consistently two of the top 5 mostly commonly used programming languages.  Despite what you may have heard, this won’t be changing for a long time.

Overall, I suggest starting with a language that it’s easy to make quick progress in, so you learn the basics, but will see quick feedback as to what’s going on.  My favorite language for this is Python.  Python is a simple language, which has an amazing set of libraries for doing a vast amount of things.  The syntax is very minimalist; in fact, it uses indentation level to figure out scope.  For a beginner, this is ideal.  This will prevent you in getting too caught up with unnecessary details that may hinder your learning when you get started

There has been a lot of research to suggest that starting out with something too complex turns off a lot of potential developers.  Carnegie Mellon University started using a 3D programming language, called Alice, which provides the benefit of allowing quick results, and slowly easing you into the code aspects.  This is very useful, particularly, if you’re a visual type of person.  While Python isn’t necessarily graphical, it is very simplistic, which is very important.

If are a very visual type of person, you may have better success with a language such as Actionscript, using Flash.  However, note, the current version of Actionscript is Actionscript 3.  Despite the recent improvements, Actionscript 3 is still has a little way to go from a lot of other programming languages and is still a less than ideal programming environment.  I will try to shy you away from Actionscript, for now, because I think Actionscript can encourage some bad programming practices, if you’re not careful.  Furthermore, at the time of this writing Actionscript is ranked as the #21 on the Tiobe community index, while Python is ranked as #7.  You can take the index with a grain of salt, but nonetheless, this should give you some idea of the job availability that expertise in that particular language can provide.  Still, Actionscript can be fine a choice, just be aware that you should read from a variety of sources, so you understand best programming practices.

· · · · ·

Theme Design by devolux.nh2.me