Skip to main content

What programming language must you learn?

Every now and then(like every 2 nano-seconds) , a user will come onto a forum and ask: "What programming language should I learn?"

Not long afterwards ,somebody will whip out their snake(python) followed by everybody's own personal favorite language. The whole process is a mess and can leave a newcomer confused.

An important thing to note is that the language you start with is probably not the language you will end up using. I personally started programming by messing around in Visual Basic 6 , Got my diploma in C# and C++(half lang). I now mainly work in Objective-C , but also implement PHP services among other things.

Become a language agnostic programmer

Once you have learned the basics of programming in any language , learning another language is much quicker. The part that takes time when learning a new language is not really the syntax, but the libraries that are used to get specific tasks done.  Knowing a full language and most of its libraries means that you are specialised in that language ,it is most likely your favorite language, and there is nothing wrong with that, but it shouldn't be your only language. Certain programming languages are designed for specific purposes and should be used appropriately . PHP for a back-end web service?  awesome! For a full featured 3D game? I wouldn't even try.

The bottom line is ,choose your first programming language based on what your goals are ,but be prepared to learn new languages as time and circumstances/goals change. Newcomers should realise that if you are going to become a programmer , you are not stuck with the first language you started with, the industry is forever changing,and once you have learned one language , its much easier to pick up other languages along the way, so the choice of your first language , isn't really that important. The important part is that you understand programming itself and its key concepts.


Popular posts from this blog

Running Node.js alongside IIS on Windows

Most of the time when you are looking for a way to run Node.js as a production server on Windows you will just run into IISNode , now IISNode is a great thing ,but I'm a fan of choice and most importantly , not a fan of XML web config files.

I wanted to run my node server on what ever port I wished,or maybe even a different server and just have IIS reroute the traffic from a particular URL to the node process(so a proxy), this allows you to still manage your own load balancing and possibly scale up from that point without having to bother with IIS again.

So first things first you will want to download and install the URL Rewrite and ARR modules for IIS

ARR (Application Request Routing)URL Rewrite Once thats done lets crack open IIS and open up Application Request Routing, then navigate to Server Proxy Settings and Check Enable Proxy and Apply.

Now lets create an an application on our Default Website that will link our url to the node process, here im directing it to an empty direc…

Half-Life 2 for OSX , how well does it run?

Earlier this week Valve advertised Half-Life 2 for the Mac with the best advert I have ever seen. They took the old 1984 Mac advert and re-created it using the source engine and characters from the game. As if the awesome(albeit 35 second) entertainment wasn't enough they offered the game at $3.40 for a limited period. It was not shortly afterwards that I made my first ever purchase on Steam(its kind of strange buying a game and not getting a box with it).

The game purchase actually allows you to download the OSX or Windows version of the game , depending on the platform you are logged in to .This is great , because I have a PC with some decent gaming power and my Mac Mini (which I naturally wanted to test on) and wow ,the OSX version runs pretty darn well,especially considering that my mac mini is running only an intel HD3000.

I was surprised how well the game performed on high settings , the gameplay was smooth with the default high settings , reaching frame-rates up …

Setting up Qt Creator for assembly

After fiddling with inline asssembly (not very successfully) ,I recently decided to try writing proper assembly and compiling with NASM in Linux. After writing a hello world using gedit and having a terminal open for compiling,linking and running I had a thought.,there has to be a better way to do this.
So I tried Qt Creator ,because I know it's easy to add custom build and run commands,and what do you know? I got it to work. Here's how,my screenshots and assembly code are in Linux but the set up should be the same regardless of the operating system,if you are not using Linux then just use the same commands you use to assemble in your operating system.
First off ,create a new console application:

I named mine ASM Rename the main.cpp to main.asm and delete all the text inside.then insert some assembly:

Now open up the “Project” tab and edit the build settings,remove the current build and clean steps and remove the “-build-desktop” from the end of the build directory line.