Källkod är För Alla. Om Du Bara Talar Engelska - Alternativ Vy

Källkod är För Alla. Om Du Bara Talar Engelska - Alternativ Vy
Källkod är För Alla. Om Du Bara Talar Engelska - Alternativ Vy

Video: Källkod är För Alla. Om Du Bara Talar Engelska - Alternativ Vy

Video: Källkod är För Alla. Om Du Bara Talar Engelska - Alternativ Vy
Video: March for Science Stockholm 2017 2024, Maj
Anonim

Eftersom World Wide Web firar 30-årsjubileum i år, reflekterar en lingvistsexpert vid tidningen Wired på dagens och morgondagen av programmeringsspråk och noterar att även mycket stora språk med en lång litterär tradition inte har blivit grunden för en utbredd källkod. Du måste veta engelska. Ändå kan situationen ändras - under de kommande 30 åren.

World Wide Web firar 30-årsjubileum i år, så en hel del pixlar har spenderats för att diskutera "de första löften från webben" - inklusive tanken att du kan klicka på "Visa källa" -knappen på vilken sida som helst och enkelt ta reda på varför det visar exakt vad du ser. Här är den allra första webbsidan som den självlärda webbplatsen Glitch reproducerade i firandet av årsdagen, för att visa hur du kan växla till källkoden och se att vissa delar är taggade och

(du kanske har gissat vad det här betyder "stycke"). Ser ganska enkelt ut - men du läser det här på en engelskspråkig webbplats ur ett engelsktalande perspektiv.

Föreställ dig nu att det här är den första webbsidan du har sett i ditt liv och du kan inte vänta med att kika bakom kulisserna och ta reda på hur det fungerar. Men istället för de verbala etiketter som du känner till står du inför den version jag skapade - det skiljer sig inte från originalet, med undantag för att källkoden är baserad på ryska snarare än engelska. Jag talar inte ryska, och om du till exempel gör detsamma, kommer både att göra och orsaka er alla samma lust att försöka göra något på egen hand?

I teorin kan ett programmeringsspråk skapas baserat på valfri symbol. Datorn bryr sig inte. Det kör redan ett osynligt översättarprogram som översätter alla dina IF: er eller till nollor och sådana som det fungerar med, och vi skulle få samma resultat om vi tog potatisemojierna istället för IF eller den mystiska medeltida kyrilliska glyphen från 1400-talet, den multiokulära "Oh "Istället för. Det faktum att programmeringsspråk ofta liknar engelska tyder bara på att vår fattiga, dödliga mänskliga hjärna lättare kan komma ihåg ord som vi redan känner.

Men bara ett fåtal av oss vet redan de ord som anger dessa kommandon - de som talar engelska. Så de "initiala löftena om nätverket" var bara löften för engelskspråkiga användare, vare sig det var modersmål eller personer med tillgång till en allmänt elitutbildning, vars produkt är flytande engelska som andraspråkiga människor i områden som inte är engelskt dominerade. …

Visst, datorprogram och sociala nätverksplattformar finns idag på 30-100 språk, men vad sägs om själva verktygen som kan hjälpa oss att bli skapare, inte bara användare av datorverktyg? Jag förespråkar inte ens att skriva programmeringsspråk på små och sällan använda språk (även om det vore bra). Även mycket stora språk som har en omfattande litterär tradition och är språk för regional handel, såsom kinesiska, spanska, hindi och arabiska, har fortfarande inte blivit basen för en utbredd källkod.

Så vitt jag vet finns det bara fyra programmeringsspråk som finns överallt i ett flerspråkigt format. Inte 400. Fyra (4).

Två av dem är speciellt utformade för att lära barn programmering: Scratch och Blockly. Scratchs utvecklare gjorde till och med forskning som visade att barn lättare lär sig att programmera om källkoden är baserad på deras eget språk än de som fastnar och försöker lära sig ett annat språk. Vad händer när dessa barn växer upp? Vuxna som inte är kunniga i främmande språk måste välja mellan två andra produkter tillgängliga på olika språk: Excel-formler och wikikod.

Kampanjvideo:

Ja, du kan programmera kalkylblad med valfritt språk för programgränssnittet. I både Excel och Google Sheets kan du skriva till exempel = IF (villkor, value_if_true, value_if_false), eller du kan ange den spanska motsvarigheten = SI (prueba_lógica, valor_si_es_verdadero, valor_si_es_falso) eller använda dussintals andra språk. [Inklusive ryska: IF (värde, värde_if_rikt, värde_if_false - red.)] Detta är kanske inte det första som kommer att tänka på när man tänker på programkod, men tabellprogram kan i princip användas som en Turing-maskin, och sådan användning av lokala versioner kan vara ekonomiskt motiverade.

På samma sätt kan du redigera Wikipedia och andra wiki-webbplatser genom att dra fördel av det faktum att wikikoden finns på många olika språk. Grundläggande wiki-kommandon är inte specifika för något språk (till exempel närär inneslutet i fyrkantiga parenteser), men mer komplexa kommandon använder ord på det lokala språket. När du till exempel utformar en tabell med data om en person kommer det på den engelskspråkiga Wikipedia att finnas parametrar "name =" och "birth_place =", som i den bulgariska versionen av Wikipedia ser ut som "name =" och "rodin-mesto =".

