Earlier quoted context omitted.
I learned Haskell and used it (and heavily functional Scala) professionally for about 6 years. I feel learning Haskell was worthless. It did not teach me anything about decomposing problems into function units, compositional sequences, pure functions / immutable data structures, lazy evaluation or asynchronous programming that I have found useful in modeling solutions to software problems. Guarantees from the compile…
Thank you. This is an important point that deserves to be discussed more. Would you mind sharing what business domain you were working in? I’ve seen static FP being used/popular in finance but not much elsewhere. Also, do you have a favourite language now?
What I Wish I Knew When Learning Haskell
121–130 of 149 posts
Re: What I Wish I Knew When Learning Haskell
#122Earlier quoted context omitted.
> Colleagues from outside the state (still!) often wonder how I can survive in a place like Austin, Texas, automatically assuming that Texas’s solid conservatism guarantees equally solid mediocrity. My usual answer is something like “Don’t worry. The CS Department is quite an enlightened place... Very Dijkstra to start by insulting the intended audience. Wonder if it had the intended effect?
I don't see the insult? He's saying that anyone who assumes that the CS program was mediocre is mistaken
Re: What I Wish I Knew When Learning Haskell
#123Earlier quoted context omitted.
>I feel learning Haskell was worthless. It did not teach me anything [..] Did you already know most of it from Scala?
I learned Haskell first, then Scala later for a job.
I thought I had some idea about controlling state and writing composable systems before, but I see now how rudimentary and flawed it was. Maybe you just got it quicker.
Re: What I Wish I Knew When Learning Haskell
#124A few years ago I accidentally deleted my entire Haskell assignment about 1 day before it was due. Within a few hours I rebuilt it from scratch. That's when I realized the power of functional programming. There's no way I have been able to recover that quickly if I had used an imperative programming language. Since that experience I've tried to follow a functional programming style whenever I can. I've realized that…
But it was a programming assignment. Building a thing fast is, outside of very few situations, not a thing to optimize for. Building something to be maintained and evolved over time by non rockstars is far far more important, IMO. Perl is great for ripping through some script quickly but it has problems for long term maintenance.
Time is money.
Re: What I Wish I Knew When Learning Haskell
#125If you're thinking of learning Haskell you should consider the software written in haskell as an indicator of, well, something. List all the programs useful for something other than programming a computer written in haskell: Xmonad window manager Git annexe Pandoc What else, let's get the full list. Exclude anything that we can't directly see or use. I say, yes! Learn Haskell! Just don't expect to write any useful pr…
Re: What I Wish I Knew When Learning Haskell
#126Earlier quoted context omitted.
Performance. Internal representation. You are not actually modifying things in place. Those are the equivalent of linked lists not arrays. That quicksort is not quick at all because the append operation in Haskell is linear. You can't use those lists to implement quicksort.
“Modifying things in place” is, from the logical standpoint, an unnatural and even dangerous thing. A person that is not familiar with (imperative) programming often has a hard time understanding variables and assignments (similar to some programmers not understanding pointers). Mathematics doesn’t have assignments, either. That should tell you something...
Re: What I Wish I Knew When Learning Haskell
#127Great timing. I was just pondering what functional programming language I should attempt to learn in all my new downtime.
Re: What I Wish I Knew When Learning Haskell
#128Great timing. I was just pondering what functional programming language I should attempt to learn in all my new downtime.
I see a lot of people below saying to chose a functional language other than Haskell. As someone who's currently learning Haskell, I'm finding it _incredibly_ interesting...but I've heard that many of the free online resources don't lay the necessary foundation for learning the more advanced concepts. I'm 6 chapters into Haskell Programming from First Principles [0], and I highly recommend it. [0] https://haskellbook…
Re: What I Wish I Knew When Learning Haskell
#129A few years ago I accidentally deleted my entire Haskell assignment about 1 day before it was due. Within a few hours I rebuilt it from scratch. That's when I realized the power of functional programming. There's no way I have been able to recover that quickly if I had used an imperative programming language. Since that experience I've tried to follow a functional programming style whenever I can. I've realized that…
But it was a programming assignment. Building a thing fast is, outside of very few situations, not a thing to optimize for. Building something to be maintained and evolved over time by non rockstars is far far more important, IMO. Perl is great for ripping through some script quickly but it has problems for long term maintenance.
How much time is wasted on debugging? Functional programming forces you to deal with your bugs at a much earlier point of development.
It also forces you to avoid some bad practices just to meet a deadline.
And since you're re-using so many component, you spend much less time with boiler plate code.
Re: What I Wish I Knew When Learning Haskell
#130Earlier quoted context omitted.
> Colleagues from outside the state (still!) often wonder how I can survive in a place like Austin, Texas, automatically assuming that Texas’s solid conservatism guarantees equally solid mediocrity. My usual answer is something like “Don’t worry. The CS Department is quite an enlightened place... Very Dijkstra to start by insulting the intended audience. Wonder if it had the intended effect?
I don't see the insult? He's saying that anyone who assumes that the CS program was mediocre is mistaken