Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon.

Pages: 1-

Why Haskell is great

Name: Anonymous 2009-11-24 22:19

The idea is that you can split up the program in parallel tasks in a fully automated way. If you as a programmer even have to think about parallelizing, I’m sorry, but then your compiler is “doin’ it wrong” and your languages is from the stone age. ^^
An a bonus, when you can completely rely on a function with the same input producing the same output, you can also throw caching in there algorithmically (where required, on-demand, whatever you wish)
But bla... that is all just the stuff on the surface. Like explaining the pointlessness of “metaprogramming” when there stops being a difference between data and code.

I find the most amazing thing about Haskell as it is today, is that things that need the addition of new constructs to the language and a big change in the compiler, are just your normal library in Haskell. It can look like a whole new language. But it’s just a library. And that is amazing!
Then, when you get to the GHC extensions, things that are as much on the forefront of Informatics science as the LHC on physics, with everybody else copying it years later... Sorry, but if you like elegance in programming, ...I just have no words for it...

The thing is, that it’s crazy hard to learn. Which is not a fault in language design. Because it’s very elegant. It’s simply the fact that it is so far ahead of anything in your everyday language. You won’t expect to sit in a spaceship and drive it like your car too, would you? Or program the LHC like a VCR.

Yes, I am a fan. Even if I sometimes hate it for being so damn smart compared to me the normal programmer. But I became so much a better programmer in all other languages, it’s crazy.

It’s simply a completely different class of skill. And that is why one should learn Haskell. Fuck the “Oh, we’re now only coding in Haskell” attitude. When you really understand the ideas behind it, every language becomes Haskell. And you can write practically bug-free programs of...

Aaah, what am I saying. <John Cleese>Oh it’s driving me mad... MAD!</John Cleese> *slams cleaver into the table*
*head developer comes in*
Head developer: Easy, Mungo, easy... Mungo... *clutches his head in agony* the war wound!... the wound... the wouuund...
Manager: This is the end! The end! Aaargh!! *stabs himself with a steel lambda sculpture*

Name: Anonymous 2009-11-24 22:45

For the majority of tasks, paralellization is not that useful, and for many of those where it is useful, it's easily parallelizable. Haskell excels at those few tasks which are extremely difficult to parallelize, but are vastly improved by it. But for most tasks, if it's easy enough to parallelize in C (or impossible to parallelize at all), why bother with Haskell?

http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=ghc&lang2=gcc&box=1

And most importantly, why bother with Haskell for the vast majority of software development, which is internal business software that is in no way performance constrained?

Name: Anonymous 2009-11-24 22:47

You know, on /. this effected some mild contempt in me, but on this board it reads as just another low-level troll who's trying to hard.

Name: Anonymous 2009-11-24 22:47

U MENA HASKAL?

Name: Anonymous 2009-11-24 22:59

>>4
your brain it is made out of poop

Name: Anonymous 2009-11-24 23:58

>>5
U MENA CRAP?

Name: Anonymous 2009-11-25 0:13

Well, pure functional languages are (potentially) good for concurrency in general. Because they have no mutable variables in the usual sense, it doesn't actually matter what order functions are evaluated in (other than the fact that callers cannot continue until their callees return). You can't do this in C or Java because it might be necessary for one function to see a variable modified by another. In a functional language, any dependencies are explicit call-return relationships (well, ish, they typically do have some non-functional constructs otherwise it's hard to do IO!), so in principle it's quite easy to split up a program's work across multiple CPUs (or machines) and not worry about whether they need to talk to each other.

Haskell, along with the ML family of languages, also has an amazing type checker that is waaay more sophisticated than most other languages. I think most people who've played around with these languages do start to feel that often "If it compiles, it's bug-free". Obviously that's not something you can rely on, since the compiler can't know what you meant to do. But it is true that the type system is *way* more useful at detecting bugs at compile-time than for any conventional language I've used.

Name: Anonymous 2009-11-25 0:22

>>1
>>7

Is this the thread where we copy posts from /.?

Name: Anonymous 2009-11-25 0:36

Apple releases iPod
Posted by CmdrTaco on Tue Oct 23, 2001 01:20 PM
from the well-thats-not-very-exciting dept.

"At an invitation only event Apple has released their new MP3 player called the iPod. iPod is the size of a deck of cards. 2.4" wide by 4" tall by .78" thick 6.5 ounces. 5 GB HDD, 10 hr battery life, charged via FireWire. Works as a firewire drive as well. Works in conjunctions with iTunes 2. Here are Live updates".

No wireless. Less space than a nomad. Lame.

Don't change these.
Name: Email:
Entire Thread Thread List