POV-Ray : Newsgroups : povray.off-topic : Holy Wars Server Time
12 Oct 2026 22:43:48 EDT (-0400)
  Holy Wars (Message 1 to 50 of 63)  
Goto Latest 50 Messages Next 13 Messages >>>
From: Invisible
Subject: Holy Wars
Date: 4 Oct 2010 05:03:30
Message: <4ca99862$1@news.povray.org>
Holy Wars. Computer nerds seem to be having them all the time. Take 
programming languages, for example. Need I elaborate further on the 
death threats and other raving lunacy that has been uttered over 
programming languages? And text editors. I don't even need to tell you 
the crazy words that have been spoken about mere text editors. But those 
are just the well-known ones. Windows vs Linux vs MacOS. FAT vs NTFS vs 
ext2 vs ext3 vs RiserFS vs XFS vs WTF-are-you-on-about-FS. Kerberos vs 
NTLM. SSH vs IPsec. KDE vs GNOME. Debian vs SUSE vs RedHat vs Corel vs 
Small Pink Lizard Linux. Intel Core i9 vs AMD Phenom II. MP3 vs AAC vs 
WMA vs Ogg Vorbis vs FLAC vs Monkey. MPEG1 vs MPEG2 vs Xvid vs DivX vs 
H.264 vs my grandma's old valve TV. WinZip vs WinRAR vs 7zip vs UPX vs 
infinite monkeys with typewriters. Quicksort vs mergesort vs heapsort vs 
shellsort vs radix sort vs my receptionist. I could go on. (And on, and 
on, and on...) The short version? For whatever reason, computer geeks 
seem to spend forever arguing about stuff.

Basically what most of these arguments boil down to is "my favourite 
tool for X is the best - and you should all agree with me".

Now, think about that for a moment. "My favourite"??

Tell me, how many Holy Wars have you seen fought over whether strawberry 
icecream is better or worse than chocolate icecream? Uh, none. Nobody 
*cares* what you think is the best icecream, because everybody realises 
that IT DOESN'T MATTER. It's just a personal preference that doesn't 
make any difference to anything.

Then again, icecream isn't a tool. So how about real tools?

Well, I don't know any mechanics *personally*. But I've yet to see a 
bunch of them get into an irate shouting match about whether an 
adjustable spanner is better or worse than a well-made fixed spanner. 
You can see how there would be merits to both, and how some people might 
prefer one to the other, and they *could* spend months debating it... 
it's just that they don't. As far as I'm aware, no mechanic actually 
gives a **** about the difference. Given the option, they just use 
whatever tool they prefer, and if there isn't an option, why argue about 
it? It's just a tool.

What you *do* sometimes see is wars fought over styles and fashions. 
Stuff like the Mods vs the Rockers. But that's more about tribal 
supremacy than anything rational to do with clothes.

So WTF is up with all these Holy Wars about programming languages? Well, 
here's my best guess:

1. A programming language is a tool. You use it to write programs with.

2. Some programming languages definitely *are* "better" than others, in 
an objective way.

