Maailma Kõige Valesti programmeerimiskeel On Saanud Maailma Kõige Populaarsem Programmeerimise Keel

Algselt alates Douglas Crockford

http://javascript.crockford.com/popular.html

Jean Sammet kirjutas Arvuti Keeles: Ajalugu ja Alused aastal 1969. See oli uuringu 120 programmeerimine keeles, mõned küllaltki põhjalikult. Sammet raamat chronicled keelte, mis olid loodud enne Struktureeritud Programmeerimise Revolutsioon ja hiljem arendamise Objekt-Orienteeritus. Raamatu kaas eeskujulik pilt Babel Torn. Paljud tellised struktuuri torni kandis nimesid, programmeerimiskeeled.

See muidugi viitab Genesis [11:1-9], kus mõned suurepärased engineering talent kohaldati ülesanne hoone linn ja torn, mille abil ühendada maailma.

Aga LORDD tuli alla vaatama linna ja torni, mis poegadest mehed olid ehitatud. Ja LORD ütles: “Tõepoolest, rahvas on üks ja neil kõigil on üks keel, ja see on see, mida nad hakkavad tegema; nüüd midagi, mida nad kavatsevad teha jäetakse neid. Tule, lähme alla ja seal segadusse ajada nende keel, et nad ei mõista teineteise kõne.” Nii et LORD hajutatud nad välismaale sealt üle näo kogu maa, ja nad enam hoone linna. Seega selle nimi on nn Babel, sest seal LORD segaduses keel kogu maa; ja sealt LORD laiali neid välismaal üle näo kogu maa.

Mõnikord on see läbi lugeda hoiatust uhkeldada. Mõnikord see ei loe, kui just-nii lugu, mis selgitab, miks inimesed räägivad nii palju keeli: LORD lõi I18N Probleem, et vältida inimkonna jõudmist oma potentsiaali. Kuid ma arvan, et selle otseses tõlgendus on metafoor programmeerimiskeel disain. Põhimõte probleem programmeerimine on juhtimise keerukusest. Kui keelt ei aita meid juhtima väga keerukate süsteemide ees muutuvatele nõuetele, siis segadust tulemusi, ja kui järgmine.

Miks on seal nii palju programmeerimiskeeled? Lisaks Sammet komplekt, seal on palju uusi keeli ja murdeid arenenud viimase 40 aasta jooksul. Meil on programmeerimine Kõrgel Tasemel väga pikka aega. Ei tohiks meil on lähenesid õige viis seda teha nüüd? On ilmne, kasutegureid, mis oleks saadud disain ja võtta vastu ühtne, täiuslik keel. Me võiks keskenduda oma ressursse tõhusamalt koolitus-ja abivahendite väljatöötamine. Miks me pole seda teinud?

Oleme püüdnud. On olnud mitmeid katseid ehitada massiivne, universaalne keeles. Nad kõik ebaõnnestus. Keele disain kasvab, suurendada selle kasutatavust, see muutub üha keerulisemaks. Disainerid, kes teeb oma keel liiga keeruline ajage keel, sayeth LORD.

Nii näeme, selle asemel, et suure hulga rohkem spetsialiseeritud keeled. Spetsialiseeritud keel on väga tõhusad, mõned mitmesuguseid ülesandeid. Ja see on piisavalt hea. Inimeste jaoks, kellel on täita neid ülesandeid, millel õiget keelt saab, noh, taeva kingitus.

Programmeerimise keel cobbles arvutusmudel, koos mingi väljendusrikas süntaks. Enamikus keeltes on määratud kasuliku väärtused nagu numbrid ja tekstid (mis enamikus keeltes, kummaliselt, kõne-stringid), ja operatsioonid, mis muteeruvad ja sünteesida väärtused ja mingi variatsiooni või kordus, ja kuidagi pakendamine arvesse mugavam idioomid. Erinevusi, mis on võimalikud on lõputu, palju nagu erinevusi võimalik ettevalmistamisel trahvi sööki või muusikateose. Kunst keeles disain on teada, mida välja jätta. Omadused hea keel töötavad koos, harmooniliselt. Hea keel aitab meil paremini mõista probleemi ja leida parim väljendus oma lahenduse.

Hea keel koosneb piiratud kogum funktsioone. Kuid vähe on kokkulepe, mille omadused on parimad. Programmeerijad võib vaielda lõputult umbes funktsioone ja kas nad teevad ühte keelt paremini kui teine. See ei tähenda, et funktsioonid ei ole oluline. Nad asja oluliselt. Me lihtsalt ei mõista veel, kuidas nad asja.

Keel disain on rohkem pistmist mood kui tehnoloogia. See võib tunduda kummaline, et mood on peamine tegur nerdliest kunsti, kuid see on tõsi. Keel koos radikaalselt erinev süntaks, näiteks, ei ole lootus leida lai vastu, sõltumata sellest, sära oma disain. See kipub piirata kiirust, millega keeled arenevad.

Nagu muusika ja toiduga, programmeerimiskeel saab toote oma aja. Sügav probleem keel disain ei ole tehnoloogia, see on psühholoogiline. Programmeerimise keel peab pakkuma meile struktuurid, mis aitavad meil põhjust tõhusamalt.

