4 ms·
When did you use Haskell? The dependency hell situation has vastly improved (and there are plans to make it much better still). I agree that a downside of Has
by Peaker 14y ago
When did you use Haskell?
The dependency hell situation has vastly improved (and there are plans to make it much better still).
I agree that a downside of Haskell's very high level nature is difficulty to predict some runtime characteristics. This is just an instance of the general trade-off between low-level and high-level languages. Everyone is already comfortable with the loss of easily predictable performance incurred by GC, but people are still not comfortable with the same w.r.t laziness.
I use Haskell for real world projects, and I find it more practical and more suitable than any other language I've ever used. Laziness rarely bites me, and has incredible real-world benefits such as easy refactoring and simpler code.
I think the silliness about PhD's is very very silly. Of the Haskell programmers I know, the majority don't have a first degree...
About profiling -- I have never profiled a Scala/Java application, but how much easier is it compared with: "cabal configure --enable-executable-profiling", and then running the program with "+RTS -p"? It may not be point-and-click, but it really is not hard at all.
- amm 14y ago>When did you use Haskell? Roughly two years ago. >I think the silliness about PhD's is very very silly. Of course it is. I just wanted to make a point that the "average programmer" has probably never seen a single line of ML-syntax before. >About profiling -- I have never profiled a Scala/Java application, but how much easier is it compared with: "cabal configure --enable executable-profiling", and then running the program with "+RTS -p"? It may not be point-and-click, but it really is not hard at all. I don't remember exactly what we tried, what worked and what didn't; we had no experts on the team, and just came to the conclusion that hooking up jconsole/yourkit/<insert jvm profiler here> to a running jvm process and see what's happening in real time on an app server was so much more comfortable.
- Peaker 14y agoTwo years ago the situation was far worse, dependency-hell-wise. About hooking up the process for some profiling information, take a look at: http://ocharles.org.uk/blog/posts/2012-12-11-24-day-of-hackage-ekg.html http://ocharles.org.uk/blog/posts/2012-12-11-24-day-of-hacka...
- codewright 14y agoIt's still bad and cabal is still bad. I was in #haskell on IRC not too long ago and they couldn't even figure out why a haskell-platform install couldn't upgrade its own cabal with no other packages installed. Your propagandizing is either based on very insulated anecdote or you're being disingenuous for the sake of promoting your favorite language. The salesmanship does not help Haskell and sets expectations poorly. Fix ghc-pkg and cabal! Clojure and Go make this look ridiculous and unnecessary. N.B. Been using Haskell off and on for 3 years. Never once has it not been a pain.
- Peaker 14y agoI am not saying cabal is perfect, but the situation has dramatically improved since the prevention of spurious reinstalls. It also seems that hackage uploaders are playing nicer these days, and I just generally get far less breakage. Lots of work is being done on Haskell's package system to make it better. I've been using Haskell for 5 years. It used to be very painful. It is only rarely painful these days.
- codewright 14y agoIt's rarely painful these days because you've spent 5 years learning it.
- Peaker 14y agoExperience comes into it too, but as I mentioned earlier, they mostly fixed the "butteryfly problem" by avoiding spurious reinstalls. The butterfly problem was the source of at least 90% of the pain relating to cabal installations. They are also going to allow multiple installations of the same package version with differing dependencies very soon, which will help alleviate some of the final problems still there with cabal. I do think that it is not my relatively smooth experience that is the anomaly, but your unsmooth recent experience. Perhaps your installation was somehow borked? Perhaps you were trying to install new packages using a very old "cabal-install" that still had long-fixed issues? If you just install the newest Haskell Platform and run "cabal install cabal-install" that does work on Linux. For Windows, IIRC, you also need to install cygwin/mingw (well-documented) and then it is a smooth install as well. I don't know about OS X but it is generally smoother than Windows. Can you describe in more detail the actual problem you encountered?
- Uchikoma 14y agoCould you elaborate what 'real-world' means to you in this context? Millions of users, hundreds of servers, a personal blog? 'Real-world' is often a very broad term with a huge likelihood of misunderstandings.
- Peaker 14y agoServing my real needs both for a professional job: * Debug information processing and analysis * Concurrent execution of tests * Build systems * Various automation/scripting needs and other auxiliary projects Also, in a different context, a structural editor for programming based on our own GUI framework (~10KLOC so far). This project is still preliminary but advancing at a (mostly) steady pace.
- Uchikoma 14y agoThanks.