Izvorna Koda Je Namenjena Vsem. Če Samo Govorite Angleško - Alternativni Pogled

Izvorna Koda Je Namenjena Vsem. Če Samo Govorite Angleško - Alternativni Pogled
Izvorna Koda Je Namenjena Vsem. Če Samo Govorite Angleško - Alternativni Pogled

Video: Izvorna Koda Je Namenjena Vsem. Če Samo Govorite Angleško - Alternativni Pogled

Video: Izvorna Koda Je Namenjena Vsem. Če Samo Govorite Angleško - Alternativni Pogled
Video: NISAM U STRANCI ZATO SAM NA NJIVI 2024, Maj
Anonim

Ko svetovni splet letos praznuje 30. obletnico, jezikoslovni strokovnjak revije Wired razmišlja o sedanjosti in jutri programskih jezikov, pri čemer ugotavlja, da tudi zelo veliki jeziki z dolgo literarno tradicijo niso postali osnova za razširjeno izvorno kodo. Morate znati angleško. Kljub temu se lahko stanje spremeni - v naslednjih 30 letih.

Svetovni splet letos praznuje 30. obletnico, zato je bilo porabljenih kar nekaj slikovnih pik, ki se prepirajo o "začetnih obljubah spleta" - vključno z idejo, da lahko kliknete gumb "ogled vira" na kateri koli strani in preprosto ugotovite, zakaj prikaže točno tisto, kar vidite. Tu je prva spletna stran, ki jo je ob praznovanju obletnice reproducirala samoučna spletna stran Glitch, da bi vam pokazala, kako lahko preklopite na izvorno kodo in vidite, da so nekateri deli označeni in

(morda ste uganili, kaj to pomeni "odstavek"). Izgleda precej preprosto - vendar to berete na angleško govorečem spletnem mestu z vidika domorodnega angleškega govorca.

Zdaj si predstavljajte, da je to prva spletna stran, ki ste jo videli v svojem življenju in komaj čakate, da pokukate izza scene in ugotovite, kako deluje. Toda namesto verbalnih nalepk, ki jih poznate, se soočate z različico, ki sem jo ustvaril - se ne razlikuje od izvirnika, le da izvorna koda temelji na ruščini in ne na angleščini. Ne govorim rusko, in če na primer storite isto, bosta oboje in vas vzbudila enaka želja, da bi poskusili narediti nekaj sami?

Teoretično lahko na osnovi poljubnih simbolov ustvarite programski jezik. Računalnik ne skrbi. Že deluje nevidni prevajalski program, ki prevede vse te vaše IF-je ali v ničle in tiste, s katerimi deluje, in dobili bi enake rezultate, če bi namesto IF-ja vzeli krompirjev emoji ali skrivnostni srednjeveški cirilici iz 15. stoletja, multiokularni "Oh "Namesto. Dejstvo, da programski jeziki pogosto spominjajo na angleščino, samo nakazuje, da si lahko naši slabi, smrtni človeški možgani lažje zapomnijo besede, ki jih že poznamo.

Toda le nekaj nas že pozna besede, ki označujejo te ukaze - tiste, ki govorijo angleško. Torej so bile "začetne obljube mreže" samo obljube za angleško govoreče uporabnike, ne glede na to, ali so domači govorci ali ljudje z dostopom do splošno elitne izobrazbe, katere produkt je tekoča angleščina kot drugi jezik na območjih, ki niso v angleščini. …

Res so računalniški programi in platforme za družabna omrežja danes na voljo v 30-100 jezikih, kaj pa sama orodja, ki nam lahko pomagajo postati ustvarjalci, ne le uporabniki računalniških orodij? Sploh ne zagovarjam pisanja programskih jezikov v majhnih in redko uporabljanih jezikih (čeprav bi bilo to super). Tudi zelo veliki jeziki, ki imajo obsežno literarno tradicijo in so jeziki regionalne trgovine, kot so kitajski, španski, hindujski in arabski, še vedno niso postali osnova za razširjeno izvorno kodo.

Kolikor vem, obstajajo samo štirje programski jeziki, ki so povsod na voljo v večjezični obliki. Ne 400. Štiri (4).

