4 ms·
Most people learn programming so they can eventually get employed as programmers. Learning Haskell, or any niche language, may impart some deeper understanding
by gregjor 4y ago
Most people learn programming so they can eventually get employed as programmers. Learning Haskell, or any niche language, may impart some deeper understanding of programming, but it won't get most people any closer to employment.
Don't underestimate the value of immediate success and gratification. Almost anyone can get "Hello, world" to work in Python (and I could name several other similarly "easy" languages), from installing Python to seeing something work, no matter how trivial. Getting to the same point and understanding how the code you wrote works with Haskell or Lisp presents a bigger hill to climb, which will discourage people. I have taught and tutored teenagers and college students in programming, and I've seen them get discouraged right away because they don't feel like they succeed in small ways.
All evidence from decades of programming indicates that most people understand procedural languages and style more readily than they "get" OOP or functional languages. Once someone understands the basics of writing any useful code and feels comfortable with things like control flow, variables, functions, data structures they can expand their skills with object-oriented and functional programming. I don't think those make good starting points, though. By analogy, children learn to read very simple books with pictures, because we want to teach them how to read anything. They can get to Shakespeare and technical books later, once they feel confident reading simpler books.
- skydhash 4y agoPython got me into programming. I found about 3D and Blender after I got my first computer. While researching tutorials, I come across a book about creating games with the Blender Game Engine. I got interested, and installed Python on my PC. There was a tutorial section inside the help file, and you could test everything inside the IDLE app (Even GUI programming with Tkinter). No need to download anything else, which was a huge boost as I did not have proper internet at home. Python is straightforward to get started with. More so than JavaScript because, you do not need to learn 3 languages and can do quite interesting stuff without learning a lot of stuff at once. C is also easy to teach, but all hell breaks loose when you got to pointers.