For example, take BASIC. The 1980s was a decade of 8-bit home computers 
running BASIC. It's a great language for non-experts trying to piece 
together simple programs. But no sane person will seriously suggest that 
BASIC is any match for the likes of C, C++, Java, Lisp, Erlang... I 
mean, come *on*! It has a global namespace, it has 3 data types (and you 
can't add new ones), hell it doesn't even support recursion! Exception 
handling? What exception handling?

3. The majority of computer programmers - *especially* the vocal ones 
who join in Holy Wars - write computer programs out of passion, not 
necessity. Writing computer programs is difficult and frustrating. Doing 
it even remotely well _requires_ persistence, determination, motivation 
and, frankly, intelligence. In other words, hobby programmers are 
persistent, determined and highly motivated people. And most of them 
consider themselves highly intelligent (whether they are or not).

4. Suppose you have an IRC conversation that goes like this:

Alex: I think programming language X is the best.
Bob: Actually, I think programming language Y is the best.
Alex: I don't think that's true.

Determining which programming language is superior requires real insight 
and intelligence. And if you fail to see why one language is better than 
another, basically that means that YOU'RE STUPID.

If I sit here and tell you why my favourite programming language is 
better than the one you use and you still don't agree with me, that 
basically means that you're too stupid to understand why I'm right. And 
if somebody insists that their programming language is better than mine, 
basically they're suggesting that I'm too stupid to see why.

People don't like being stupid. But *especially* people who consider 
themselves experts on something, and who often spend every spare minute 
soaking up more information and more knowledge for no reason other than 
passion and intellectual curiosity... *Those* people do not like being 
called stupid at all!

And that, I think, is what all these Holy Wars boil down to. "X is 
better than Y, and if you can't see that, you're stupid!" "What?! Y is 
*clearly* better than X! How dare you call me stupid! YOU'RE STUPID!" 
"NO, YOU ARE!!!1!1!!eleven!" General chaos ensues.

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, 
or else both have advantages and disadvantages, and which one is "best" 
depends on what you're trying to do with it. And yet people still want 
one to be the "winner". People still want to "win" arguments.

Now obviously there are people out there who just like arguing with 
people. But even sane, apparently rational computer geeks somehow end up 
having shouting matches about whether the Java VM is better than the 
Microsoft CLR (or something equally moot). Somehow, it's hard to resist.

Take me, for example. I know that Haskell is not the best solution for 
all situations. For example, while it's a fantastic language, the 
library support is patchy at best, it's not brilliantly integrated with 
Windows, and debugging leaves *a lot* to be desired. But you know what? 
I don't *care*. I *want* Haskell to be "the best programming language", 
or to eventually *become* "the best", because I *like* it. It's so 
*perfect* for the kind of code I write. It makes everything I want to do 
so *easy*. It's the coolest thing I've ever seen in my life - and it 
makes me angry that everybody else thinks I'm a moron for saying so.

It stops being a rational argument and degenerates into "I must prove 
that Haskell is the best, no matter what it takes". And that's when 
things start to get crazy.

Now personally, I now try to avoid claiming that Haskell is the best at 
everything. I know it isn't. I point out what's bad about Haskell as 
well as what's good. Unfortunately, it doesn't matter what I say. Nobody 
will ever be interested in Haskell, and that makes me very sad. It makes 
me feel like "I lost". Which is silly - *I* still have Haskell, *I* can 
still use it in whatever way I want. But it's upsetting to me that I 
lost the argument, and nobody else sees how awesome Haskell is. And so 
unless I'm careful, there's still the danger that one day I will find 
myself screaming "HASKELL RULES, YOU FOOLS!" again.

This, I hypothesize, is why Holy Wars are fought. About all kinds of 
things, from which wavelet has the best statistical properties to which 
corporate software house is the least evil. It all comes down to 
everybody wanting to think they're smarter than everybody else.


Post a reply to this message

From: Le Forgeron
Subject: Re: Holy Wars
Date: 4 Oct 2010 07:13:35
Message: <4ca9b6df$1@news.povray.org>
Le 04/10/2010 11:03, Invisible a écrit :
> 2. Some programming languages definitely *are* "better" than others, in
> an objective way.

You forgot a significant part: "for a given purpose."

That does not stop some implementation of a language to be really worse
than another language. But the purpose should always be keep in mind.

In fact, the issue is that as soon as it is a bit more complex than a
hammer, the evaluation of a tool (OS, filesystem, editor, language, ...)
is a multidimensional vector. Defining "the best" is projecting all the
dimensions onto a single line (whose directional vector might be any
composition of value in the evaluation base).

And there is no chance that MY line (the True One) will ever be the same
as Your lines (you're just heretics).

What is the biggest number: 2+i or 1-2i ? what about (1+e)^i.pi ?
And what about the roots of polynomial equation on the Quaternions ?
(where the roots of negative square are continuous spheres of the i,j,k
space, which of the value is better on the sphere ?)

The issue is that sorting tools required a single metric, and
multidimensional evaluations have really a lot of dimensions when things
become interesting. When all you have is a hammer, everything looks like
nails and life is simple.

The best OS ? what is the given purpose for choosing the OS... if it
must fit a 16k eprom and have 16 bits pointers, I'm afraid neither
Windows nor Linux would qualify. But that should not stop them to have
good scores for other purposes.

Now, despite the previous lines, I must tell you the truth: the best ice
cream is raspberry. Or pear. No, it's raspberry... on saturday. Pear on
sunday. Excepted in February where it's reversed, or in public... and
there is that blackcurrant too.


-- 
A good Manager will take you
through the forest, no mater what.
A Leader will take time to climb on a
Tree and say 'This is the wrong forest'.


Post a reply to this message

From: Invisible
Subject: Re: Holy Wars
Date: 4 Oct 2010 07:37:48
Message: <4ca9bc8c$1@news.povray.org>
>> 2. Some programming languages definitely *are* "better" than others, in
>> an objective way.
>
> You forgot a significant part: "for a given purpose."

BASIC is worse than just about any modern language for any conceivable 
purpose (rather than, as I said, simple programs written by beginners). 
However, as you point out, once you get to languages which don't so 
obviously suck, the question becomes far more complicated.

> In fact, the issue is that as soon as it is a bit more complex than a
> hammer, the evaluation of a tool (OS, filesystem, editor, language, ...)
> is a multidimensional vector. Defining "the best" is projecting all the
> dimensions onto a single line (whose directional vector might be any
> composition of value in the evaluation base).
>
> And there is no chance that MY line (the True One) will ever be the same
> as Your lines (you're just heretics).

Yeah, that pretty much explains why people don't agree about these 
things. Hopefully the rest of my post goes some way to explaining why 
people *argue* about these things. (Nobody actually argues about 
icecream, after all...)

PS. Thunderbird doesn't think that "icecream" is a word. But then again, 
it doesn't think that "thunderbird" is a word either, which as amusing...


Post a reply to this message

From: Warp
Subject: Re: Holy Wars
Date: 4 Oct 2010 07:44:04
Message: <4ca9be04@news.povray.org>
Invisible <voi### [at] devnull> wrote:
> PS. Thunderbird doesn't think that "icecream" is a word.

  Because it's written "ice cream" or "ice-cream".

http://en.wikipedia.org/wiki/Ice_cream

-- 
                                                          - Warp


Post a reply to this message

From: nemesis
Subject: Re: Holy Wars
Date: 4 Oct 2010 09:05:02
Message: <web.4ca9d052557a2482c4a3ad910@news.povray.org>
Invisible <voi### [at] devnull> wrote:
> Holy Wars. Computer nerds seem to be having them all the time.

> programming languages? And text editors. I don't even need to tell you
> the crazy words that have been spoken about mere text editors.

That's because you're fool enough to try to compare an OS like emacs to a "mere
text editor" like notepad. ;)

> Basically what most of these arguments boil down to is "my favourite
> tool for X is the best - and you should all agree with me".

While I agree that most think that way based solely on personal taste, some do
take a tool as favorite based on more rational arguments and personal
experience.  That is, having thoroughly played around with a lot of tools, are
able to reason on objective terms why one of them is their favorite:  this
offers more, got a nice interface etc.

I've seen people throwing at me that I hate Windows because I'm a Linux guy, but
what they don't grasp is that I'm a Linux guy precisely because I've
experimented with both tools and Linux scored better with me.  I was a
DOS/Windows guys far before Linux showed up, but if it didn't, I'd probably dump
Microsoft in favor of BeOS or something...

> whatever tool they prefer, and if there isn't an option, why argue about
> it? It's just a tool.

Besides for the fun of it (yes, trolling can be fun), it also shows a big deal
of fear.  I mean, someguy devotes his whole professional life specializing in a
single tool and then either the market is changing in favor of another tool or
all the new guys begin showting newToolX is much better, how do you think the
old fart should react?

> 1. A programming language is a tool. You use it to write programs with.

you fool!  According to the Sapir-Whorf hypothesis, languages influence thought.
 Mediocre language, mediocre thought.  Poetical language, poetical thought.  My
language is not just better than yours, it's also much more aesthetically
pleasing!  bwahahahaha

> For example, take BASIC. The 1980s was a decade of 8-bit home computers
> running BASIC. It's a great language for non-experts trying to piece
> together simple programs. But no sane person will seriously suggest that
> BASIC is any match for the likes of C, C++, Java, Lisp, Erlang... I
> mean, come *on*! It has a global namespace, it has 3 data types (and you
> can't add new ones), hell it doesn't even support recursion! Exception
> handling? What exception handling?

That's 80's BASIC.  You do know some of the guys behind Haskell were behind
Basic.Net?  see:

http://research.microsoft.com/~emeijer/Papers/ICFP06.pdf

> 3. The majority of computer programmers - *especially* the vocal ones
> who join in Holy Wars - write computer programs out of passion, not
> necessity. Writing computer programs is difficult and frustrating.

It's difficult and frustrating because you're using the wrong language (for the
job).  And with the wrong text editor!!  bwahahahaha

> Determining which programming language is superior requires real insight
> and intelligence. And if you fail to see why one language is better than
> another, basically that means that YOU'RE STUPID.

or perhaps just ignorant of the alternatives...

> depends on what you're trying to do with it. And yet people still want
> one to be the "winner". People still want to "win" arguments.

I don't.  I only do it for the fun... :)

> Take me, for example. I know that Haskell is not the best solution for
> all situations. For example, while it's a fantastic language, the
> library support is patchy at best, it's not brilliantly integrated with
> Windows

Why should it be integrated with Windows?  That's the job of a compatibility
library.

> Now personally, I now try to avoid claiming that Haskell is the best at
> everything. I know it isn't. I point out what's bad about Haskell as
> well as what's good. Unfortunately, it doesn't matter what I say. Nobody
> will ever be interested in Haskell, and that makes me very sad. It makes
> me feel like "I lost". Which is silly - *I* still have Haskell, *I* can
> still use it in whatever way I want. But it's upsetting to me that I
> lost the argument, and nobody else sees how awesome Haskell is.

Well, I see how awesome Haskell is. Only problem is that LISP IS SO MUCH MORE
AWESOME AND TOTALLY PWNS IT, YOU FOOL!

bwahahahahah


Post a reply to this message

From: Invisible
Subject: Re: Holy Wars
Date: 4 Oct 2010 09:35:53
Message: <4ca9d839$1@news.povray.org>
On 04/10/2010 02:02 PM, nemesis wrote:

> That's because you're fool enough to try to compare an OS like emacs to a "mere
> text editor" like notepad. ;)

Emacs isn't a text editor. It's an elisp interpreter that just happens 
to come with a text editor application pre-installed. ;-)

>> Basically what most of these arguments boil down to is "my favourite
>> tool for X is the best - and you should all agree with me".
>
> While I agree that most think that way based solely on personal taste, some do
> take a tool as favorite based on more rational arguments and personal
> experience.

True. But many people seem to conflate "I like this one the best" with 
"this one *is* the best".

>> whatever tool they prefer, and if there isn't an option, why argue about
>> it? It's just a tool.
>
> Besides for the fun of it (yes, trolling can be fun), it also shows a big deal
> of fear.  I mean, someguy devotes his whole professional life specializing in a
> single tool and then either the market is changing in favor of another tool or
> all the new guys begin showting newToolX is much better, how do you think the
> old fart should react?

True. It's not like they invent new kinds of spanner...

>> 1. A programming language is a tool. You use it to write programs with.
>
> you fool!  According to the Sapir-Whorf hypothesis, languages influence thought.

Heh. Well it's true enough that using an entirely different programming 
paradigm changes the whole way you approach programming.

>> For example, take BASIC. The 1980s was a decade of 8-bit home computers
>> running BASIC.
>
> That's 80's BASIC.

Sure. And what I'm saying is "80s BASIC sucks so much that it's clearly 
inferior - and nobody is arguing about this". The people who argue are 
usually arguing about languages of approximately equivalent power - 
otherwise there wouldn't be much of an argument.

>> 3. The majority of computer programmers - *especially* the vocal ones
>> who join in Holy Wars - write computer programs out of passion, not
>> necessity. Writing computer programs is difficult and frustrating.
>
> It's difficult and frustrating because you're using the wrong language.

Show me a language that makes every task easy and I'll show you a 
language which can only do one task. ;-)

>> Determining which programming language is superior requires real insight
>> and intelligence. And if you fail to see why one language is better than
>> another, basically that means that YOU'RE STUPID.
>
> or perhaps just ignorant of the alternatives...

Let me rephrase: If I explain to you why X is better and you still 
insist that it isn't, *then* you are stupid. (Or at least, that's how 
the subconscious logic goes.)

>> Take me, for example. I know that Haskell is not the best solution for
>> all situations. For example, while it's a fantastic language, the
>> library support is patchy at best, it's not brilliantly integrated with
>> Windows
>
> Why should it be integrated with Windows?  That's the job of a compatibility
> library.

Most open source software is available for just about every OS known to 
man, and GHC is no exception. (Apparently some people run it on 
hand-held devices even...) But you can usually "tell" which OS a 
particular piece of software originated on.

POV-Ray provides a GUI. Therefore, although there is a Linux version, 
you can tell that's not where it started. If a Linux developer had 
invented POV-Ray, they would have just written the sources in Emacs and 
not bother inventing a GUI.

GHC is heavily Unix-centric. When you install the Windows version of 
GHC, it installs a stripped-down version of MinGW. The compiler even 
lists the machine as "i386-unknown-mingw", not as, say, "Windows" or 
something. It installs and uses GCC has its back-end. There's a bunch of 
bugs open against GHC and its libraries, and most of them are because 
GHC is doing all of its I/O through a Unix emulation layer. This causes 
strange things to happen, like reading a non-existent folder giving you 
a "malformed filename" exception, rather than a "file not found" exception.

>> But it's upsetting to me that I
>> lost the argument, and nobody else sees how awesome Haskell is.
>
> Well, I see how awesome Haskell is. Only problem is that LISP IS SO MUCH MORE
> AWESOME AND TOTALLY PWNS IT, YOU FOOL!

I disagree. But then, you knew that. More importantly, there are actual 
Lisp enthusiasts who disagree:

http://www.newartisans.com/2009/03/hello-haskell-goodbye-lisp.html


Post a reply to this message

From: nemesis
Subject: Re: Holy Wars
Date: 4 Oct 2010 11:10:00
Message: <web.4ca9edfb557a2482c4a3ad910@news.povray.org>
Invisible <voi### [at] devnull> wrote:
> On 04/10/2010 02:02 PM, nemesis wrote:
>
> > That's because you're fool enough to try to compare an OS like emacs to a "mere
> > text editor" like notepad. ;)
>
> Emacs isn't a text editor. It's an elisp interpreter that just happens
> to come with a text editor application pre-installed. ;-)

