Posted October 1, 2009 by Spyros in General Programming

What is The Best First Programming Language For New Programmers ?


This is a question that i am being asked quite some times and i thought that it should be nice that i write some things based on my experience, since it could help many new programmers.

My first programming language was C++. I remember taking a steep path in learning C++ and had very many difficulties in the process. Some people suggest that learning C++ or Java as a first programming language is a good choice. However, i tend to disagree.

In my opinion Java’s syntax is somehow complicated and the fact that classes are everywhere is a drawback for the new programmer. C++ seems a better choice since it has some clean syntax and there is no need to use classes for someone who starts learning it. I admit that C++ is probably a kinda nice starter’s pick but i also find that there are some disadvantages with C++ too. For instance, if i was a first time programmer i would find it A LOT easier to code in an interpreted language and not a compiled one. The compilation process is somewhat messy and most times needs complex editors like visual c++ and the likes. Moreover, C++ is strictly typed, meaning that you have to initialize everything you need to use under a certain type. To illustrate, you cannot do something like ” x = 3;” if “int x;” is not defined before.

For the reasons mentioned above, i believe that Java and C++ are not so good choices for a first language. I’ve certainly not programmed in every language available out there :) , but since i am a professional programmer, i happen to have used some of them. Some time ago, a friend suggested that python is a great language that i should take a look at. Indeed, i took up some projects with python to find that his saying were really true. Python is the only language since today that i really enjoyed programming in.

Some of you might be a bit doubtful, but i can assure you that once you learn python, you’ll understand thoroughly what i say here. Don’t mix Python with Perl though. They are completely different. Since Python has a greatly clean syntax, it’s a great language for first time programmers. Moreover, since they will have to indent, they will manage to keep their code cleaner, resulting in better code too.

What’s even better, Python is an interpreted language, meaning that you can just create a new file, write some commands inside, open your linux shell(or windows cmd), type “python program.py” and have your program execute at the same time, needing no compilation or any fancy IDEs :) Don’t get me wrong, IDEs are great, but since we are talking about first time programmers here, i suppose that learning a new IDE along with a new language is just extra effort.

Python is also loosely typed, meaning that “x=5” is just ok and you don’t need to initialize x as an integet object or such. Some may argue that python is just not that versatile as a programming language and is only used for small scripting tasks. Quite the contrary i assure you. Since Python makes programming easier, faster and more fun to do, it tends to be used in large projects as well ( it greatly supports object oriented programming too). There even exist graphic plot and game libraries for python, so i suppose that it’s pretty able to do anything.

To conclude, my advice to first time programmers is :

Program in Python, you’ll not only like it but learn programming quickly and efficiently.

Thanx for reading ! Till next time have fun and be well :~)