DEV Community

Raji Ayinla
Raji Ayinla

Posted on

What is the easiest programming language to learn?

Since I learned OOP through Ruby I figured it was the easiest programming language to learn. Is there a consensus among developers about what the easiest programming language to learn is?

Top comments (18)

derickson82 profile image
Dan Erickson

Learning a programming language is easy. Learning how to program is hard. :)

In university classes, I had to read and write a lot of pseudocode. It was good, because it helped me focus on the important stuff, without the syntax of a language getting in the way. It was bad, because it could not provide any feedback, and therefore I couldn't be certain that it was correct.

A slightly different question might be, "What programming language is best for learning how to program?"

One of the best essays on the topic that I have encountered is Bret Victors Learnable Programming. It is a long read, but fascinating. It presents "a set of design principles for an environment and language suitable for learning." He happens to target javascript and Processing as two languages that are not suitable for learning, but it would probably be difficult to find any language that meets all the criteria.

It would be an interesting exercise to try and rank programming languages and environments by the criteria he presents. But, much like pseudocode from my professors, I will leave that part as an exercise for the reader.

qm3ster profile image
Mihail Malo

On one hand that's preposterous.
On the other hand, that's almost exactly what a time-travelling debugger + hot module reloading + strictly typed language + intellisense give you.
But for real projects and not bouncing balls.

bluemihai profile image
Mihai Banulescu

What an amazing article. Thank you!

I joined this community exactly to have things like that brought to my attention...

realrayinla profile image
Raji Ayinla

It's actually a much better question. Thanks for the article. I bookmarked it for a future read.

idanarye profile image
Idan Arye

Brainfuck. Only need to learn 8 simple commands.

pbouillon profile image
Pierre Bouillon

What about whitespace for readability ?

idanarye profile image
Idan Arye

The topic is learnability, not readability. Brainfuck's commands are more intuitive and are therefore easier to learn.

Thread Thread
pbouillon profile image
Pierre Bouillon

I was just kidding ahah, but I get your point :)

ed_the_coder profile image
Ed Hazledine

I would say Python is the easiest to learn (but that's as it's the first one I learnt). It's fairly readable (almost pseudocode) and doesn't have too much syntax to get your head around. But at the same time it's a language that is also used professionally and has a lot of depth to it (unlike say something like Scratch, which is easy to learn but perhaps not particularly useful if you want to continue).

But as others have said it's more important to learn how to program first, instead of a particular language. Getting those fundamentals can be done in any language.

niorad profile image
Antonio Radovcic

In terms of simplicity I think Lua is one of the better ones.
That's why it's a popular choice as scripting-language (WoW, Pico8).
It also is pretty mature and isn't going through many changes (like JS).

recursivefaults profile image
Ryan Latta

Throughout history, one truth exists in all of software development: There isn't consensus on anything.

Having said that I often recommend ruby for how simple it is to start with and how you have to learn very few oddities to express your ideas or concepts.

Java/.Net comes with a huge ecosystem and set of tooling that can be cumbersome. Javascript has way too many peculiarities to work around. Python is a really good candidate, but I'd argue it has a few more rules you'll have to learn before you can express your ideas.C++ is right out.

For me, when I work with new developers if they want to learn OO, I find something that will help them get into OO as effectively as I can. For many programming concepts, Ruby will fit the bill nicely without asking that you learn a lot of Ruby-specific things.

Just my opinion though, and I know a lot of people will disagree with it.

eljayadobe profile image

I think the first step is figuring out what you want to do.

If you want to program for an iPhone, probably should learn Swift.

If you want to program for .NET, probably should learn C# or F#.

If you want to learn to program for great good, then you should Learn You a Haskell for Great Good!

If you just want to learn programming in general, I think Python is a good language for learning, as well as being a good language in general.

itr13 profile image
Mikael Klages

A visual programming language, like scratch, is probably the best for people who aren't used to the more logical part of programming, as it helps visualize what happens.

Other than that I'd say a scripting language with a lot of tutorials and few pitfalls might be good, like python or lua.

Basically anything that helps abstract the programming and gives instant feedback, and preferably also can scale to help teach more complex programming later

gabescarbrough profile image

My first language was Python and that's as good a choice as any. Minimal boilerplate and reads like pseudo-code. I prefer Ruby at this point but Python's tendency to be more explicit is useful for new programmers, I think.

At the end of the day, learning comes down to motivation so the 'easiest' language is whatever one has the tools they need to do what they want to do. Modern JavaScript is the best choice if they are interested in front-end development, Python for data science, etc.

dmfay profile image
Dian Fay

SQL! You only have to know four commands :D, there isn't.

nektro profile image
Meghan (she/her)

The one you’re excited and compelled to learn. No matter the language the easiest one to learn will the one you have fun while learning it by making something in it.

david2999999 profile image
David Jiang • Edited

I prefer java, but many people are saying python is easy to learn. I guess I just couldn't live without curly brackets. .^

elmuerte profile image
Michiel Hendriks

I think Scratch is probably the easiest language to learn.