and that interpreted text editor alone is so far beyond notepad that calling it
"mere text editor" or comparing to notepad is a joke.

> True. But many people seem to conflate "I like this one the best" with
> "this one *is* the best".

yeah, they should be more realist:  one of the very best! :D

> Most open source software is available for just about every OS known to
> man, and GHC is no exception. (Apparently some people run it on
> hand-held devices even...) But you can usually "tell" which OS a
> particular piece of software originated on.
>
> POV-Ray provides a GUI. Therefore, although there is a Linux version,
> you can tell that's not where it started.

what about Gimp?  Could pov-ray not have originated from Mac?  Do you think only
Windows got windows?

> GHC is heavily Unix-centric. When you install the Windows version of
> GHC, it installs a stripped-down version of MinGW. The compiler even
> lists the machine as "i386-unknown-mingw", not as, say, "Windows" or
> something. It installs and uses GCC as its back-end.

and that's because SPJ works for Microsoft, huh? ;)

> >> But it's upsetting to me that I
> >> lost the argument, and nobody else sees how awesome Haskell is.
> >
> > Well, I see how awesome Haskell is. Only problem is that LISP IS SO MUCH MORE
> > AWESOME AND TOTALLY PWNS IT, YOU FOOL!
>
> I disagree. But then, you knew that. More importantly, there are actual
> Lisp enthusiasts who disagree:

you take me too seriously... :p


Post a reply to this message