Dve izmed njih sta posebej zasnovani za poučevanje otroškega programiranja: Scratch in Blockly. Scratchovi razvijalci so celo izvedli raziskavo, ki je pokazala, da se otroci naučijo lažje programirati, če izvorna koda temelji na njihovem lastnem jeziku, kot tisti, ki se zataknejo pri poskusu učenja drugega jezika. Kaj se bo zgodilo, ko ti otroci odrastejo? Tisti odrasli, ki ne bodo imeli odličnega znanja tujega jezika, bodo morali izbrati med dvema izdelkoma, ki sta na voljo v različnih jezikih: Excelove formule in wiki kodo.

Promocijski video:

Da, preglednice lahko programirate v katerem koli jeziku, ki je na voljo za programski vmesnik. V Excel in Google Sheets lahko na primer napišete = IF (pogoj, value_if_true, value_if_false) ali vnesete španski ekvivalent = SI (prueba_lógica, valor_si_es_verdadero, valor_si_es_falso) ali uporabite desetine drugih jezikov. [Vključno z ruščino: ČE (vrednost, vrednost_if_true, vrednost_if_false - ur.)] To morda ni prva stvar, ki pride na misel pri razmišljanju o programski kodi, vendar se lahko tabelarni programi načeloma uporabljajo kot Turingov stroj in taka uporaba lokalnih različic je lahko ekonomsko upravičena.

Podobno lahko urejate Wikipedijo in druga wiki spletna mesta, pri čemer izkoristite dejstvo, da koda wiki obstaja v več različnih jezikih. Osnovni ukazi wiki niso značilni za noben jezik (na primer, kadar jezaprt v oklepajih), vendar bolj zapleteni ukazi uporabljajo besede v lokalnem jeziku. Na primer, ko oblikujete tabelo podatkov o osebi, bosta v angleški Wikipediji obstajali parametra "name =" in "birth_place =", ki v bolgarski različici Wikipedije izgledata kot "name =" in "rodin-mesto =".

Poleg teh štirih široko dostopnih večjezičnih programskih kod je na voljo več deset, morda celo približno sto, programskih jezikov v enem ali dveh jezikih, razen angleščine, na primer Qalb (arabščina), kitajska različica Pythona, Farsinet (perzijska)), Programski sistem Hindawi (bengalščina, gudžarati in hindujščina) in celo latinsko različico Perla. Nekateri neangleški programski jeziki segajo v dobo vladnih računalnikov v velikosti sob - na primer več programskih jezikov sovjetske dobe, ki temeljijo na ruščini, ter večjezičnost ALGOL 68 (1960) in 4. dimenzija (1980) … Toda mnogi novejši jeziki, kot so Python, Ruby in Lua, so razviti v državah, ki ne govorijo angleško (Nizozemska, Japonska in Brazilija),vendar so ključni ukazi teh jezikov angleščina. Začetna obljuba interneta tako zveni bolj kot grožnja mnogim ljudem: govoriti angleško ali se umakniti s spleta.

Ti jeziki soobstajajo, ker jih je enostavno prevesti iz enega programskega jezika v drugega. Na voljo je veliko pretvornikov programskega jezika - lahko dodate odsek JavaScript in dobite različico Pythona ali dodate odsek Markdown in dobite različico HTML. Ni jih posebej težko ustvariti. Programski jeziki imajo omejene, natančno opredeljene besedne zaloge brez dvoumnosti ali kulturnih odtenkov, ki otežujejo samodejno strojno prevajanje naravnih jezikov. Če poznate približno sto ukazov, lahko samodejno zamenjate enega z drugim za kateri koli del kode.

Tako enostavno je prevajanje programskih jezikov, da nekateri nerdci to občasno počnejo iz ljubezni do umetnosti ali do smeha, ustvarjajo tako imenovane ezoterične programske jezike. Na primer, LOLCODE je modeliran na mačjih memo lolcats, zato se program odpre z ukazom HAI (PREJŠNJI - ed.) In zapre s KTHXBAI (kratek za „v redu, hvala, bye“: „bye bye“- ed..) in Whitespace (Vesolje) je človeškemu očesu popolnoma neviden in je sestavljen iz znakov, ki jih ni mogoče natisniti: presledka, zaustavitve zavihkov in podajanja vrstic. Obstaja celo Pikachu, programski jezik, ki je v celoti izdelan iz pi, pike in andpikachuja, zato se je Pikachu sam teoretično lahko izpustil iz teh prekletih trenerjev Pokemona in namesto tega vzel visoko plačano programerjevo službo.

