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.
Re:Hashes are ordered in PHP
chromatic on 2007-02-11T05:58:07
Can you explain the rules for traversal order of a mixed array in PHP? I can't.
Re:Hashes are ordered in PHP
AndyArmstrong on 2007-02-11T13:07:48
If you use each( $ar ) you get the elements of a mixed array back in the order in which they were added:
$ 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 ) ) {
print "$n -> $v\n";
}
?>
$ php arse.php
0 -> 0
two -> two
2 -> 2
1 -> 1
one -> one
It seems to do that whether the array is mixed or not.
Shrug. It's hard to get excited about it when the rest of the language is so cretinous.
See PHP sucks dick through a straw.
I feel like I’m missing the joke.
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 compliments betray actual familiarity and depth of experience with the languages in question:
String#===
that sets $1
which is only doable via CAnd then #2 is debatable because as it shows up in a Smalltalk compliment but does not show familiarity with Smalltalk so much as it does with Ruby.
All the rest is shallow “wait, I’m trying to think of something here” filler fluff.
Re:Isn’t it obvious?
drhyde on 2007-02-11T15:42:49
While it may, in theory, be possible to do Unicode right in perl, enough people have serious problems with it for me to believe that the implementation is far from "right".Of course, the fact that perl got it so very very wrong a few versions ago doesn't help either.
Re:Isn’t it obvious?
Aristotle on 2007-02-11T16:07:49
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.