 |
 |
|
 |
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> 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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Invisible <voi### [at] dev null> 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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Invisible <voi### [at] dev null> 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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Invisible <voi### [at] dev null> 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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> 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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
And lo On Mon, 04 Oct 2010 10:03:29 +0100, Invisible <voi### [at] dev null> 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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> 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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> 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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
Invisible <voi### [at] dev null> 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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> 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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
> 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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
> 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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
"scott" <sco### [at] scott com> 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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> 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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
> 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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> 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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>>> 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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>>> 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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> 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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
> 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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
> 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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
> 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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
> 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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
> 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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|  |
|
 |
>> 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
|
 |
|  |
|  |
|
 |
|
 |
|  |
|
 |