Ko ustvarite Pokemon prevod svoje kode, se sliši absurdno. Ko prevedete kodo za milijarde ljudi na svetu, ki ne govorijo angleško, dostop do visoko plačanih delovnih mest in možnost ročnega nastavitve lastne naprave niso več prednost. Dejstvo, da je izvorna koda odvisna od angleščine, ljudem odvzema to prednost in s stališča tehnologije kodiranja je to popolnoma nepotrebno.

Toda programski jezik ne govori le o njegovih tehničnih značilnostih, temveč je skupnost ljudi. Štiri razširjene večjezične kode so imele večjo srečo s tako skupnostjo kot posamezni neangleški programski jeziki - vendar jih je še vedno zelo malo. Obstajajo še drugi koristni viri, ki jih boste morali obiskati, ko boste poročali o Googlovih napakah. Kakorkoli, prekleto, najprej morate ugotoviti, kako uporabljati ta jezik v računalniku. Zato je bilo tako pomembno, da je prvi spletni brskalnik dovoljeval urejanje, ne le brskanje, zato je Glitch toliko vztrajal, da je lahko uporabnik uredil izvorno kodo neposredno iz okna brskalnika in v tem primeru je bilo enostavno dobiti pomoč. Toda kje je Glitch za tujinone govorite angleško? Kako lahko naredimo internet še bolj priročen za ljudi, ki ga šele spoznavajo (ali ki so ga v preteklem desetletju uporabljali kot potrošnike), kot je bil to za njegove prve obiskovalce?

Zato ne izgubljam upanja: v srednjeveški Evropi, če si želel obvladati umetnost pisanja, si se moral skupaj z njim naučiti novega jezika. Pisanje pomeni latinsko. Pisanje v lokalnem narečju - domačem jeziku, ki so ga ljudje že govorili - je stalo nekje ob strani in je bilo nerazvito. Zakaj bi se trudili učiti pisanje v angleščini ali francoščini? Na njih ni ničesar brati, medtem ko vam je latinščina omogočila dostop do intelektualne tradicije jezika mednarodne komunikacije.

Včasih se ob pogledu na to zgodovinsko dobo sprašujemo, zakaj se ljudje mučijo z vso to latinščino, ko so lahko le pisali v jeziku, ki so ga govorili. Takrat je bilo učenje latinščine za učenje pisanja enako logično kot učenje angleščine danes za pisanje kode, čeprav zdaj vemo, da se otroci učijo brati veliko hitreje, če se najprej učijo v svojem maternem jeziku. … Argumenti za angleško kodo, ki jih vidim na spletnih mestih, kot je Stack Overflow, odmevajo to idejo: zakaj se ne bi le naučili angleško? To vam omogoča dostop do celotne tehnološke tradicije.

Znano je, da je prevlado pisanja v latinščini konec. Umetnost pisanja se je razširila na druge jezike. Sposobnost ustvarjanja izvorne kode ni bolj odvisna od znanja angleškega jezika, saj je bila tehnologija pisanja povezana z latinščino. Predlagam, da začnete s prilagajanjem načina, kako govorimo o programskih jezikih, ki imajo besede iz skupnih jezikov. Prvo spletno mesto ni bilo napisano v HTML-ju, ampak v angleščini HTML. Odlomek kode, ki se pojavi na dnu prvega spletnega mesta, ki ga je ustvaril Glitch, ni napisan v Javascriptu, ampak v angleščini "Javascript". Ko jih imenujemo predvsem angleščina, postaja vse bolj očitna da lahko spremenimo situacijo - lahko si predstavljamo svet, v katerem je tudi ruski HTML ali svahili "Javascript",kjer nimate nobene prednosti pri učenju kode, če se zgodi, da je vaš materni jezik angleščina.

Ta svet še ne obstaja. Morda ga bomo v naslednjih 30 letih ustvarili.

Gretchen McCulloch je rezidenčna jezikoslovka pri Wiredu, soavtorica jezikovnega podcasta Lingthusiasmism in avtor knjige Zato, ker Internet: Razumevanje novih pravil jezika, ki izide 23. julija 2019 iz Riverheada (Pingvin).