![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>>> Haskell sucks!
>>
>> Right. And what objective information are you basing that on?
>
> It's slow
This is easy to disprove.
A better statement might be "it's easy to accidentally make your code
very inefficient".
> and apparently very difficult to write anything with complex
> sound or graphics on Windows.
I'll give you that one.
(You don't need "complex" in there either. Just writing pixels onto the
screen is tricky under Windows, and I've *never* seen sound work at all.)
Things are improving in this direction, but there remains a long way to go.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
>> It's slow
>
> This is easy to disprove.
Like this?
http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=gcc&lang2=ghc
> A better statement might be "it's easy to accidentally make your code very
> inefficient".
OK.
> (You don't need "complex" in there either. Just writing pixels onto the
> screen is tricky under Windows, and I've *never* seen sound work at all.)
ie it sucks! :-D
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 06/10/2010 02:10 PM, scott wrote:
>>> It's slow
>>
>> This is easy to disprove.
>
> Like this?
>
> http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=gcc&lang2=ghc
How about this?
http://shootout.alioth.debian.org/u64/which-programming-languages-are-fastest.php
http://shootout.alioth.debian.org/u64q/which-programming-languages-are-fastest.php
Notice that out of the 20+ languages in each benchmark, Haskell is in #5
place. So out of 20+ languages, only 4 of them managed to be faster.
That's not exactly my idea of "slow". Haskell is showing up as faster
than F#, C#, Erlang, Lisp, OCaml, Clean, most of the Java stuff, Fortran
(!!), Pascal, Python, Ruby, and the rest of the shooting match.
Of course, if somebody had the time and patience to write an entry in
assembly, it would beat everything on the chart, but there we are...
>> (You don't need "complex" in there either. Just writing pixels onto
>> the screen is tricky under Windows, and I've *never* seen sound work
>> at all.)
>
> ie it sucks! :-D
There's a bit of a difference between "this language has a fundamentally
flawed design" and "this language was implemented by a bunch of Unix
enthusiasts and is therefore poorly supported on Windows".
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> How about this?
>
> http://shootout.alioth.debian.org/u64/which-programming-languages-are-fastest.php
> http://shootout.alioth.debian.org/u64q/which-programming-languages-are-fastest.php
Almost twice as slow as C/C++, that means if you're developing a program
that does anything in realtime, you can do twice as much in C++ than
Haskell. That sucks. All the other slower languages suck even more badly
for realtime stuff.
> There's a bit of a difference between "this language has a fundamentally
> flawed design" and "this language was implemented by a bunch of Unix
> enthusiasts and is therefore poorly supported on Windows".
Just different reasons for sucking. BTW, can you easily do
sound/image/video stuff with Haskell on Unix then?
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On 06/10/2010 03:42 PM, scott wrote:
> Almost twice as slow as C/C++, that means if you're developing a program
> that does anything in realtime, you can do twice as much in C++ than
> Haskell. That sucks. All the other slower languages suck even more badly
> for realtime stuff.
Right. And when somebody writes the benchmarks in assembly and it's
another 80% faster, that will mean that C sucks, right?
Never mind "minor details" such as reliability, maintainability,
security, development effort, portability...
> BTW, can you easily do
> sound/image/video stuff with Haskell on Unix then?
Presumably. I can't say I've tried it. There is an entire mailing list
devoted to that topic though. I gather people have written algorithmic
music composers, sound synthesizers, and all sorts of other crazy stuff
in Haskell.
FWIW, it's not *impossible* to do graphics on Windows. I've done it.
It's just more fiddly than it should be. (E.g., you have to install GTK
first, and then compile Gtk2hs from source, and when you finally get it
to work, all your applications look like Linux apps rather than native
Windows apps...)
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> Right. And when somebody writes the benchmarks in assembly and it's
> another 80% faster, that will mean that C sucks, right?
Now you're getting the hang of it :-) You see that pretty much every
language can be called "perfectly suited" or "totally sucks" depending on
what you want to actually do with it. If you want to compare languages then
*first* you need to explicity state what it is you want to do. You can't
just say "everyone agrees language X sucks", because they don't.
> FWIW, it's not *impossible* to do graphics on Windows. I've done it. It's
> just more fiddly than it should be. (E.g., you have to install GTK first,
> and then compile Gtk2hs from source, and when you finally get it to work,
> all your applications look like Linux apps rather than native Windows
> apps...)
Sounds like a good definition of "sucky" to me (if you're trying to write an
app with a Windows GUI) :-D
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> Now you're getting the hang of it :-) You see that pretty much every
> language can be called "perfectly suited" or "totally sucks" depending
> on what you want to actually do with it. If you want to compare
> languages then *first* you need to explicity state what it is you want
> to do. You can't just say "everyone agrees language X sucks", because
> they don't.
It defies belief that anybody could disagree that BASIC is a horrifying
abomination that should never be used for anything but the most trivial
programming tasks. I mean, hell, that's even the original *design goal*:
it's designed for beginners to do simple stuff with.
Still, this is the Internet. Any statement, no matter how irrefutable,
will none the less be refuted by somebody. (Moon landings, anyone?)
>> FWIW, it's not *impossible* to do graphics on Windows. I've done it.
>> It's just more fiddly than it should be. (E.g., you have to install
>> GTK first, and then compile Gtk2hs from source, and when you finally
>> get it to work, all your applications look like Linux apps rather than
>> native Windows apps...)
>
> Sounds like a good definition of "sucky" to me (if you're trying to
> write an app with a Windows GUI) :-D
Well, I wrote a couple of small GUI tools that are in production use
here where I work. None of the lab guys actually give a damn that the
GUI looks slightly different.
Of course, that doesn't mean it isn't sucky...
(I should point out that the situation is slowly improving. It's just
that there's still a long way left to go.)
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Invisible wrote:
>> First, I expect more production code has been written
>> in BASIC than Haskell.
>
> By which measurement? Number of applications? Number of lines of code?
Either of those.
> What counts as "production"?
Put up for sale and purchased? Business-critical computations run with it?
> Which dialects of BASIC count? (For
> example, where I work, we have a 4,000 line QBasic monstrosity which we
> use for scientific work, for reasons beyond my comprehension. Does
> QBasic count? Or is that too modern?)
See? That's exactly what I mean. How many businesses ran 8-bit software on
apples or radio shack or whatever? How many mainframe programs were written
in Haskell?
If you're going to start counting the variants of BASIC that don't suck by
your metric (e.g., VB.NET, VB6, etc) then I can guarantee there's orders of
magnitude more production code in BASIC than Haskell. I can guarantee
there's more demo code in BASIC than Haskell.
> I'm doubtful that BASIC has more production code than Haskell in terms
> of number of lines of code. OTOH, since I have no scientific data on
> which to decide either way, it's kind of an empty point.
You're too young, grasshopper. Back when BASIC was the language of choice
for personal computers, there was a crapload of production code in BASIC.
> Excel macros, makefiles and shell scripts are all strictly more powerful
> than BASIC in at least one objective way: they all support recursion.
> BASIC does not.
Makefiles don't support recursion except by invoking themselves externally.
It's only relatively recently that shell script have supported recursion in
the language itself.
Plus, when you're trying to solve a problem like building software,
recursion is a point *against* your solution.
>>>>> Truth is, if you compare almost any pair of complex objects, usually
>>>>> one is so clearly superior to the other that there's nothing to argue
>>>>> about,
>>>>
>>>> Except, you know, Holy stuff.
>>>
>>> That would be the other half of that sentence, yes.
>>
>> I would disagree on that.
>
> I said "when you compare two things, usually one is obviously superior
> to the other, *or* both have their uses". Which seems pretty
> uncontroversial to me.
I don't think you'll find too many people that agree that both Catholicism
*and* Islam "both have their uses". If you believe in either one, the other
is an evil plot from Satan to damn you to hell. If you don't believe in
either one, neither has a use. (Exaggerating, of course.)
--
Darren New, San Diego CA, USA (PST)
Serving Suggestion:
"Don't serve this any more. It's awful."
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
On Wed, 06 Oct 2010 09:20:03 +0100, Invisible wrote:
> Excel macros, makefiles and shell scripts are all strictly more powerful
> than BASIC in at least one objective way: they all support recursion.
> BASIC does not.
10 GOSUB 50
20 END
50 PRINT "RECURSION"
60 GOSUB 50
70 RETURN
Uh, wha? No recursion?
Jim
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
> See? That's exactly what I mean. How many businesses ran 8-bit software
> on apples or radio shack or whatever? How many mainframe programs were
> written in Haskell?
Well, since mainframes were more or less extinct by the time Haskell was
invented, I'm going to say "not many".
Come to think about it, if you're going to judge "the best language" as
being "the most widely used language", wouldn't that mean that Z80
assembly wins by several thousand miles?
> If you're going to start counting the variants of BASIC that don't suck
> by your metric (e.g., VB.NET, VB6, etc) then I can guarantee there's
> orders of magnitude more production code in BASIC than Haskell. I can
> guarantee there's more demo code in BASIC than Haskell.
VB isn't BASIC. It's an entirely unrelated language that just happens to
have a similar name and bares a vague resemblance to the syntax. Much
like Java and JavaScript (oh, excuse me, ECMAScript) have nothing to do
with each other.
Personally I greatly dislike VB, but there's little debate that it's
more powerful than the original BASIC.
>> Excel macros, makefiles and shell scripts are all strictly more
>> powerful than BASIC in at least one objective way: they all support
>> recursion. BASIC does not.
>
> Makefiles don't support recursion except by invoking themselves
> externally.
What, a make target can't invoke itself? I thought it could.
> It's only relatively recently that shell script have
> supported recursion in the language itself.
Well... if you say so. I'm only commenting on the state of these
languages today (because that's all I know about).
> Plus, when you're trying to solve a problem like building software,
> recursion is a point *against* your solution.
I disagree.
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |