Codul Sursă Este Pentru Toată Lumea. Dacă Vorbești Doar Engleză - Vedere Alternativă

Codul Sursă Este Pentru Toată Lumea. Dacă Vorbești Doar Engleză - Vedere Alternativă
Codul Sursă Este Pentru Toată Lumea. Dacă Vorbești Doar Engleză - Vedere Alternativă

Video: Codul Sursă Este Pentru Toată Lumea. Dacă Vorbești Doar Engleză - Vedere Alternativă

Video: Codul Sursă Este Pentru Toată Lumea. Dacă Vorbești Doar Engleză - Vedere Alternativă
Video: CE FACI DACA vezi ASTA ? House 2024, Mai
Anonim

Deoarece World Wide Web își sărbătorește cea de-a 30-a aniversare în acest an, un lingvist expert al revistei Wired reflectă asupra prezentului și mâine a limbajelor de programare, menționând că chiar și limbi foarte mari, cu o lungă tradiție literară, nu au devenit baza unui cod sursă larg răspândit. Trebuie să știți engleza. Cu toate acestea, situația poate fi schimbată - în următorii 30 de ani.

World Wide Web sărbătorește 30 de ani de la acest an, astfel că au fost cheltuiți câțiva pixeli pentru a argumenta „promisiunile inițiale ale web-ului - inclusiv ideea că puteți face clic pe butonul„ vizualizare sursă”de pe orice pagină și puteți da cu ușurință seama de ce afișează exact ceea ce vezi. Iată chiar prima pagină web pe care site-ul web autodidact Glitch a reprodus-o la sărbătorirea aniversării pentru a vă arăta cum puteți trece la codul sursă și a vedea că anumite părți sunt etichetate și

(este posibil să fi ghicit ce înseamnă acest „paragraf”). Arată destul de simplu - dar citiți acest lucru pe un site web de limbă engleză din perspectiva unui vorbitor nativ de limba engleză.

Acum imaginați-vă că este prima pagină web pe care ați văzut-o în viața voastră și nu așteptați să aruncați o privire în culise și să aflați cum funcționează. Dar în loc de etichetele verbale pe care le cunoașteți, vă confruntați cu versiunea creată de mine - nu este diferită de cea originală, cu excepția faptului că codul sursă se bazează mai degrabă pe limba rusă decât pe engleză. Nu vorbesc limba rusă și, dacă, de exemplu, veți face la fel, o să faceți și amândoi și să vă provocați aceeași dorință de a încerca să faceți ceva pe cont propriu?

În teorie, un limbaj de programare poate fi creat pe baza oricăror simboluri. Calculatorul nu-i pasă. Acesta rulează deja un program de traduceri imperceptibil, care traduce toate aceste IF-uri ale tale sau în zeruri și cele cu care operează și am obține aceleași rezultate dacă am lua emoji de cartofi în loc de IF sau misterioasa glifă chirilică medievală din secolul al XV-lea, multocularul „Oh In loc de. Faptul că limbajele de programare seamănă adesea cu limba engleză sugerează că creierul nostru uman sărac, muritor, își poate aminti mai ușor cuvintele pe care le știm deja.

Dar doar câțiva dintre noi știm deja cuvintele care denotă aceste comenzi - cei care vorbesc engleză. Deci „promisiunile inițiale ale web-ului” au fost doar promisiuni pentru utilizatorii de limbă engleză, fie că sunt vorbitori nativi sau persoane cu acces la o educație în general de elită, al cărei produs este limba engleză fluentă, ca oameni de limbă a doua în zonele care nu sunt dominate de engleză. …

Adevărat, programele de calculator și platformele de rețele sociale sunt disponibile astăzi în 30-100 de limbi, dar ce zici de instrumentele în sine care ne pot ajuta să devenim creatori, nu doar utilizatori de instrumente de calcul? Nu susțin nici măcar să scrii limbaje de programare în limbi mici și rareori utilizate (deși ar fi minunat). Chiar și limbile foarte mari, care au o tradiție literară extinsă și sunt limbi ale comerțului regional, cum ar fi chineza, spaniola, hindi și araba, încă nu au devenit baza codului sursă larg răspândit.

Din câte știu, există doar patru limbaje de programare, care sunt disponibile peste tot în format multilingv. Nu 400. Patru (4).

