42
What makes Lisp difficult to read?
(paultm.nl)
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Follow the wormhole through a path of communities !webdev@programming.dev
My students who did Haskell last year all passed with flying colors. I think the examples above are plenty clear, and the students also found them clear after I explained them, and with enough practice it wasn’t an in issue. I read the literature, practice it, and then use my teaching skills to teach it. It’s my job, and I take pride in what I do.
I’d say maybe the hypothetical you just needs a good teacher to show how it’s done, or the hypothetical student needs to read it enough till you understand it. In math we also have symbols, in math we also use shorthands. Why not in compsci?
Bar that, Haskell is just not a language that’s suited as a first language. The literature expects from you to be able to understand technical manuals. You don’t go teaching Rust to 8th graders, you don’t go learning Haskell without knowing at least what currying means.
As for brackets, you’re free to put them wherever you want; the professional are also free to do what they want, and it’s usually a good idea to adhere to a standard.
I remember a promising study about Haskell as a first language several years ago. The much bigger problem is indeed documentation and building a curriculum for beginners than anything about the language itself (currying included -- without background from another language you aren't already stuck in the mental state of "every function is uncurried").
Haskell is my favourite language and I like LYAH but at the end of the day OCaml infrastructure for beginners is just better. LearnOCaml in particular. It's a worse language but I get to focus on the "paradigms" part of my course without having to spend extra time teaching how to jump through Haskell's hoops. (They're good hoops, but if I covered them quickly, students wouldn't see it that way, I think.)
If we could get LearnHaskell or something and have it as easy to write exercises and configure, I'd seriously consider switching.