Il Codice Sorgente è Per Tutti. Se Solo Parli Inglese - Visualizzazione Alternativa

Il Codice Sorgente è Per Tutti. Se Solo Parli Inglese - Visualizzazione Alternativa
Il Codice Sorgente è Per Tutti. Se Solo Parli Inglese - Visualizzazione Alternativa

Video: Il Codice Sorgente è Per Tutti. Se Solo Parli Inglese - Visualizzazione Alternativa

Video: Il Codice Sorgente è Per Tutti. Se Solo Parli Inglese - Visualizzazione Alternativa
Video: The Spark ONAIR, Arturo Tedeschi 2024, Potrebbe
Anonim

Mentre il World Wide Web celebra quest'anno il suo 30 ° anniversario, un linguista esperto della rivista Wired riflette sul presente e domani dei linguaggi di programmazione, osservando che anche le lingue molto grandi con una lunga tradizione letteraria non sono diventate la base per un codice sorgente diffuso. Devi conoscere l'inglese. Tuttavia, la situazione può essere cambiata - nei prossimi 30 anni.

Il World Wide Web celebra il suo 30 ° anniversario quest'anno, quindi sono stati spesi parecchi pixel a discutere delle "promesse iniziali del Web", inclusa l'idea di poter fare clic sul pulsante "visualizza sorgente" su qualsiasi pagina e capire facilmente perché mostra esattamente ciò che vedi. Ecco la primissima pagina web che il sito web autodidatta Glitch ha riprodotto per celebrare l'anniversario per mostrarti come puoi passare al codice sorgente e vedere che alcune parti sono taggate e

(potresti aver intuito cosa significa "paragrafo"). Sembra piuttosto semplice, ma stai leggendo questo su un sito web di lingua inglese dal punto di vista di un madrelingua inglese.

Ora immagina che questa sia la prima pagina web che hai visto nella tua vita e non vedi l'ora di sbirciare dietro le quinte e scoprire come funziona. Ma invece delle etichette verbali che conosci, ti trovi di fronte alla versione che ho creato - non è diversa dall'originale, con l'eccezione che il codice sorgente è basato sul russo anziché sull'inglese. Non parlo russo, e se tu, per esempio, fai lo stesso, lo farai entrambi, e ti faranno lo stesso desiderio di provare a fare qualcosa da solo?

In teoria, è possibile creare un linguaggio di programmazione basato su qualsiasi simbolo. Al computer non importa. Sta già eseguendo un programma di traduzione invisibile che traduce tutti questi tuoi IF o in zeri e uno con cui opera, e avremmo gli stessi risultati se prendessimo l'emoji della patata invece di IF o il misterioso glifo cirillico medievale del XV secolo, il multioculare "Oh "Invece di. Il fatto che i linguaggi di programmazione assomiglino spesso all'inglese suggerisce solo che il nostro cervello umano povero e mortale può ricordare più facilmente parole che già conosciamo.

Ma solo pochi di noi conoscono già le parole che denotano questi comandi, coloro che parlano inglese. Quindi le "promesse iniziali del web" erano solo promesse per utenti di lingua inglese, siano essi madrelingua o persone con accesso a un'istruzione generalmente d'élite, il cui prodotto è fluente inglese come seconda lingua persone in aree non dominate dall'inglese. …

È vero, i programmi per computer e le piattaforme di social networking sono disponibili oggi in 30-100 lingue, ma per quanto riguarda gli strumenti stessi che possono aiutarci a diventare creatori, non solo utenti di strumenti informatici? Non sto nemmeno sostenendo la scrittura di linguaggi di programmazione in linguaggi piccoli e usati raramente (anche se sarebbe fantastico). Anche le lingue molto grandi che hanno una vasta tradizione letteraria e sono lingue di commercio regionale, come il cinese, lo spagnolo, l'hindi e l'arabo, non sono ancora diventate la base per un codice sorgente diffuso.

Per quanto ne so, ci sono solo quattro linguaggi di programmazione disponibili ovunque in un formato multilingue. Non 400. Quattro (4).