From: Invisible
Subject: Re: Holy Wars
Date: 4 Oct 2010 11:44:47
Message: <4ca9f66f$1@news.povray.org>
>> Emacs isn't a text editor. It's an elisp interpreter that just happens
>> to come with a text editor application pre-installed. ;-)
>
> and that interpreted text editor alone is so far beyond notepad that calling it
> "mere text editor" or comparing to notepad is a joke.

Oh hell, almost *anything* is a better text editor than Notepad. (With 
the possible exception of sed.)

>> POV-Ray provides a GUI. Therefore, although there is a Linux version,
>> you can tell that's not where it started.
>
> what about Gimp?

That only has a graphical display because it's a graphics program. ;-)

> Could pov-ray not have originated from Mac?

That would be consistent with my assertion, yes. (I asserted that it 
didn't start on Linux.)

> Do you think only Windows got windows?

In general, Unix people seem to have a mindset of "must avoid GUI at any 
cost".

>> GHC is heavily Unix-centric. When you install the Windows version of
>> GHC, it installs a stripped-down version of MinGW. The compiler even
>> lists the machine as "i386-unknown-mingw", not as, say, "Windows" or
>> something. It installs and uses GCC as its back-end.
>
> and that's because SPJ works for Microsoft, huh? ;)

Something like that.

> you take me too seriously... :p

Meh. :-P

Interestingly (or not?), I did a few Google searches and found several 
people saying how awesome Haskell is, usually for valid reasons, but 
they are vastly outnumbered by other people saying that Haskell utterly 
sucks, for completely bogus reasons. Mostly of the "I spent 2 hours 
trying to learn Haskell and it wasn't like Lisp and therefore it sucks" 
variety.

I mean, seriously, there are things you could *genuinely* criticise 
Haskell for. But "it was designed by a committee" is a pretty pathetic 
one to choose. "Lisp was designed by divine revelation, while Haskell is 
a sad modern language with a complex and incoherant design that has no 
soul to it." Er, yeah, *right*. Get over yourself.


Post a reply to this message

From: Jim Henderson
Subject: Re: Holy Wars
Date: 4 Oct 2010 12:28:28
Message: <4caa00ac@news.povray.org>
On Mon, 04 Oct 2010 16:44:46 +0100, Invisible wrote:

> Oh hell, almost *anything* is a better text editor than Notepad. (With
> the possible exception of sed.)

sed isn't a text editor - it's a stream editor (hence "sed").

Jim


Post a reply to this message

From: Jim Henderson
Subject: Re: Holy Wars
Date: 4 Oct 2010 12:29:48
Message: <4caa00fc$1@news.povray.org>
On Mon, 04 Oct 2010 16:44:46 +0100, Invisible wrote:

> In general, Unix people seem to have a mindset of "must avoid GUI at any
> cost".

That trend is finding its way into Windows now as well - was talking with 
a guy a couple weeks ago who teaches Windows admin courses, and the new 
GUI tools for AD admin apparently are front-ends to Powershell scripts.

Microsoft seems to have come to the conclusion the *nix world did decades 
ago - that a CLI tool can be the backend for a GUI if you really really 
want one.

Jim


Post a reply to this message

From: Darren New
Subject: Re: Holy Wars
Date: 4 Oct 2010 12:37:28
Message: <4caa02c8$1@news.povray.org>
Invisible wrote:
> Tell me, how many Holy Wars have you seen fought over whether strawberry 
> icecream is better or worse than chocolate icecream? Uh, none.

But how many Holy Wars have been fought over which invisible friend is more 
real?  How many Holy Wars have been fought over whether the brother of the 
friend of the invisible friend was more right than the pupil of the friend 
of the invisible man?  Europe is covered in statues celebrating the 
beheading of people for not believing *this* man was better friends with his 
delusions than *that* man.

In other words, you understand that "Holy War" is a mocking reference, 
right? Anyone who calls it a Holy War already understands this?


> Nobody *cares* what you think is the best icecream, because everybody realises 
> that IT DOESN'T MATTER. 

This isn't true. It doesn't matter because there's enough of each person 
eating each flavor that there's no risk that flavor will become unavailable 
in the future.

The people screaming "Language X is best!" are the people who really like X 
and who want to work with it in their next job, but who are afraid it won't 
be available to them because other technical or management people will 
decide against it on reasons of popularity. (How often I've heard "We can't 
use utterly appropriate language X because it's too hard to find programmers 
that know it, so let's use POS Y that has taken over the world due to 
historical and irrelevant reasons.)

> As far as I'm aware, no mechanic actually 
> gives a **** about the difference. 

Of course they do. They don't fight over it because the tool is simple. 
Imagine whether a professional race car driver could argue over the merits 
of air-cooled turbo injection versus water-cooled turbo injection. The car 
is just a tool for the driver, after all.

> What you *do* sometimes see is wars fought over styles and fashions. 

Because, again, this is enforcing your choices on someone else. People 
aren't arguing over the utility. They're arguing over whether you should 
follow their fashion or vice versa. The fashion doesn't matter - what 
matters is who the third parties will see as more fashionable.

Bloods vs Crypts is tribal stuff, not fashion.

> Stuff like the Mods vs the Rockers. 

I assume that's the UK version of Bloods vs Crypts?

> 2. Some programming languages definitely *are* "better" than others, in 
> an objective way.
> 
> For example, take BASIC. [...] The 1980s was a decade of 8-bit home computers 
> running BASIC. It's a great language for non-experts

You just obviated your own claim here. Do you want to teach first-year 
programming in BASIC on a 8-bit computer, or C++? Objectively, BASIC is 
better for that, and indeed that's exactly BASIC's target audience.

> Determining which programming language is superior requires real insight 
> and intelligence. And if you fail to see why one language is better than 
> another, basically that means that YOU'RE STUPID.

And now you understand all the other Holy Wars too. ;-)

> 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.

-- 
Darren New, San Diego CA, USA (PST)
   Serving Suggestion:
     "Don't serve this any more. It's awful."


Post a reply to this message

From: Darren New
Subject: Re: Holy Wars
Date: 4 Oct 2010 12:39:36
Message: <4caa0348@news.povray.org>
Le_Forgeron wrote:
> You forgot a significant part: "for a given purpose."

And, even more important, "said purpose possibly including things you don't 
care about."  Like whether there's someone to sue if it screws up. Or the 
licensing cost. Or whether the great hordes of unwashed novices can 
understand it.

-- 
Darren New, San Diego CA, USA (PST)
   Serving Suggestion:
     "Don't serve this any more. It's awful."


Post a reply to this message

From: Darren New
Subject: Re: Holy Wars
Date: 4 Oct 2010 12:40:55
Message: <4caa0397@news.povray.org>
Invisible wrote:
> BASIC is worse than just about any modern language for any conceivable 
> purpose (rather than, as I said, simple programs written by beginners). 

