Perl naj bi bil manj intuitiven od naključno zgeneriranega jezika

Mandi

29. okt 2011 ob 11:09:36

Perl kot programski jezik spričo zelo skromnega marketinga nima najboljšega imidža v primerjavi s novoprišleki (python, ruby, haskell, lua, whathaveyou), oz. če smo iskreni, se naokoli govori, da je tako zamotan, da celo avtorji programa po 6 mesecih več ne vedo prav dobro, kaj so napisali. Zdaj imamo celo univerzitetno raziskavo, ki dokazuje, da je začetnikom še manj prijazen od "naključno generiranega programskega jezika".

Štirje raziskovalci pri fakulteti za računalništvo in informatiko Univerze v Illinoisu so izdali študijo z naslovom An Empirical Comparison of the Accuracy Rates of Novices using the Quorum, Perl, and Randomo Programming Languages, kjer primerjajo intuitivnost in razumljivost treh programskih jezikov v tečajih za čiste začetnike (sprejemljivke, pogojni stavki, zanke, funkcije), in sicer Quorum, Perl in Randomo. Quorum je učiteljski programski jezik, tako kot je nekoč bil PASCAL, ki ga akademska sfera redno prilagaja v skladu z zadnjimi raziskavami enostavnosti uporabe. Perl je pač perl, Randomo pa uporabljajo kot "placebo jezik", kjer za določene ključne besede (npr. for, while, in) zamenjajo z naključno zgeneriranimi ukazi (npr. kfa, lol, gmo, llort). Študija je pokazala, da so učenci Kvoruma zastavljene probleme rešili bistveno hitreje in se jih boljše spomnili po nekaj tednih kot pri drugih dveh jezikih, in, kar je še hujše, da uspeh učencev Perla ni bil vidno boljši kot pri Randomu. To naj bi vodilo do zaključka, da Perl ni ni nič boljši od naključno zgenerirane solate.

Študijo so sprožili po tem, ko so imeli relativno slabe rezultate z začetniškimi tečaji programiranja v perlu, oz. so imeli naslednje leto za celo tretjino boljše izkušnje s pythonom.

Odziv je seveda bil (glej komentarje na študijo). Komentatorji so izpostavili uporabo stare 4.x sintakse, neupoštevanje dejstva, da perl ni bil zastavljen kot učni jezik, pa da vzorec študentov preprosto ni bil zadosten za potrebe resne sociološke raziskave. V končni fazi je vseeno. Programerji so praviloma zelo navezani na svoj programski jezik (ali web app framework, kot je danes bolj moderno) in so pripravljeni njegove prednosti braniti do konca. Boljši programerji pa tako ali tako govorijo več jezikov in uporabijo tistega, ki je za dano nalogo najbolj primeren, celostno gledano. To je tudi moto perla - there is more than one way to do it.