» »

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

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

Avtor jezika Larry Wall je po poklicu lingvist, zato je ključna bukva spisana v prav prijetno lepem, preprostem in slikovitem jeziku.

vir: O'Reilly
Slashdot - 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.

22 komentarjev

korenje3 ::

včasih sem obvladal perl, in lahko rečem da je lažji od c++, pythona ipd...

Karlos ::

Obvladal si perl, pa sedaj obvladaš python v isti meri, da daš lahko korektno primerjavo.

Just asking.
Sai Baba: "Dam vam to, kar hočete, da boste hoteli to, kar vam želim dati."

Phantomeye ::

perl lazji od pythona? nikoli

wungad ::

Če si nek resen *unix sistemc, ti znanje perla še kako prav pride. Slej ko prej prideš do orodja ali nekih depedency skript, ki so spisane v perlu. Če želiš kaj extra pohackat ga pač moraš znat.
Perl nikoli v nobene pogledu ni lažji kot python - vsaj za moje pojme. Že sam design in filozofija pythona je, da ko se pri razvijanju funkcionalnosti samega jezika odloča med "dobro in komplicirano" in "ne tako dobro in manj komplicirano" se vedno izbere slednje. Pri perlu je to vedno "because Larry says so" :D. Perl ima prav tako tono enih skritih spremenljivk in defaultov, ki naredijo skripto/program včasih zelo neberljivo, sploh pri tistih brez strict modula. Prav tako lahko izpustiš marsikaj in zadeva še vedno deluje.
Osebno sem se pythona tako hitro in tako dobro navlekel, da kadar je možnost delam z njim.
Kolikor vem se smatra C++ za najbolj kompliciranega med jeziki.
.

Mipe ::

Perl ni ravno biser programskih jezikov. Get it? Perl? Pearl? Har har.

Eh, gremo naprej.

jype ::

practical extraction and report language

BigWhale ::

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

Resno? Eni ne rabmo studij, da to ugotovimo. ;>

Tear_DR0P ::

Eni ne rabmo studij, da to ugotovimo

ampak tebi se je samo zdelo, da je tako - sedaj pa imaš študijo, ki to tudi dokazuje ;)
"Figures don't lie, but liars figure."
Samuel Clemens aka Mark Twain

BigWhale ::

Tear_DR0P je izjavil:

Eni ne rabmo studij, da to ugotovimo

ampak tebi se je samo zdelo, da je tako - sedaj pa imaš študijo, ki to tudi dokazuje ;)


Ja, take studije so na ravni studij, ki dokazujejo, da je voda mokra. ;>

imagodei ::

Iz novice> "To naj bi vodilo do zaključka, da Perl ni ni nič boljši od naključno zgenerirane solate."

Ta zaključek seveda niti približno ne drži. Govora je o naključno generiranem programskem jeziku, ne o neki naključni žlobudravščini, ki jo od sebe spravi 6-mesečni otrok. (Programski) Jezik ima še vedno pravila, sintakso. Za nobeno solato ne gre, gre za to, da so pri perlu sintaktična pravila manj intuitivna, kot naključno generirana sintaktična pravila nekega izmišljenega programskega jezika.

Razlika nikakor ni nepomembna. Pri naključno generirani solati dejansko ni nobenih pravil in se (s še tako dolgim učenjem) ne moreš stvari naučiti, sklepati na uporabo; pri jezikih pa - naj bodo naravni ali programski - je potrebno dosledno upoštevanje pravil. Perl se morda komu zdi kot "kitajščina", a vendar ima svojo sintakso. Naključno generirana solata jih nima.
- Hoc est qui sumus -

MrBrdo ::

No ja... Men pa ni bil spet tako grozen Perl. Kakšne zadeve so prav fajn, npr. integriran regexp (khm... php... khm)
MrBrdo

.:joco:. ::

BigWhale je izjavil:

Tear_DR0P je izjavil:

Eni ne rabmo studij, da to ugotovimo

ampak tebi se je samo zdelo, da je tako - sedaj pa imaš študijo, ki to tudi dokazuje ;)


Ja, take studije so na ravni studij, ki dokazujejo, da je voda mokra. ;>

Voda ni mokra.
"Is science true?"
You don't get it.
Science is the process of trying to find out what's true.

amigo_no1 ::

Voda ni mokra.

To je predvsem odvisno temperature, tlaka in vlažnosti fluida, v katerem se voda nahaja :D.

.:joco:. ::

Ne, voda ni nikoli mokra.
Mokra je tvoja roka, če jo pomočiš v vodo.
"Is science true?"
You don't get it.
Science is the process of trying to find out what's true.

BigWhale ::

Voda je vsekakor mokra, zato lahko property mokrosti prenese na druge materiale. Zdej pravis, da zlató ni zlatô. :>

.:joco:. ::

Jah, nč. Ne strinjava se. Potrebna bo študija. :)
"Is science true?"
You don't get it.
Science is the process of trying to find out what's true.

Ziga Dolhar ::

BigWhale je izjavil:

Voda je vsekakor mokra, zato lahko property mokrosti prenese na druge materiale. Zdej pravis, da zlató ni zlatô. :>


Ampak tvoja roka ni mokra, ker bi se property mokrosti prenesel nate, ampak ker je na tvoji roki - voda. :P
https://dolhar.si/

WarpedGone ::

Voda je mokra samo če je tut prah prašen.
Zbogom in hvala za vse ribe

BigWhale ::

WarpedGone je izjavil:

Voda je mokra samo če je tut prah prašen.


Exactly! Ali pa ce je sol slana!

korenje3 ::

Ziga Dolhar je izjavil:

BigWhale je izjavil:

Voda je vsekakor mokra, zato lahko property mokrosti prenese na druge materiale. Zdej pravis, da zlató ni zlatô. :>


Ampak tvoja roka ni mokra, ker bi se property mokrosti prenesel nate, ampak ker je na tvoji roki - voda. :P


mokrost ni samo posledica vode na objektu, ampak tekočine na objektu.

WarpedGone ::

če hočeš bit picajzlat, bi moral reč kapljevine.
Zbogom in hvala za vse ribe

BigWhale ::

To spet ni cisto res. Ce se polijes z Jupolom, potem ne bos rekel, da si moker, mar ne? Ali pa ce se polijes z oljem, ali pa z bencinom.

Mokrost velja za tekocine, ki so pretezno vodene in z majhno viskoznosjo.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Perl 6 je tu

Oddelek: Novice / Ostala programska oprema
63450 (2487) wungad
»

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

Oddelek: Novice / Znanost in tehnologija
227048 (5098) BigWhale
»

Visual Basic.NET - za začetnika ?

Oddelek: Programiranje
304784 (3903) mHook
»

Java

Oddelek: Programiranje
323522 (3080) Nerdor
»

ASP - aje vredu

Oddelek: Programiranje
172147 (1974) simon

Več podobnih tem