5 ms·
I stay away from flame wars and actively attempt to see the whole picture. My experience is my own, viewing students confront different languages and just look
by godmodus 10y ago
I stay away from flame wars and actively attempt to see the whole picture.
My experience is my own, viewing students confront different languages and just looking at it all grow. I'm biased towards myself, heh.
I certainly agree that haskell is awesome. And I know what you're Trying to say.. We're Sadly educated to prefer a certain syntax, and many programmers are still bad at math, bar a devoted and lucky core.
- ruslan_talpa 10y agoI think it's a pity that whenever someone dives into haskell, in the first few tutorials/pages he immediately is show how this great beauty comes from math and category theory and how it's all connected and they get discouraged very fast (if they were not exposed too much to college level math). If you find the strength to ignore that for a bit in the beginning and find a path laid out by a professional developer, you can do amazing useful stuff without understanding the math behind it that would be quite hard to accomplish in other languages. Anyway, whoever thinks at diving into haskell, ignore everyone that says it's hard, don't look at math staff in the beginning, and don't try to do to much IO like reading/writing from files/db all over the place.
- khedoros1 10y ago> don't look at math stuff in the beginning It's inherently more math-y: No state, just functions that have a given output for a given input. Ignoring things that I would call "math stuff" means ignoring the language, beyond trivial expression evaluation. > and don't try to do to much IO like reading/writing from files/db all over the place. Ah, cool. Just don't do too much of the useful stuff, and you're good. Haskell, and FP in general, has always seemed to me like something that you just have to bite the bullet and dig into. Take it for what it is, and not what someone else tells you about it.
- ruslan_talpa 10y agoIn defence of my advice with which you seem to disagree. Avoid math stuff: By math stuff i mean "category theory", you don't need it to do useful stuff and it's better to avoid it when you learn the language and get comfortable with it. You also seem to imply that (pure) functions are somehow math-y, i am not sure most of the developers see a function definition and think math. Don't do to much IO: I didn't say "any", i said too much. It's a way to avoid getting thrown at the deep end of the pool (monad transformers) when taking your first steps. The two most popular Haskell tools/projects, Pandoc and PostgREST have very little IO in them, and yet they are immensely useful. About biting the bullet: I think expressions like these propagate the notion that somehow haskell is harder then other languages and you just have to expect that and get used to it, thus ppl don't even bother an run away when they hear Haskell. In my personal experience (following the 2 things above), after 2-3 months of learning Haskell, i was able to do this https://github.com/ruslantalpa/skin https://github.com/ruslantalpa/skin which 1 month later became the base for the current PostgREST core. Sure the was refactoring and such (with the help of more experienced haskell devs) but the fact is, a few months into the language i was able propose and implement deep changes to useful Haskell tools. My ability to do those things did not come from me being some kind of genius (I mostly did PHP and JS all my career) but precisely because Haskell gives you such powerful tools and is easy once you give it more then 2 weeks of your time. What was your path to learning Haskell? Why do you feel like you had to "bite the bullet"?
- douche 10y agoUnfortunately, to do much that's actually useful, you hit IO real fast. That was the most difficult thing that I remember from my undergrad intro to programming class in Haskell.