Almost four years after What I Hate About Your Programming Language, people still think talking about syntax issues is meaningful. (To be fair, it is, but only when talking about Haskell, which looks like a dog ate a Welsh Calculus book and vomited out a program. Here's a nickel kid, go buy yourself some VOWELS!)
Today's howlers come from The right to criticize programming languages:
(Pro-Python) Now I don't really fancy the way whitespace sensitivity is implemented, as they had to get rid of blocks for it, but the idea is brilliant, and I'd love to see other languages use it.
make.
There was never a language as portable as Java. I can take any Java program, put it on any machine, from a mobile phone up, and it will Just Work. Ever tried that with C?
Ever tried that with Java?
(Pro-PHP) In languages that don't follow Perl's braindead string-number unification, there's really little reason for keeping arrays and hashes conceptually separate. They're both just keyed containers, so why do we need two ?
Sometimes order matters.
The best part of Haskell is syntax.
Haskell's syntax is the diet cola of programming. Sure, it tastes bad, but at least it doesn't have any sugar.
C can access a really huge number of libraries. It takes a lot of work to get them work well together (every non-trivial C library of them defines own string type, own pseudo-oo system, many even include own memory manager), they're not portable, they're not secure, and they tend to segfault at random, but the sheer number of available libraries is about as high as Perl's.
They're unusable, but they're available! Hooray!
But C++ has potential of being "better C".
It combines the wonderful type system of C (ahem, PDP-11 assembly) with the intuitive clarity of Lisp macros (templates). Winner!
I feel like I'm missing the joke.
Hashes are ordered in PHP (Score:1)
Re: (Score:1)
Can you explain the rules for traversal order of a mixed array in PHP? I can't.
Re: (Score:1)
$ cat arse.php
<?php
$ar = array();
$ar[0] = '0';
$ar['two'] = 'two';
$ar[2] = '2';
$ar[1] = '1';
$ar['one'] = 'one';
while ( list($n, $v) = each( $ar ) ) {
Isn’t it obvious? (Score:1)
He states it right at the start: he says he believes that you have to be able to compliment a language before you are eligible for criticising it. Not wanting to be be barred from criticising, he compiled a long list of token compliments of languages.
And that’s exactly how they read to me: a laundry list of things that beginner’s tutorials for each language would point out as “cool points” of the respective language.
Only two of his compl
Re: (Score:2)
Of course, the fact that perl got it so very very wrong a few versions ago doesn't help either.
Re: (Score:1)
I don’t think there’s any easy way to get Unicode right. No implementation can shield you from knowing about charsets and encodings.
There are lots of easy ways to get Unicode wrong though.
So right. (Score:1)
Although I don't know _Lisp_ macros, those in Scheme are pretty awesome, IMO
Ordinary morality is for ordinary people. -- Aleister Crowley