Două dintre ele sunt special concepute pentru învățarea programării copiilor: Scratch și Blockly. Dezvoltatorii Scratch au efectuat chiar cercetări care au arătat că copiii învață să codeze mai ușor dacă codul sursă se bazează pe propria limbă decât cei care se blochează încercând să învețe o altă limbă. Ce se va întâmpla când acești copii vor crește? Adulții care nu sunt pricepuți în limbi străine vor trebui să aleagă dintre alte două produse disponibile în limbi diferite: formulele Excel și codul wiki.

Video promotional:

Da, puteți programa foi de calcul cu orice limbă furnizată pentru interfața programului. Atât în Excel, cât și în Google Sheets, puteți scrie, de exemplu, = IF (condiție, valoare_if_true, valoare_if_false) sau puteți introduce echivalentul spaniol = SI (prueba_lógica, valor_si_es_verdadero, valor_si_es_falso) sau puteți utiliza zeci de alte limbi. [Inclusiv limba rusă: IF (valoare, valoare_if_true, valoare_if_false - ed.)] Poate că acesta nu este primul lucru care îmi vine în minte atunci când vă gândiți la codul programului, dar programele tabulare pot fi, în principiu, utilizate ca mașină de Turing și o astfel de utilizare a versiunilor locale poate fi justificată economic.

În mod similar, puteți edita Wikipedia și alte site-uri wiki, profitând de faptul că codul wiki există în multe limbi diferite. Comenzile wiki de bază nu sunt specifice niciunei limbi (de exemplu, cândeste închis între paranteze), dar comenzile mai complexe folosesc cuvinte în limba locală. De exemplu, atunci când proiectați un tabel cu date despre o persoană, în Wikipedia în limba engleză vor exista parametrii "name =" și "birth_place =", care în versiunea bulgară a Wikipedia arată ca "name =" și "rodin-mesto =".

Pe lângă aceste patru coduri de programare multilingvă disponibile pe scară largă, există câteva zeci, poate chiar aproximativ o sută, de limbaje de programare disponibile în una sau două limbi, altele decât engleza, cum ar fi Qalb (arabă), versiunea chineză a Python, Farsinet (persană)), Sistemul de programare Hindawi (bengaleză, gujașeană și hindi) și chiar o versiune latină a Perl. Unele limbi de programare non-engleză datează din epoca calculatoarelor de cameră construite de guvern - de exemplu, mai multe limbaje de programare din epoca sovietică bazate pe rusă, precum și ALGOL 68 (1960) și a 4-a dimensiune (1980) … Dar multe limbi mai noi, precum Python, Ruby și Lua, sunt dezvoltate în țări care nu vorbesc engleza (Olanda, Japonia și Brazilia),dar toate la fel comenzile cheie ale acestor limbi sunt engleza. Promisiunea inițială a internetului sună astfel mai mult ca o amenințare pentru mulți oameni: vorbesc engleza sau ieșiți pe web.

Aceste limbaje coexistă, deoarece este ușor de tradus de la un limbaj de programare la altul. Există multe convertoare de limbaj de programare disponibile - puteți adăuga un fragment JavaScript și obține o versiune Python sau adăugați un fragment Markdown și obțineți o versiune HTML. Nu sunt deosebit de dificil de creat. Limbile de programare au vocabulare limitate, bine definite, fără ambiguitate sau nuanțe culturale care îngreunează traducerea automată a limbilor naturale. Cunoscând echivalentele a aproximativ o sută de comenzi, puteți înlocui automat una cu alta pentru orice bucată de cod.

Este atât de ușor să traduceți limbaje de programare, încât unii tocilari o fac din când în când din dragoste pentru artă sau râd când creează așa-numitele limbaje de programare ezoterice. De exemplu, LOLCODE este modelat pe memele pentru pisici lolcats, astfel programul este deschis cu comanda HAI (ANTERIOR - ed.) Și închis cu KTHXBAI (scurt pentru „bine, mulțumesc, adio”: „bye bye” - ed..) și Whitespace (Space) este complet invizibil pentru ochiul uman și constă din caractere neimprimabile: spațiu, tab stop și feed line. Există chiar și Pikachu, un limbaj de programare realizat în întregime din pi, pika și andpikachu, așa că Pikachu însuși s-ar putea - teoretic - să se elibereze de acei dracatori antrenori Pokemon și să ia în schimb un loc de muncă de programator plătit.

