Ask HN: Which is the easiest programming language to start with

5 points by totaldude87 ↗ HN

9 comments

[ 28.1 ms ] story [ 828 ms ] thread
This is a hard question to answer.

I learned C# after programming C-like languages for me, and it was incredibly easy. I was productive in two days. By contrast, I found ReasonML (Ocaml-like) that I gave up.

For an absolute beginner, ReasonML might be very easy. They have a fresh mental model.

With this in mind, and also considering that hinting/linting and reasonable errors are hugely useful, I'd guess that something like Kotlin or Dart would be the easiest.

Scratch is super easy, and it will teach all the basics.
Python—it reads almost like English. It's also general-purpose so good for many things.
IMO when you want to learn concepts of OOP, etc. - Python would mislead a lot of new comers. Anything that drills down the concept of encalpsulation and the whole idea of public/private data and methods - Python is just too flexible to a new comer.

Also, python is very very expressive(list/dict comprehensions, unpacking, etc.) and new comers when they want to study some existing code - it becomes a huge programming language to learn.

I personally would recommend any strictly typed langauge.

Alternatively, you can teach python but limit it to only few basic features.

Python is such an incredible language (batteries included) and insanely powerful - just that it is not for newbies despite of its beginner friendly syntax and appeal.

Well... I started with an Apple II and 8-bit BASIC. In today's terms, it's not a high-level language, but it's easy to learn.

Depending on how you sell it, you can bundle the charm of vintage computing with it.

I hear people have good experiences with Python and PyGame.

I'd avoid distractions such as an IDE for the start, not to confuse the learner with what is the language and what is the surrounding environment.

first learn data structures then algorithms and at the end all languages becomes easy
This is a pretty open question. Who is learning and what do you want to program?

If your an adult starting out, I would go for popularity over easiest. Python or C, as you most likely have the ability to work through one of the many tutorials without needing immediate gratification.

If you are asking for a kid that is completely new to programming. I would suggest buying them a spirograph. When they get bored with that hit them with LOGO and follow that with scratch.

If your trying to learn how to run a 3d printer, laser cutter or CNC machine. It would be far better to jump into the Arduino C environment.

In the late 70s early 80s there was an awesome toy called Big Trak that got kids thinking with a programming mindset maybe there is a new modern version available these days.

If you want to kearn how to program in ML or AI, i would suggest learning graph theory....

Use an IDE with syntax highlighting support (vscode?), this will help you pick out issues with your code, its like "guardrails".

try learning these easy languages, they will give you the basic building blocks to learn anything else: - bash - python - golang