Except that *is* the purpose. Do you even remember what the "B" in BASIC 
stands for?

-- 
Darren New, San Diego CA, USA (PST)
   Serving Suggestion:
     "Don't serve this any more. It's awful."


Post a reply to this message

From: nemesis
Subject: Re: Holy Wars
Date: 4 Oct 2010 15:29:23
Message: <4caa2b13$1@news.povray.org>
Invisible escreveu:
>> Do you think only Windows got windows?
> 
> In general, Unix people seem to have a mindset of "must avoid GUI at any 
> cost".

no, the Unix mindset is that everything should be a text file and all 
programs should be able to process text files and return text output. 
html and Tcl/Tk made that possible for GUIs as well... :)

> I mean, seriously, there are things you could *genuinely* criticise 
> Haskell for. But "it was designed by a committee" is a pretty pathetic 
> one to choose. "Lisp was designed by divine revelation, while Haskell is 
> a sad modern language with a complex and incoherant design that has no 
> soul to it." Er, yeah, *right*. Get over yourself.

actually, Common Lisp (which is the one true Lisp) was designed by a 
large committee of old industry farts.  Scheme was designed by a 
professor and his pupil in the 70s and has ever since received valid 
input from various other professors and pupils, which decide on which 
features to enter the standard by voting.

In general, I tend to dig best languages not designed by committee... 
even benevolent dictator model is better. :)

OTOH, haskell, as scheme, is a language focused more on programming 
language theory research rather than practical, industry-wide goals...

-- 
a game sig: http://tinyurl.com/d3rxz9


Post a reply to this message

From: Phil Cook v2
Subject: Re: Holy Wars
Date: 5 Oct 2010 04:10:54
Message: <op.vj3fopjwmn4jds@phils>
And lo On Mon, 04 Oct 2010 10:03:29 +0100, Invisible <voi### [at] devnull> did  
spake thusly:

> Holy Wars. Computer nerds seem to be having them all the time.
>
> Basically what most of these arguments boil down to is "my favourite  
> tool for X is the best - and you should all agree with me".
>
> Now, think about that for a moment. "My favourite"??
>
> Tell me, how many Holy Wars have you seen fought over whether strawberry  
> icecream is better or worse than chocolate icecream? Uh, none. Nobody  
> *cares* what you think is the best icecream, because everybody realises  
> that IT DOESN'T MATTER. It's just a personal preference that doesn't  
> make any difference to anything.
>
> Then again, icecream isn't a tool. So how about real tools?
>
> Well, I don't know any mechanics *personally*. But I've yet to see a  
> bunch of them get into an irate shouting match about whether an  
> adjustable spanner is better or worse than a well-made fixed spanner.  
> You can see how there would be merits to both, and how some people might  
> prefer one to the other, and they *could* spend months debating it...  
> it's just that they don't. As far as I'm aware, no mechanic actually  
> gives a **** about the difference. Given the option, they just use  
> whatever tool they prefer, and if there isn't an option, why argue about  
> it? It's just a tool.

Yet you see heated debates about whether this braking system is better  
than that braking system; or this engine configuration is better than that  
one. I think anything that can be differentiated in many ways with no  
objective measurement method will be argued about.

Before anyone chimes in that you can measure a braking system you'll get  
someone saying "Ah yes but this one is better when it's wet and you're in  
a heavier car that's traveling at over 50mph"

-- 
Phil Cook

--
I once tried to be apathetic, but I just couldn't be bothered
http://flipc.blogspot.com


Post a reply to this message

From: Invisible
Subject: Re: Holy Wars
Date: 5 Oct 2010 04:15:06
Message: <4caade8a@news.povray.org>
On 04/10/2010 08:29 PM, nemesis wrote:

> In general, I tend to dig best languages not designed by committee...
> even benevolent dictator model is better. :)

In general, I don't give a fig how the language was designed, I just 
care about what the end result is like.

(In a similar way, I don't care who wrote a song, I just care what it 
sounds like.)

> OTOH, haskell, as scheme, is a language focused more on programming
> language theory research rather than practical, industry-wide goals...

Uh... that's slightly amusing, if you think about it.

Haskell was created explicitly because there were already a half-dozen 
identical languages with different syntax, and this was diluting efforts 
to use them. So Haskell was created as one standard language to replace 
all the others. Which is a pretty practical reason, actually...


Post a reply to this message

From: Invisible
Subject: Re: Holy Wars
Date: 5 Oct 2010 04:21:41
Message: <4caae015@news.povray.org>
>> Tell me, how many Holy Wars have you seen fought over whether
>> strawberry icecream is better or worse than chocolate icecream? Uh, none.
>
> But how many Holy Wars have been fought over which invisible friend is
> more real?

All of them, AFAIK.

It seems that all of the big arguments aren't about anything objective, 
they're about what people believe.

> The people screaming "Language X is best!" are the people who really
> like X and who want to work with it in their next job, but who are
> afraid it won't be available to them because other technical or
> management people will decide against it on reasons of popularity. (How
> often I've heard "We can't use utterly appropriate language X because
> it's too hard to find programmers that know it, so let's use POS Y that
> has taken over the world due to historical and irrelevant reasons.)

Well, I suppose. (Or just the people who like to feel smug for having 
found the best tool first...)

>> As far as I'm aware, no mechanic actually gives a **** about the
>> difference.
>
> Of course they do. They don't fight over it because the tool is simple.
> Imagine whether a professional race car driver could argue over the
> merits of air-cooled turbo injection versus water-cooled turbo
> injection. The car is just a tool for the driver, after all.

While I'm sure many race car drivers have opinions about whether 
air-cooled or water-cooled is best, you never see them *argue* about it. 
They might say "my personal opinion is X", but you never see this "X is 
best, and anybody who says different is WRONG!" stuff.

>> 2. Some programming languages definitely *are* "better" than others,
>> in an objective way.
>>
>> For example, take BASIC. [...] The 1980s was a decade of 8-bit home
>> computers running BASIC. It's a great language for non-experts
>
> You just obviated your own claim here. Do you want to teach first-year
> programming in BASIC on a 8-bit computer, or C++? Objectively, BASIC is
> better for that, and indeed that's exactly BASIC's target audience.

For the fifty-eighth time, I clearly and obviously meant that BASIC is 
useless *as a programming language*. If you want to argue about its 
utility as a teaching aid, that's a different debate. (And, obviously, 
I'd suggest a logic or functional language as a first language, and 
everybody else would tell me I'm wrong.)

>> Determining which programming language is superior requires real
>> insight and intelligence. And if you fail to see why one language is
>> better than another, basically that means that YOU'RE STUPID.
>
> And now you understand all the other Holy Wars too. ;-)

Well, yeah, those are probably a bit more complex though. Nobody says 
"Python is an inferior language because Chinese people use it", for example.

