I think my professor posts on /g/
>uses a thinkpad
>uses Arch linux and runs xmonad
>favorite language is haskell
>refers to windows as "that disgusting thing that starts with w"
>had a strange expression on his face when I asked him how certain things Java has like exception handling were handled in Haskell
>turned very dismissive towards me when I asked him how Haskell maintains it's declerative functional purity if it has to compile down to imperative assembly machine code
Did I fuck up? I really didn't expect him to get butthurt about it I was just wondering if declerative machine code would be possible. I was kinda surprised that someone with a PhD would be so dismissive towards certain technology I mean Windows Java Haskell and Linux are all different tools for different jobs.
> I was just wondering if declerative machine code would be possible
Any imperative code can be programmed as purely functional code. Theoretically.
Problem is how to do it. If we had that one figured out right, it'd lead to an explosion in software quality and development speed.
But there's obviously a pretty big snag between human and programming language design and compilers, nothing too reasonable has been figured out yet.
Haskell and Scala and the likes aren't bad, but clearly they aren't resulting in entirely reusable code, or something most programmers who could have written the imperative pendants could deal with.
No, it's true. Mediocrity rules the roost in technology industry and it's only natural that people get pissed when they see inferior technology trump potential greatness. See Plan 9 and basically all functional approaches to programming, until very recently, when it seems to have become de rigueur.
Pic related? Snapsort? LinkedIn? Fetlife?
(And a lot more? You just have to go through production users listed on JVM-based Apache / database / major Java framework projects and the like to find them.
Right, some of these also could be using Scala or Clojure or such, but the odds are far bigger that they use Java, or also use Java.)