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.

Comments

Popular posts from this blog

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 en

Using delegates in Objective-C

Why use delegation? Well when writing Objective-C programs in Xcode we are encouraged to use the MVC(Model View Controller) structure.In MVC a model cannot send messages directly to a specific controller.This can become a problem if data in your model changes independantly and you need to update this information in your view via the controller(The model must never communicate directly with the view).This is where a delegate comes in,it allows messages to be sent from the model to a controller that is not specified in the model but is rather specified by the controller,in other words the controller specifies itself. If you dont really understand what im talking about so far ,don't worry.I didn't understand delegates either until I needed one,but hopefully by the end of this tutorial you will understand not only how to use a delegate ,but the reason you would want to use one. Program breakdown For this tutorial we will write a program that has a model that will change an

Software Developers Experience building a robot Part 2(Tank treads and blue smoke)

Tanked As I mentioned in  part 1 , I had drawn the conclusion that legs were not what I wanted and that tank treads are probably the most overkill for weight bearing. So , I ordered a Rover 5 base. Rover 5 robot base Unforeseen requirements When the Rover base arrived I opened the box to discover something I had completely overlooked; I didn't have a motor controller. With no clue of what an H-Bridge was and a new found determination I decided to build my own motor controller using about 6 relays. It was finally time to get serious about soldering on those proto-boards. I used a breadboard to prototype a system that used 6 relays and 4 transistors. You could hear the loud clickity clack of the relays as the direction changed but I was pretty proud of my ingenuity. It was time to solder! This was the most intricate soldering task I had ever undertaken and it really showed that I'm more of a software kind of guy. I perceived it to be the longest time I have eve