Programmeerimiskeeled on nagu kassid. See on lihtsam saada uus kass, kui saada vana kass fikseeritud. Kõige edukamad keeles on lõpuks asendada upstarts. Remodeled keeles harva vaste au originaal. Fortran oli kord kuningas keeles. See on mitu korda muudetud aastate jooksul, kuid moderniseeritud murrete kogenud murdosa prestiiži Fortran IV. Samamoodi, Pascal oli populaarne struktureeritud programmeerimise keel, kuid ükski objektorienteeritud murded üha lähenes Pascal on au. Selle asemel, keeled kipuvad olema välistama.

Spetsialiseeritud keeled on lõbus teha, mis selgitab, miks on nii palju. Kui keelt ei saa, liiga suur, see võib olla haldama üks disainer. Enamikus keeltes saab tuvastada ühe disainer. Pascal: Wirth. C: Ritchie. C++: Stroustrup. Java: Gosling. C#: Hejlsberg. Rebol: Sassenrath. Python: van Rossum. PHP: Lerdorf. Perl: Wall. Ruby: Matsumoto. Lua: Ierusalimschy. E: Miller. JavaScript: Eich.

Enamik keeli sureb varjust. Ainult vähesed on võimalik ehitada järgmise kaugemale ühe projekti või ettevõtte. Ja ainult väga väike hulk keeles on tähtis.

On kaks võimalust, et keel muutub oluline. Esimene on allikana või tõendavad maa puhul oluline ideid. See hõlmab keeli, nagu näiteks Smalltalk ja Kava. Need keeled on laialdaselt ei kasutata, kuid on üldiselt tunnustatud kui geniaalne, kuid moest. Neil on võimas mõju keele disainerid.

Teine viis, et keel muutub olulisemaks on muutumas populaarseks.

On palju asju, mida programmeerija tuleb kaaluda valides programmi keel, kui see programmeerija kirjutab web brauserid, kus ainuke võimalus hetkel on JavaScript.

JavaScript on hämmastavalt keel, väga halvim mõttes. Selle imeline loodus viinud väga halb maine. Javascripti on ka koos DOM, hirmsad API. Seal on palju segadust, kus Javascripti otsad ja DOM hakkab. Seal on palju jutuvadin umbes parandada JavaScript, vaid et ise teeks vähe parandada elu veebiarendajad. Keel on koormatud liiga palju funktsioone, sealhulgas paljud, et suhelda halvasti või olid halvasti projekteeritud. See on keel, mis on, kui Emperor Joseph ütleks, liiga palju märkmeid.

Nii, kuidas keel sellised ilmsed puudujäägid saanud Ainus programmeerimiskeel Veebi? Brendan Eich veendunud tema teravanurgeliste-haired boss kell Netscape, et Navigator brauser peaks olema oma skriptimise keel, ja et ainult uue keele teeks, uue keele kavandatud ja rakendatud suur, kiire, ja et ükski olemasolev keel tuleb ka arvestada, et rolli. Internet Explorer meeskond Microsoft tahtis lüüa Netscape i turuosa, nii et nad hoolikalt reverse engineered Netscape on keel, suur karvane tüükad ja kõik. Teise brauseri tegijad järgneb Microsofti viia. Ei ole standard, mis ütleb, et brauser peab rakendama JavaScript; JavaScript on ainus keel rakendatud kõiki populaarsed brauserid. Ei olnud hoolikalt üle vaadata keel või tema probleem domeeni. Puudus ülevaade oma sobivusest või usaldusväärsust oma disain. See oli lõid teda vastu koos Netscape i ja seejärel kopeerida mujal. Antud protsess, mis loodud JavaScript tehtud, ja see on de facto standard, me väärime midagi, palju hullem.

Kuid vaatamata JavaScript on üllatav puudujääke, sügaval tema tuum, see sai midagi, väga õige. Kui sa koor ära cruft, on ekspressiivne ja võimas programmeerimiskeel seal. Et keelt kasutatakse hästi palju Ajax raamatukogud hallata ja tõsta DOM, toodavad taotluse platvormi interaktiivsete rakenduste tarnitud nagu veebi lehekülgedel. Ajax on muutunud populaarseks, sest JavaScript toimib. See toimib üllatavalt hästi.

JavaScript oli maailma kõige valesti programmeerimise keel. Selle ilmne vead, selle vanamoodne programmitöö mudel, tahtlik mispositioning oma sissejuhatus, ja selle naeruväärne nimi põhjustas see tuleb tagasi lükata, sest pole väärt enamik kogenud programmeerijad. Kuid Ajax andis JavaScript teine võimalus.

Kuna JavaScript on keel, veebibrauser, ja kuna brauser on muutunud valitseva taotluse kohaletoimetamise süsteemi, ja kuna JavaScript ei ole liiga halb, JavaScript on saanud Maailma Kõige Populaarsem Programmeerimise Keel. Selle populaarsus kasvab. See on praegu integreerida muude rakenduste ja kontekstides. JavaScript on saanud oluline.

See on parem olla õnnelik, kui arukas.

Tagasi esilehele