Förutom dessa fyra allmänt tillgängliga flerspråkiga programmeringskoder finns det flera dussin, kanske till och med cirka hundra, programmeringsspråk tillgängliga på ett eller två andra språk än engelska, till exempel Qalb (arabiska), kinesisk version av Python, Farsinet (persiska)), Hindawi-programmeringssystemet (Bengali, Gujarati och Hindi) och till och med en latinsk version av Perl. Vissa icke-engelska programmeringsspråk går tillbaka till en tid av regeringsbyggda rumsstora datorer - till exempel flera sovjettidens programmeringsspråk baserade på ryska, liksom det flerspråkiga ALGOL 68 (1960-talet) och fjärde dimensionen (1980-talet) … Men många nyare språk som Python, Ruby och Lua utvecklas i icke-engelsktalande länder (Nederländerna, Japan och Brasilien),men samtidigt är nyckelkommandona på dessa språk engelska. Det första löftet från Internet låter således mer som ett hot för många människor: tala engelska eller gå av webben.

Dessa språk samexisterar eftersom det är lätt att översätta från ett programmeringsspråk till ett annat. Det finns många programmeringsspråkomvandlare tillgängliga - du kan lägga till ett JavaScript-kodavsnitt och få en Python-version, eller lägga till ett Markdown-utdrag och få en HTML-version. De är inte särskilt svåra att skapa. Programmeringsspråk har begränsade, väldefinierade vokabularer utan tvetydighet eller kulturella nyanser som gör det svårt för automatisk maskinöversättning av naturliga språk. Genom att känna till ekvivalenterna på cirka hundra kommandon kan du automatiskt ersätta en med en annan för vilken kod som helst.

Det är så lätt att översätta programmeringsspråk att vissa nördar gör det då och då av kärlek till konst eller att skratta när de skapar så kallade esoteriska programmeringsspråk. Till exempel är LOLCODE modellerad på lolcats cat memes, så programmet öppnas med HAI-kommandot (FÖREGÅNG - red.) Och stängs med KTHXBAI (kort för “okej, tack, bye”: “bye bye” - ed..) och Whitespace (Space) är helt osynligt för det mänskliga ögat och består av icke-utskrivbara tecken: mellanslag, tabulatorstopp och radmatning. Det finns till och med Pikachu, ett programmeringsspråk som helt och hållet består av pi, pika och andpikachu, så Pikachu själv kunde - teoretiskt sett - sluta sig loss från de jävla Pokémon-tränarna och ta ett högt betalande programmerarjobb istället.

När du skapar en Pokemon-översättning av din kod, låter det absurd. När du översätter kod för miljarder människor i världen som inte talar engelska, är åtkomst till högt betalande jobb och möjligheten att manuellt justera din egen enhet inte längre en fördel. Det faktum att källkoden beror på engelska berövar människor denna fördel, och ur kodningsteknisk synvinkel är detta helt onödigt.

Men ett programmeringsspråk handlar inte bara om dess tekniska egenskaper, det är ett samhälle av människor. De fyra utbredda flerspråkiga koderna har haft bättre tur med en sådan gemenskap än enskilda icke-engelska programmeringsspråk - men de är fortfarande mycket få. Det finns andra användbara resurser som du kommer att behöva besöka när du rapporterar om Google-buggar. Hur som helst, jävla det, måste du först ta reda på hur du använder detta språk på din dator. Det var därför det var så viktigt att den första webbläsaren tillät redigering, inte bara bläddring, varför Glitch insisterade så mycket att användaren kunde redigera källkoden direkt från webbläsarfönstret, och i vilket fall var det lätt att få hjälp. Men var är Glitch för resten av världenpratar du inte engelska? Hur kan vi göra Internet ännu mer bekvämt för människor som bara lär känna det nu (eller som har använt det som konsumenter under det senaste decenniet) än för de första besökarna?

Det är därför jag inte tappar hoppet: i det medeltida Europa, om du ville behärska konsten att skriva, var du tvungen att lära dig ett nytt språk tillsammans med det. Att skriva betyder latin. Skrivandet på den lokala dialekten - det modersmål som folk redan hade talat - stod någonstans på sidelinjen och var outvecklad. Varför bry sig om att lära sig att skriva på engelska eller franska? Det finns ingenting att läsa om dem, medan latin gav dig tillgång till den intellektuella traditionen för språket för internationell kommunikation.

Ibland, när vi tittar tillbaka på denna historiska era, undrar vi varför människor bryr sig med all denna latin, när de bara kunde skriva på det språk de talade. På den tiden var det lika logiskt att lära sig latin för att lära sig skriva som att lära sig engelska för att skriva kod, även om vi nu vet att barn lär sig läsa mycket snabbare om de först lärs ut på sitt modersmål. … Argumenten för engelska koden som jag ser på webbplatser som Stack Overflow återsätter denna idé: varför inte bara lära sig engelska? Detta ger dig tillgång till hela den tekniska traditionen.

Dominansen av att skriva på latin är känd för att ha slutat. Konsten att skriva har spridit sig till andra språk. Förmågan att skapa källkod beror inte på kunskapen om engelska språket mer än själva skrivtekniken var förknippad med latin. Jag föreslår att man börjar med att anpassa hur vi pratar om programmeringsspråk som har ord från vanliga språk. Den första webbplatsen skrevs inte i HTML, utan på engelska HTML. Kodavsnittet som visas längst ner på den första webbplatsen som återges av Glitch är inte skrivet i Javascript, utan på engelska “Javascript.” När vi kallar dem främst engelska, blir det mer och mer uppenbart att vi kan förändra situationen - vi kan föreställa oss en värld där det också finns rysk HTML eller Swahili "Javascript",där du inte har en inneboende fördel med att lära dig kod om det händer att ditt modersmål är engelska.

Denna värld finns ännu inte. Kanske kommer vi att skapa det under de kommande 30 åren.

Gretchen McCulloch är bosatt lingvist på Wired, medförfattare till lingvistik-podcasten Lingthusiasm, och författare till Eftersom Internet: Understanding the New Rules of Language, utifrån den 23 juli 2019 från Riverhead (Penguin).

Rekommenderas: