Choose your first programming language

So you wanna learn programming. Of course you have to choose your native programming language. If this ain’t your first article(and google analytics says it’s not), then  you probably heard that c++ is everything and you’re pretty sure this is gonna be “your first”, but you just wanna be as sure as you can be.

First of all, you have to know that the language is not such a big thing, it’s mostly a symbolic thing, it’s really just “your first”, there’s gonna be a lot more afterwards.

Secondly, you really have to know more than one PL(programming language)  to be a programmer, it really doesn’t matter that much which one is the first one.

But still, you have to choose, so which is gonna be?

I’ll assume you want to start with a procedural(imperative) language and continue with OOP(object oriented programming). If you don’t know what imperative or declarative programming are, don’t worry, you don’t have to, but you can read everything about programming paradigms on wikipedia.

C++ is the most used system at the moment, but would you choose something just because it’s the most used? I wouldn’t. But if  C++ is the most used, isn’t also the best? Not now, but it definitely used to be.  There was a time, aeons ago, when a shorter syntax meant a shorter compilation time, therefore a better language. As time passed, of course that a lot of people learnt the best programming language and they also passed their skills to their youger apprentices and that’s how C++ got to be the most programming language of our times.

To learn to program, you need to understand the hundreds of examples on the internet. What do you understand easier between the following examples?
void main{
int i;
for(i=0;i++;10){
if(i=5||i=7){
cout<<i;
}}

or
program name;
var i:integer;
begin
for i=1 to 10 do
if i=5 or i=7 then
write(i)
end.

or
Sub name()
Dim i as Integer
For i=1 To 10
If i=5 Or i=7 Then
Console.Write(i)
End If
Next i
End Sub

For me the most legible is the second one, and that’s Pascal, but the third one, Visual Basic, is also better than C++, but I already am a developer and I can program in any of these 3 languages and others, what is your flavor?

In my country, everyone says you have to learn to program from low to high, where low means without any IDE and high means using a RAD. In my opinion this is completely wrong. If I am an absolute beginner, how the hell am I supposed to transform a blank, stupid text editor into an executable program. I advocate for high to low programming learning. A good RAD(rapid application environment) is your best friend through this journey. When you don’t know what to do, a RAD usually helps you. Also, it has a comprehensive help for your programming language. Of course it hides some super-complicated stuff from you, but you’ll learn that, when you’ll need it. This is the second big advantage of Pascal, the best RAD that has ever been build is built for Pascal and that is Embarcadero Delphi(formerly known as Borland Delphi). Delphi costs, a lot for a learning software, but I wouldn’t necessary pay for a software unless I need it for commercial use or I really want to support the developer. If you don’t want to break any law and the 30 day trial isn’t enough for you(of course it isn’t, you won’t be a programmer in 30 days) you have an alternative, LazarusLazarus is a free, opensource alternative for Delphi, which looks a lot like an older version  of Delphi. Lazarus is for Delphi what LibreOffice is for Microsoft Office. It’s not as cool, but most times it does the same job. But that’s not all, the best and the coolest thing about Lazarus is that it has a Linux version that is 99% the same, this means that is somehow easier to port your code between Linux and Windows.

If you are already a Linux user, then Pascal and Lazarus is your best combo. If you’re a Windows user and you want to learn programming, I wouldn’t recommend you to start learning on a new OS, because you’ll spend your time learning the OS instead of programming.

At the end of the day, the most important thing about choosing a programming language is what do you prefer {} or begin end; In my opinion if you use Pascal to learn programming, it is a little bit easier and if you use a RAD, is a lot more fun and enjoyable. When you’ll be a programmer, you’ll have to know multiple programming languages, so it doesn’t really matter which do you choose to be your first, but when I was young, I choose the sexier one.

If you have any questions or comebacks please comment.