Când creezi o traducere Pokemon a codului tău, sună absurd. Când traduceți codul pentru miliarde de oameni din lume care nu vorbesc limba engleză, accesul la locuri de muncă cu plată mare și capacitatea de a regla manual dispozitivul dvs. nu mai reprezintă un avantaj. Faptul că codul sursă depinde de limba engleză privește oamenii de acest avantaj, iar din punct de vedere al tehnologiei de codare, acest lucru este complet inutil.

Dar un limbaj de programare nu se referă numai la caracteristicile sale tehnice, ci este o comunitate de oameni. Cele patru coduri multilingve răspândite au avut mai mult noroc cu o astfel de comunitate decât limbajele individuale de programare non-engleze, dar sunt încă foarte puține. Există și alte resurse utile pe care va trebui să le accesați atunci când faceți rapoarte privind erorile Google. Oricum, la naiba, mai întâi trebuie să vă dați seama cum să folosiți această limbă pe computer. Acesta este motivul pentru care a fost atât de important că primul browser web a permis editarea, nu doar navigarea, motiv pentru care Glitch a insistat atât de mult încât utilizatorul să poată edita codul sursă chiar din fereastra browserului și, în acest caz, a fost ușor să obțineți ajutor. Dar unde este Glitch pentru restul lumiinu vorbesc engleza? Cum putem face internetul și mai comod pentru persoanele care abia acum îl cunosc (sau care l-au folosit ca consumatori în ultimul deceniu) decât a fost pentru primii săi vizitatori?

Acesta este motivul pentru care nu-mi pierd speranța: în Europa medievală, dacă vrei să stăpânești arta scrierii, trebuia să înveți o limbă nouă împreună cu ea. Scrierea înseamnă latină. Scrierea în dialectul local - limba maternă pe care oamenii o vorbiseră deja - stătea undeva la margine și era nedezvoltată. De ce să te deranjezi să înveți să scrii în engleză sau franceză? Nu este nimic de citit pe ele, în timp ce latina îți oferea acces la tradiția intelectuală a limbii comunicării internaționale.

Uneori, uitându-ne înapoi la această epocă istorică, ne întrebăm de ce oamenii se deranjează cu toată această latină, când puteau doar să scrie în limba pe care o vorbeau. În acea perioadă, învățarea limbii latine pentru a învăța să scrie a fost la fel de logică precum învățarea limbii engleze astăzi pentru a scrie cod, chiar dacă acum știm că copiii învață să citească mult mai repede dacă mai întâi sunt învățați în limba lor maternă. … Argumentele pentru codul englez pe care le văd pe site-uri precum Stack Overflow răsună din această idee: de ce să nu înveți doar engleza? Acest lucru vă oferă acces la întreaga tradiție tehnologică.

Se știe că dominarea scrisului în latină s-a încheiat. Arta scrisului s-a răspândit în alte limbi. Capacitatea de a crea cod sursă nu depinde de cunoașterea limbii engleze decât tehnologia de scriere în sine a fost asociată cu latina. Vă sugerez să începeți prin ajustarea modului în care vorbim despre limbaje de programare care au cuvinte din limbaje comune. Primul site nu a fost scris în HTML, ci în HTML în engleză. Fragmentul de cod care apare în partea de jos a primului site web oferit de Glitch nu este scris în Javascript, ci în engleză „Javascript”. Când le numim în primul rând engleză, devine din ce în ce mai evident. că putem schimba situația - ne putem imagina o lume în care există și HTML rusesc sau „Javascript” swahili,unde nu aveți un avantaj inerent în învățarea codului dacă se întâmplă că limba dvs. maternă este engleza.

Această lume nu există încă. Poate că în următorii 30 de ani o vom crea.

Gretchen McCulloch este lingvist rezident la Wired, coautor al podcastului lingvistic Lingthusias și autor al operei deoarece Internet: Înțelegerea noilor reguli ale limbajului, care va avea loc pe 23 iulie 2019 din Riverhead (Penguin).

Recomandat: