http://qs321.pair.com?node_id=96837


in reply to Re: Dots and cargo-cult programming
in thread Dots and cargo-cult programming

Yeah, I don't like the dot. Here's why:

When I first started with Perl, I had only used the dot occassionally in C and Javascript. When it came time to learn Perl's arrow, it was relatively easy: whereas a dot suggests termination, both as period and (US) decimal, the arrow suggests action, i.e. $object->does_something. This is the basic reason I hate the dot. Essentially, it throws off the natural-language written text parser in my head, in a way that is diametrically opposed to its normal use. (Is there any modern written human language out there that does not use the period as the default mark for terminating utterances? Has anyone involved with human-computer interaction/usability testing ever examined the usability of the semantics assigned to semicolons, brackets and other "line noise" ascii in different computer languages? Besides the ongoing sniping over white space vs. brackets?)

But now, thanks to Java, VB, and other languages, the dot is the Dominant Programming Convention, and we, the valiant hold-out programmers who know better, are doomed. Doomed! Doomed, I say! Or should that be

$we = $I.say("Doomed!" x3);

Damian assured me that the Grand Poobah's mind is set, and our fate is sealed. And he cajoled me that it wouldn't be so bad, getting used to using dots instead of arrows; that he had been against it, tried it, and after a while it was no big deal. He convinced me, reluctantly, because ultimately that line of code above isn't so bad. He also gave me this really yummy blue pill.

Plus, I wouldn't call this "cargo cult programming". That's about propagating ignorance. This seems to me to be a matter of a concession to convention, when the convention's hold reaches a critical mass and when the convention is suboptimal but not abhorrent. And I definitely wouldn't go that far.

Anyway, I'm actually much more concerned about =~ vs ~= right now. Dot vs. arrow is a nuisance, but that's potentially lethal, and at the least I hope it's dealt with intelligently by perl6's warnings.

-- Frag.