>> 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.


Post a reply to this message

From: Invisible
Subject: Re: Holy Wars
Date: 5 Oct 2010 04:23:28
Message: <4caae080$1@news.povray.org>
>> Well, I don't know any mechanics *personally*. But I've yet to see a
>> bunch of them get into an irate shouting match about whether an
>> adjustable spanner is better or worse than a well-made fixed spanner.
>> You can see how there would be merits to both, and how some people
>> might prefer one to the other, and they *could* spend months debating
>> it... it's just that they don't. As far as I'm aware, no mechanic
>> actually gives a **** about the difference. Given the option, they
>> just use whatever tool they prefer, and if there isn't an option, why
>> argue about it? It's just a tool.
>
> Yet you see heated debates about whether this braking system is better
> than that braking system; or this engine configuration is better than
> that one.

Really? That's news to me.

I'm sure many interested people have an *opinion* about such things, but 
I've never seen anybody actually *argue* about it.

> I think anything that can be differentiated in many ways with
> no objective measurement method will be argued about.

Well, yeah. Anything that somebody actually cares about, at least.


Post a reply to this message

From: nemesis
Subject: Re: Holy Wars
Date: 5 Oct 2010 05:55:00
Message: <web.4caaf5ce557a2482c4a3ad910@news.povray.org>
Invisible <voi### [at] devnull> wrote:
> Haskell was created explicitly because there were already a half-dozen
> identical languages with different syntax, and this was diluting efforts
> to use them. So Haskell was created as one standard language to replace
> all the others. Which is a pretty practical reason, actually...

that's very Common Lispy.  Scheme varies from implementation to implementation,
since the standard is pretty bare...


Post a reply to this message

From: Invisible
Subject: Re: Holy Wars
Date: 5 Oct 2010 06:01:40
Message: <4caaf784$1@news.povray.org>
>> Haskell was created explicitly because there were already a half-dozen
>> identical languages with different syntax, and this was diluting efforts
>> to use them. So Haskell was created as one standard language to replace
>> all the others. Which is a pretty practical reason, actually...
>
> that's very Common Lispy.  Scheme varies from implementation to implementation,
> since the standard is pretty bare...

On the other hand, Haskell has had type classes since version 1.0, and 
AFAIK no other language of this sort has those. So it was innovative 
right from the beginning. (Also, AFAIK, it was the first FP language to 
utilise monads to solve the I/O problem.)


Post a reply to this message

From: Darren New
Subject: Re: Holy Wars
Date: 5 Oct 2010 11:55:31
Message: <4cab4a73@news.povray.org>
Invisible wrote:
>> has taken over the world due to historical and irrelevant reasons.)

> Well, I suppose. (Or just the people who like to feel smug for having 
> found the best tool first...)

Oh, and another frequent cause is when it's really difficult to learn a tool 
well, like C++ or vi, and someone has gone to that effort, then they either 
assume that every *other* tool will be equally difficult (if they learned 
the difficult one first) or that you'd like it just as much if only you 
understood it.  The latter being a *very* holy kind of approach.

> While I'm sure many race car drivers have opinions about whether 
> air-cooled or water-cooled is best, you never see them *argue* about it. 

Really?  How do you know?

Plus, their *job* is to argue over which is best.

> They might say "my personal opinion is X", but you never see this "X is 
> best, and anybody who says different is WRONG!" stuff.

That's a rather strong claim.

In any case, that was a kind of poor example, because everyone is trying to 
optimize for the same thing in race driving (i.e., winning the race 
according to the rules).

Do you not see arguments over which sports is best? Which brand of car is 
best? Why do you think a bunch of race car drivers wouldn't get together and 
loudly discuss whose car is better?


> useless *as a programming language*. 

Again, I disagree. First, I expect more production code has been written in 
BASIC than Haskell. Second, this would be saying that every other language 
of similar capabilities is useless as a programming language, which is 
clearly false if you look at (say) Excel macros, makefiles, or shell scripts.

> Well, yeah, those are probably a bit more complex though. Nobody says 
> "Python is an inferior language because Chinese people use it", for 
> example.

.NET is inferior because it comes from Redmond? ;-)

>>> 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.

-- 
Darren New, San Diego CA, USA (PST)
   Serving Suggestion:
     "Don't serve this any more. It's awful."


Post a reply to this message

From: Darren New
Subject: Re: Holy Wars
Date: 5 Oct 2010 11:56:31
Message: <4cab4aaf$1@news.povray.org>
Invisible wrote:
> I'm sure many interested people have an *opinion* about such things, but 
> I've never seen anybody actually *argue* about it.

Do you tend to hang around with professional high-performance drivers?

I suspect the same is true of aircraft, but I don't hang out with pilots, so 
I wouldn't know.

-- 
Darren New, San Diego CA, USA (PST)
   Serving Suggestion:
     "Don't serve this any more. It's awful."


Post a reply to this message

From: Jim Henderson
Subject: Re: Holy Wars
Date: 5 Oct 2010 13:33:28
Message: <4cab6168@news.povray.org>
On Tue, 05 Oct 2010 09:21:39 +0100, Invisible wrote:

> While I'm sure many race car drivers have opinions about whether
> air-cooled or water-cooled is best, you never see them *argue* about it.
> They might say "my personal opinion is X", but you never see this "X is
> best, and anybody who says different is WRONG!" stuff.

In the right circles, you would. Race car drivers probably would say the 
same thing about programming languages - that nobody gets really 
passionate about them, and that certainly geeks won't argue about which 
is the best.

My wife's family has spent several lifetimes doing car maintenance, and 
I'm sure I could spark a debate amongst, say, my brother-in-law and my 
father-in-law. ;-)

Jim


Post a reply to this message

From: scott
Subject: Re: Holy Wars
Date: 6 Oct 2010 03:31:16
Message: <4cac25c4$1@news.povray.org>
> Well, I don't know any mechanics *personally*. But I've yet to see a bunch 
> of them get into an irate shouting match about whether an adjustable 
> spanner is better or worse than a well-made fixed spanner. You can see how 
> there would be merits to both, and how some people might prefer one to the 
> other, and they *could* spend months debating it... it's just that they 
> don't.

Believe me, flame wars and "vigorous" debates are not confined to computing 
related subjects.  I suspect you haven't seen such debates simply because 
you mostly frequent computing-oriented newsgroups and forums?  Look up some 
diesel vs petrol threads on car forums, a lot of people get pretty religious 
about that.


Post a reply to this message

From: scott
Subject: Re: Holy Wars
Date: 6 Oct 2010 03:44:08
Message: <4cac28c8@news.povray.org>
> Sure. And what I'm saying is "80s BASIC sucks so much that it's clearly 
> inferior - and nobody is arguing about this".