Due di loro sono appositamente progettati per insegnare ai bambini a programmare: Scratch e Blockly. Gli sviluppatori di Scratch hanno persino condotto una ricerca che ha dimostrato che i bambini imparano a programmare più facilmente se il codice sorgente si basa sulla loro lingua rispetto a quelli che rimangono bloccati nel tentativo di imparare un'altra lingua. Cosa succederà quando questi bambini cresceranno? Gli adulti che non sono competenti in lingue straniere dovranno scegliere tra altri due prodotti disponibili in lingue diverse: formule Excel e codice wiki.

Video promozionale:

Sì, puoi programmare fogli di calcolo utilizzando qualsiasi linguaggio fornito per l'interfaccia del programma. Sia in Excel che in Fogli Google, puoi scrivere, ad esempio, = IF (condition, value_if_true, value_if_false), oppure puoi inserire l'equivalente spagnolo = SI (prueba_lógica, valor_si_es_verdadero, valor_si_es_falso) o utilizzare dozzine di altre lingue. [Incluso il russo: IF (value, value_if_true, value_if_false - ed.)] Forse questa non è la prima cosa che viene in mente quando si pensa al codice del programma, ma i programmi tabulari possono in linea di principio essere usati come una macchina di Turing, e tale uso di versioni locali può essere economicamente giustificato.

Allo stesso modo, puoi modificare Wikipedia e altri siti wiki, sfruttando il fatto che il codice wiki esiste in molte lingue diverse. I comandi wiki di base non sono specifici di nessuna lingua (ad esempio, quandoè racchiuso tra parentesi quadre), ma i comandi più complessi utilizzano parole nella lingua locale. Ad esempio, quando progetti una tabella di dati su una persona, nella Wikipedia in lingua inglese ci saranno i parametri "name =" e "birth_place =", che nella versione bulgara di Wikipedia assomigliano a "name =" e "birth-place ="

Oltre a questi quattro codici di programmazione multilingue ampiamente disponibili, ci sono diverse dozzine, forse anche un centinaio, linguaggi di programmazione disponibili in una o due lingue diverse dall'inglese, come Qalb (arabo), versione cinese di Python, Farsinet (persiano), Il sistema di programmazione Hindawi (bengalese, gujarati e hindi) e persino una versione latina di Perl. Alcuni linguaggi di programmazione non inglesi risalgono all'era dei computer delle dimensioni di una stanza costruiti dal governo, ad esempio diversi linguaggi di programmazione dell'era sovietica basati sul russo, nonché l'ALGOL 68 multilingue (anni '60) e la quarta dimensione (anni '80) … Ma molti linguaggi più recenti come Python, Ruby e Lua sono sviluppati in paesi non anglofoni (Paesi Bassi, Giappone e Brasile),ma comunque i comandi chiave di queste lingue sono l'inglese. La promessa iniziale di Internet suona quindi più come una minaccia per molte persone: parlare inglese o abbandonare il web.

Questi linguaggi coesistono perché è facile tradurre da un linguaggio di programmazione a un altro. Sono disponibili molti convertitori del linguaggio di programmazione: puoi aggiungere uno snippet JavaScript e ottenere una versione Python oppure aggiungere uno snippet Markdown e ottenere una versione HTML. Non sono particolarmente difficili da creare. I linguaggi di programmazione hanno vocabolari limitati e ben definiti senza ambiguità o sfumature culturali che rendono difficile la traduzione automatica automatica dei linguaggi naturali. Conoscendo l'equivalente di un centinaio di comandi, è possibile sostituirne automaticamente uno con un altro per qualsiasi parte di codice.

È così facile tradurre linguaggi di programmazione che alcuni nerd lo fanno di tanto in tanto per amore per l'arte o per ridere quando creano i cosiddetti linguaggi di programmazione esoterici. Ad esempio, LOLCODE è modellato sui meme del gatto lolcats, quindi il programma viene aperto con il comando HAI (PRECEDENTE - ndr) e chiuso con KTHXBAI (abbreviazione di "okay, thanks, bye": "bye bye" - ed..) e Whitespace (Space) è completamente invisibile all'occhio umano e consiste di caratteri non stampabili: spazio, tabulazione e avanzamento riga. C'è anche Pikachu, un linguaggio di programmazione fatto interamente di pi, pika e andpikachu, quindi Pikachu stesso potrebbe - in teoria - liberarsi da quei maledetti allenatori di Pokémon e accettare invece un lavoro di programmatore ben pagato.

Quando crei una traduzione Pokemon del tuo codice, sembra assurdo. Quando traduci codice per miliardi di persone nel mondo che non parlano inglese, l'accesso a lavori ben pagati e la possibilità di modificare manualmente il tuo dispositivo non sono più un vantaggio. Il fatto che il codice sorgente dipenda dall'inglese priva le persone di questo vantaggio e, dal punto di vista della tecnologia di codifica, questo è completamente inutile.

Ma un linguaggio di programmazione non riguarda solo le sue caratteristiche tecniche, è una comunità di persone. I quattro codici multilingue diffusi hanno avuto più fortuna con una tale comunità rispetto ai singoli linguaggi di programmazione non inglesi, ma sono ancora molto pochi. Ci sono altre risorse utili che dovrai visitare quando visualizzi segnalazioni di bug su Google. Comunque, dannazione, devi prima capire come usare questa lingua sul tuo computer. Questo è il motivo per cui era così importante che il primo browser web consentisse la modifica, non solo la navigazione, motivo per cui Glitch ha insistito così tanto che l'utente potesse modificare il codice sorgente direttamente dalla finestra del browser e in tal caso è stato facile ottenere aiuto. Ma dov'è il problema tecnico per il resto del mondonon parli inglese? Come possiamo rendere Internet ancora più conveniente per le persone che lo stanno imparando ora (o che l'hanno usato come consumatori nell'ultimo decennio) di quanto non fosse per i suoi primi visitatori?

Ecco perché non perdo la speranza: nell'Europa medievale, se volevi padroneggiare l'arte della scrittura, dovevi imparare una nuova lingua insieme ad essa. Scrivere significa latino. La scrittura nel dialetto locale - la lingua madre che le persone avevano già parlato - si trovava da qualche parte in disparte e non era sviluppata. Perché preoccuparsi di imparare a scrivere in inglese o in francese? Non c'è niente da leggere su di loro, mentre il latino ti ha dato accesso alla tradizione intellettuale della lingua della comunicazione internazionale.

A volte, guardando indietro a questa epoca storica, ci chiediamo perché le persone si preoccupano di tutto questo latino, quando potevano semplicemente scrivere nella lingua che parlavano. A quel tempo, imparare il latino per imparare a scrivere era logico come imparare l'inglese oggi per scrivere codice, anche se ora sappiamo che i bambini imparano a leggere molto più velocemente se vengono insegnati prima nella loro lingua madre. … Gli argomenti per il codice inglese che vedo su siti come Stack Overflow fanno eco a questa idea: perché non imparare semplicemente l'inglese? Questo ti dà accesso a tutta la tradizione tecnologica.

Si sa che il predominio della scrittura in latino è terminato. L'arte della scrittura si è diffusa in altre lingue. La capacità di creare codice sorgente non dipende dalla conoscenza della lingua inglese più di quanto la stessa tecnologia di scrittura fosse associata al latino. Suggerisco di iniziare modificando il modo in cui parliamo di linguaggi di programmazione che hanno parole di linguaggi comuni. Il primo sito non è stato scritto in HTML, ma in inglese HTML. Lo snippet di codice che appare nella parte inferiore del primo sito web reso da Glitch non è scritto in Javascript, ma in inglese "Javascript". Quando li chiamiamo principalmente inglese, diventa sempre più ovvio che possiamo cambiare la situazione - possiamo immaginare un mondo in cui ci sia anche HTML russo o swahili "Javascript",dove non hai un vantaggio intrinseco nell'apprendimento del codice se succede che la tua lingua madre è l'inglese.

Questo mondo non esiste ancora. Forse nei prossimi 30 anni lo creeremo.

Gretchen McCulloch è una linguista residente presso Wired, coautrice del podcast linguistico Lingthusiasm e autrice di because Internet: Understanding the New Rules of Language, in uscita il 23 luglio 2019 da Riverhead (Pinguino).

Raccomandato: