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.
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.
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....
9 comments
[ 28.1 ms ] story [ 828 ms ] threadI 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.
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.
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.
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....
try learning these easy languages, they will give you the basic building blocks to learn anything else: - bash - python - golang