Inferior for what purpose?  If you want users (who are not programmers) of 
your equipment (which has a simple CPU and small alphanumeric display) to be 
able to do some simple programming to control it, then something like 80s 
BASIC doesn't seem such a bad choice.


Post a reply to this message

From: Bill Pragnell
Subject: Re: Holy Wars
Date: 6 Oct 2010 04:15:00
Message: <web.4cac2f96557a24826dd25f0b0@news.povray.org>
"scott" <sco### [at] scottcom> wrote:
> > Sure. And what I'm saying is "80s BASIC sucks so much that it's clearly
> > inferior - and nobody is arguing about this".
>
> Inferior for what purpose?  If you want users (who are not programmers) of
> your equipment (which has a simple CPU and small alphanumeric display) to be
> able to do some simple programming to control it, then something like 80s
> BASIC doesn't seem such a bad choice.

Seconded! Depends what version, too. BBC BASIC had none of the limitations
listed in the earlier post. Using BASIC to control the i/o ports on early 8-bit
Acorn machines was so easy and powerful that they're still useful for
datalogging even now. Later, big chunks of Acorn's RISC OS were written in
BASIC.

However, I can well imagine that the versions of BASIC most people are
acquainted with are extremely limited. :)


Post a reply to this message

From: Invisible
Subject: Re: Holy Wars
Date: 6 Oct 2010 04:20:04
Message: <4cac3134$1@news.povray.org>
>> Well, I suppose. (Or just the people who like to feel smug for having
>> found the best tool first...)
>
> Oh, and another frequent cause is when it's really difficult to learn a
> tool well, like C++ or vi, and someone has gone to that effort, then
> they either assume that every *other* tool will be equally difficult (if
> they learned the difficult one first) or that you'd like it just as much
> if only you understood it. The latter being a *very* holy kind of approach.

Then there are the people who, having spent ages going to the trouble of 
learning something, have a vested interest in claiming that it's the 
best. Because, you know, otherwise you'd be admitting that you wasted a 
whole crapload of effort learning an inferior tool.

>> While I'm sure many race car drivers have opinions about whether
>> air-cooled or water-cooled is best, you never see them *argue* about it.
>
> Really? How do you know?
>
> Plus, their *job* is to argue over which is best.
>
>> They might say "my personal opinion is X", but you never see this "X
>> is best, and anybody who says different is WRONG!" stuff.
>
> That's a rather strong claim.

 From what I've seen, generally racing drivers let the scoreboard speak 
for itself. They tend to argue about team politics far more than 
anything technological.

> In any case, that was a kind of poor example, because everyone is trying
> to optimize for the same thing in race driving (i.e., winning the race
> according to the rules).

Yeah, I suppose.

There aren't too many professions like programming where such a wide 
array of problems are attacked and there's no really objective way to 
decide which is the best tool for a given job. I mean, structural 
engineers tackle all kinds of weird structures, but there are rigorous 
mathematical models that tell you (for example) which kind of joint is 
the best choice for a particular set of loading conditions.

>> useless *as a programming language*.
>
> Again, I disagree.

Well, yeah, that's because *I* said it. :-P

> First, I expect more production code has been written
> in BASIC than Haskell.

By which measurement? Number of applications? Number of lines of code? 
What counts as "production"? 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?)

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.

> Second, this would be saying that every other
> language of similar capabilities is useless as a programming language,
> which is clearly false if you look at (say) Excel macros, makefiles, or
> shell scripts.

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.

>> Well, yeah, those are probably a bit more complex though. Nobody says
>> "Python is an inferior language because Chinese people use it", for
>> example.
>
> .NET is inferior because it comes from Redmond? ;-)

Hehe, yeah, I've certainly seen that argument used. ;-)

>>>> 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.


Post a reply to this message

From: Invisible
Subject: Re: Holy Wars
Date: 6 Oct 2010 04:22:23
Message: <4cac31bf$1@news.povray.org>
On 06/10/2010 08:44 AM, scott wrote:
>> Sure. And what I'm saying is "80s BASIC sucks so much that it's
>> clearly inferior - and nobody is arguing about this".
>
> Inferior for what purpose? If you want users (who are not programmers)
> of your equipment (which has a simple CPU and small alphanumeric
> display) to be able to do some simple programming to control it, then
> something like 80s BASIC doesn't seem such a bad choice.

What you're saying is "if you don't need a powerful language, using a 
language that isn't powerful may be acceptable".

What I'm saying is "BASIC isn't powerful, and nobody would seriously 
suggest that it is".


Post a reply to this message

From: scott
Subject: Re: Holy Wars
Date: 6 Oct 2010 05:47:41
Message: <4cac45bd@news.povray.org>
> What you're saying is "if you don't need a powerful language, using a 
> language that isn't powerful may be acceptable".
>
> What I'm saying is "BASIC isn't powerful, and nobody would seriously 
> suggest that it is".

That's a little different to saying it sucks.  Or maybe you were just trying 
to demonstrate how "holy wars" start? ;-)


Post a reply to this message

From: Invisible
Subject: Re: Holy Wars
Date: 6 Oct 2010 06:20:28
Message: <4cac4d6c@news.povray.org>
On 06/10/2010 10:47 AM, scott wrote:
>> What you're saying is "if you don't need a powerful language, using a
>> language that isn't powerful may be acceptable".
>>
>> What I'm saying is "BASIC isn't powerful, and nobody would seriously
>> suggest that it is".
>
> That's a little different to saying it sucks.

As a tool for constructing complex software applications, it sucks. My 
mistake, apparently, as in assuming that the context is obvious.

> Or maybe you were just
> trying to demonstrate how "holy wars" start? ;-)

I can't believe that I made the most uncontroversial statement possible 
- "BASIC is a weak programming language" - and people are actually 
disagreeing with me! o_O


Post a reply to this message

From: scott
Subject: Re: Holy Wars
Date: 6 Oct 2010 06:38:48
Message: <4cac51b8@news.povray.org>
>> That's a little different to saying it sucks.
> 
> As a tool for constructing complex software applications, it sucks.

Haskell sucks!


Post a reply to this message

From: Invisible
Subject: Re: Holy Wars
Date: 6 Oct 2010 07:09:53
Message: <4cac5901$1@news.povray.org>
On 06/10/2010 11:38 AM, scott wrote:
>>> That's a little different to saying it sucks.
>>
>> As a tool for constructing complex software applications, it sucks.
>
> Haskell sucks!

Right. And what objective information are you basing that on?


Post a reply to this message

From: scott
Subject: Re: Holy Wars
Date: 6 Oct 2010 08:48:13
Message: <4cac700d$1@news.povray.org>
>>> As a tool for constructing complex software applications, it sucks.
>>
>> Haskell sucks!
>
> Right. And what objective information are you basing that on?

It's slow and apparently very difficult to write anything with complex sound 
or graphics on Windows.


Post a reply to this message

From: Invisible
Subject: Re: Holy Wars
Date: 6 Oct 2010 09:02:07
Message: <4cac734f@news.povray.org>
>>> 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

From: scott
Subject: Re: Holy Wars
Date: 6 Oct 2010 09:10:45
Message: <4cac7555$1@news.povray.org>
>> 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

From: Invisible
Subject: Re: Holy Wars
Date: 6 Oct 2010 10:22:32
Message: <4cac8628$1@news.povray.org>
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

From: scott
Subject: Re: Holy Wars
Date: 6 Oct 2010 10:42:59
Message: <4cac8af3@news.povray.org>
> 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

From: Invisible
Subject: Re: Holy Wars
Date: 6 Oct 2010 10:57:59
Message: <4cac8e77@news.povray.org>
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

From: scott
Subject: Re: Holy Wars
Date: 6 Oct 2010 11:06:03
Message: <4cac905b$1@news.povray.org>
> 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

From: Invisible
Subject: Re: Holy Wars
Date: 6 Oct 2010 11:18:39
Message: <4cac934f$1@news.povray.org>
> 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

From: Darren New
Subject: Re: Holy Wars
Date: 6 Oct 2010 11:18:41
Message: <4cac9351@news.povray.org>
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

From: Jim Henderson
Subject: Re: Holy Wars
Date: 6 Oct 2010 11:27:01
Message: <4cac9545@news.povray.org>
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

From: Invisible
Subject: Re: Holy Wars
Date: 6 Oct 2010 11:27:20
Message: <4cac9558$1@news.povray.org>
> 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

From: Invisible
Subject: Re: Holy Wars
Date: 6 Oct 2010 11:33:53
Message: <4cac96e1$1@news.povray.org>
> Uh, wha?  No recursion?

Cute. Now try doing that while actually processing some data. Oh, wait, 
you can't - no local variables. :-P

Of course, BASIC is Turing-complete. You can implement variable scoping 
manually yourself. But that's not the same as the language having real 
support for recursion...


Post a reply to this message

From: Darren New
Subject: Re: Holy Wars
Date: 6 Oct 2010 12:33:47
Message: <4caca4eb$1@news.povray.org>
Invisible wrote:
> It defies belief that anybody could disagree 

Certainly the primitive versions of the language were pretty primitive. But 
then, people were doing primitive things. How much of a namespace do you 
need when your computer only has 4K of RAM?

-- 
Darren New, San Diego CA, USA (PST)
   Serving Suggestion:
     "Don't serve this any more. It's awful."


Post a reply to this message

From: Darren New
Subject: Re: Holy Wars
Date: 6 Oct 2010 12:38:32
Message: <4caca608$1@news.povray.org>
Invisible wrote:
> Come to think about it, if you're going to judge "the best language" as 
> being "the most widely used language", 

I wasn't conflating those two. You're changing "useful" to "best". You said 
BASIC was useless. I pointed out it was more used then Haskell. Now you're 
saying "that doesn't make it the best", which wasn't my contention. Merely 
that you don't have to be the best to be useful.

>>> 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.

What do you mean by "invoke" here?

>> 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).

Yes. And I'm suggesting that before you argue about "dead" languages like 
pre-VB BASIC, you learn some of the history. :-)

>> Plus, when you're trying to solve a problem like building software,
>> recursion is a point *against* your solution.
> 
> I disagree.

Why? What is the good use for recursion there? If your goal is to invoke 
various compilers etc, where does recursion fundamentally aid in the process?

-- 
Darren New, San Diego CA, USA (PST)
   Serving Suggestion:
     "Don't serve this any more. It's awful."


Post a reply to this message

From: Darren New
Subject: Re: Holy Wars
Date: 6 Oct 2010 12:40:02
Message: <4caca662$1@news.povray.org>
Invisible wrote:
> support for recursion...

The only support for recursion that you *need* is to save the PC.

You realize that many of the languages designed while BASIC was being 
designed didn't have recursion either, because the assembly languages they 
ran on didn't have recursion?

-- 
Darren New, San Diego CA, USA (PST)
   Serving Suggestion:
     "Don't serve this any more. It's awful."


Post a reply to this message

From: Jim Henderson
Subject: Re: Holy Wars
Date: 6 Oct 2010 15:17:30
Message: <4caccb4a$1@news.povray.org>
On Wed, 06 Oct 2010 16:33:52 +0100, Invisible wrote:

>> Uh, wha?  No recursion?
> 
> Cute. Now try doing that while actually processing some data. Oh, wait,
> you can't - no local variables. :-P

You can, local variables aren't required, you just have to code around 
that limitation.

You can certainly cause stack overflows (since that's how RETURN gets 
back to the entry point).

> Of course, BASIC is Turing-complete. You can implement variable scoping
> manually yourself. But that's not the same as the language having real
> support for recursion...

You said "no recursion".  I showed there was some.  Give up now. ;-)

Jim


Post a reply to this message

From: Jim Henderson
Subject: Re: Holy Wars
Date: 6 Oct 2010 15:20:07
Message: <4caccbe7$1@news.povray.org>
On Wed, 06 Oct 2010 15:17:30 -0400, Jim Henderson wrote:

> On Wed, 06 Oct 2010 16:33:52 +0100, Invisible wrote:
> 
>>> Uh, wha?  No recursion?
>> 
>> Cute. Now try doing that while actually processing some data. Oh, wait,
>> you can't - no local variables. :-P
> 
> You can, local variables aren't required, you just have to code around
> that limitation.
> 
> You can certainly cause stack overflows (since that's how RETURN gets
> back to the entry point).
> 
>> Of course, BASIC is Turing-complete. You can implement variable scoping
>> manually yourself. But that's not the same as the language having real
>> support for recursion...
> 
> You said "no recursion".  I showed there was some.  Give up now. ;-)

http://www.atarimagazines.com/compute/issue26/130_1_RECURSIVE_BASIC_SUBROUTINES.php

Just in case you needed further evidence of recursive capabilities.

Jim


Post a reply to this message

From: scott
Subject: Re: Holy Wars
Date: 7 Oct 2010 03:48:46
Message: <4cad7b5e$1@news.povray.org>
>> It defies belief that anybody could disagree
>
> Certainly the primitive versions of the language were pretty primitive. 
> But then, people were doing primitive things. How much of a namespace do 
> you need when your computer only has 4K of RAM?

Also, even after machines got faster and bigger, there were still benefits 
of a small primitive language.  I remember when Acorn released the first CPU 
with on-board cache, suddenly the entire BASIC interpreter could fit in the 
cache - which meant BASIC became a very fast (for an interpreted language). 
I assume more complex interpreted languages couldn't manage this.


Post a reply to this message

Goto Latest 50 Messages Next 13 Messages >>>

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.