Kod źródłowy Jest Dla Każdego. Jeśli Tylko Mówisz Po Angielsku - Alternatywny Widok

Kod źródłowy Jest Dla Każdego. Jeśli Tylko Mówisz Po Angielsku - Alternatywny Widok
Kod źródłowy Jest Dla Każdego. Jeśli Tylko Mówisz Po Angielsku - Alternatywny Widok

Wideo: Kod źródłowy Jest Dla Każdego. Jeśli Tylko Mówisz Po Angielsku - Alternatywny Widok

Wideo: Kod źródłowy Jest Dla Każdego. Jeśli Tylko Mówisz Po Angielsku - Alternatywny Widok
Wideo: UNDERVERSE СЕЗОН 1 - КИНО [By Jakei] 2024, Może
Anonim

Podczas gdy World Wide Web obchodzi w tym roku 30-lecie istnienia, ekspert lingwistyczny z magazynu Wired zastanawia się nad teraźniejszością i przyszłością języków programowania, zauważając, że nawet bardzo duże języki o długiej tradycji literackiej nie stały się podstawą rozpowszechnionego kodu źródłowego. Musisz znać angielski. Niemniej jednak sytuacja może ulec zmianie - w ciągu najbliższych 30 lat.

W tym roku sieć World Wide Web obchodzi 30-lecie istnienia, więc sporo pikseli zostało poświęconych na dyskusję o „początkowych obietnicach sieci” - w tym pomysł, że można kliknąć przycisk „wyświetl źródło” na dowolnej stronie i łatwo dowiedzieć się, dlaczego wyświetla dokładnie to, co widzisz. Oto pierwsza strona internetowa, którą samouk Glitch odtworzył z okazji rocznicy, aby pokazać, jak możesz przełączyć się na kod źródłowy i zobaczyć, że niektóre części są oznaczone i

(być może zgadłeś, co to znaczy „akapit”). Wygląda to dość prosto - ale czytasz to na anglojęzycznej stronie internetowej z perspektywy osoby, dla której angielski jest językiem ojczystym.

Teraz wyobraź sobie, że jest to pierwsza strona internetowa, którą widziałeś w swoim życiu i nie możesz się doczekać, aby zajrzeć za kulisy i dowiedzieć się, jak to działa. Ale zamiast słownych etykiet, które znasz, masz do czynienia z wersją, którą stworzyłem - nie różni się od oryginału, z wyjątkiem tego, że kod źródłowy jest oparty na języku rosyjskim, a nie angielskim. Nie mówię po rosyjsku, a jeśli, na przykład, zrobisz to samo, czy i i i sprawisz, że wszyscy będą mieli taką samą ochotę, aby spróbować zrobić coś samodzielnie?

Teoretycznie język programowania można stworzyć na podstawie dowolnych symboli. Komputer się nie przejmuje. Już teraz działa niewidzialny program tłumaczący, który tłumaczy wszystkie twoje IF lub zera i jedynki, z którymi działa, i uzyskalibyśmy te same wyniki, gdybyśmy wzięli emoji ziemniaka zamiast IF lub tajemniczy średniowieczny glif cyrylicy z XV wieku, wielokątny „Och Zamiast. Fakt, że języki programowania często przypominają angielski, tylko sugeruje, że nasz biedny, śmiertelny ludzki mózg może łatwiej zapamiętać słowa, które już znamy.

Ale tylko nieliczni z nas już znają słowa oznaczające te polecenia - ci, którzy mówią po angielsku. Tak więc „początkowe obietnice sieci” były tylko obietnicami dla anglojęzycznych użytkowników, czy to native speakerów, czy osób z dostępem do ogólnie elitarnej edukacji, której produktem jest biegła znajomość języka angielskiego jako drugiego języka osób na obszarach nie zdominowanych przez język angielski. …

To prawda, że programy komputerowe i platformy mediów społecznościowych są dziś dostępne w 30-100 językach, ale co z samymi narzędziami, które mogą pomóc nam stać się twórcami, a nie tylko użytkownikami narzędzi komputerowych? Nie opowiadam się nawet za pisaniem języków programowania w małych i rzadko używanych językach (chociaż byłoby świetnie). Nawet bardzo duże języki, które mają bogatą tradycję literacką i są językami handlu regionalnego, takie jak chiński, hiszpański, hindi i arabski, nadal nie stały się podstawą powszechnego kodu źródłowego.

O ile wiem, istnieją tylko cztery języki programowania, które są dostępne wszędzie w formacie wielojęzycznym. Nie 400. Cztery (4).

Dwa z nich są specjalnie zaprojektowane do nauki programowania dzieci: Scratch i Blockly. Twórcy Scratcha przeprowadzili nawet badania, które pokazały, że dzieci łatwiej uczą się kodować, jeśli kod źródłowy jest oparty na ich własnym języku, niż te, które utknęły, próbując nauczyć się innego języka. Co się stanie, gdy te dzieci dorosną? Dorośli, którzy nie są biegli w językach obcych, będą musieli wybrać jeden z dwóch innych produktów dostępnych w różnych językach: formuły Excela i kod wiki.

Film promocyjny:

Tak, możesz programować arkusze kalkulacyjne w dowolnym języku przewidzianym dla interfejsu programu. Zarówno w Excelu, jak i Arkuszach Google możesz na przykład napisać = JEŻELI (warunek, wartość_jeżeli_prawda, wartość_jeżeli_fałsz) lub możesz wprowadzić hiszpański odpowiednik = SI (prueba_lógica, valor_si_es_verdadero, valor_si_es_falso) lub użyć dziesiątek innych języków. [W tym rosyjski: IF (wartość, wartość_jeśli_prawda, wartość_jeżeli_fałsz - przyp. Red.)] Być może nie jest to pierwsza rzecz, która przychodzi na myśl, gdy myślimy o kodzie programu, ale programy tabelaryczne mogą być w zasadzie używane jako maszyna Turinga, i takie wykorzystanie wersji lokalnych może być uzasadnione ekonomicznie.

Podobnie możesz edytować Wikipedię i inne witryny wiki, wykorzystując fakt, że kod wiki istnieje w wielu różnych językach. Podstawowe polecenia wiki nie są specyficzne dla żadnego języka (na przykład, gdyjest ujęty w nawiasy kwadratowe), ale bardziej złożone polecenia używają słów w lokalnym języku. Na przykład podczas projektowania tabeli danych o osobie w anglojęzycznej Wikipedii będą dostępne parametry „name =” i „birth_place =”, które w bułgarskiej wersji Wikipedii wyglądają jak „name =” i „rodin-mesto =”.

Oprócz tych czterech szeroko dostępnych wielojęzycznych kodów programowania istnieje kilkadziesiąt, a może nawet około stu języków programowania dostępnych w jednym lub dwóch językach innych niż angielski, takich jak Qalb (arabski), chińska wersja Pythona, Farsinet (perski), System programowania Hindawi (bengalski, gudżarati i hindi), a nawet łacińska wersja Perla. Niektóre nieanglojęzyczne języki programowania sięgają czasów rządowych komputerów wielkości pomieszczenia - na przykład kilka języków programowania z czasów radzieckich opartych na języku rosyjskim, a także wielojęzyczny ALGOL 68 (lata 60.) i 4. wymiar (lata 80.) … Ale wiele nowszych języków, takich jak Python, Ruby i Lua, zostało opracowanych w krajach nieanglojęzycznych (Holandia, Japonia i Brazylia),ale mimo wszystko kluczowe polecenia w tych językach to angielski. Początkowa obietnica internetu brzmi zatem bardziej jak zagrożenie dla wielu ludzi: mów po angielsku lub wyjdź z sieci.

Te języki współistnieją, ponieważ łatwo jest przetłumaczyć z jednego języka programowania na inny. Dostępnych jest wiele konwerterów języka programowania - możesz dodać fragment kodu JavaScript i pobrać wersję Pythona lub dodać fragment Markdown i uzyskać wersję HTML. Nie są szczególnie trudne do stworzenia. Języki programowania mają ograniczone, dobrze zdefiniowane słownictwo bez dwuznaczności lub niuansów kulturowych, które utrudniają automatyczne tłumaczenie maszynowe języków naturalnych. Znając odpowiedniki około stu poleceń, możesz automatycznie zamienić je na inne dla dowolnego fragmentu kodu.

Tłumaczenie języków programowania jest tak łatwe, że niektórzy nerdowie robią to od czasu do czasu z miłości do sztuki lub ze śmiechu, tworząc tak zwane ezoteryczne języki programowania. Na przykład LOLCODE jest wzorowany na memach kotów lolcats, więc program jest otwierany poleceniem HAI (PREVIOUS - przyp..), a odstępy (spacja) są całkowicie niewidoczne dla ludzkiego oka i składają się ze znaków niedrukowalnych: spacji, tabulatora i wysuwu wiersza. Jest nawet Pikachu, język programowania złożony w całości z pi, pika i andpikachu, więc sam Pikachu mógłby - teoretycznie - uwolnić się od tych przeklętych trenerów Pokémon i zamiast tego podjąć dobrze płatną pracę programisty.

Kiedy tworzysz tłumaczenie swojego kodu na Pokemony, brzmi to absurdalnie. Kiedy tłumaczysz kod dla miliardów ludzi na świecie, którzy nie mówią po angielsku, dostęp do dobrze płatnych ofert pracy i możliwość ręcznego dostosowania własnego urządzenia nie są już zaletą. Fakt, że kod źródłowy zależy od angielskiego pozbawia ludzi tej przewagi, az punktu widzenia technologii kodowania jest to zupełnie niepotrzebne.

Ale język programowania to nie tylko cechy techniczne, to wspólnota ludzi. Cztery szeroko rozpowszechnione wielojęzyczne kody miały więcej szczęścia w takiej społeczności niż poszczególne nieanglojęzyczne języki programowania - ale wciąż jest ich bardzo mało. Istnieją inne przydatne zasoby, które będziesz musiał odwiedzić, przeglądając raporty o błędach w Google. W każdym razie, cholera, najpierw musisz dowiedzieć się, jak używać tego języka na swoim komputerze. Dlatego tak ważne było, aby pierwsza przeglądarka internetowa umożliwiała edycję, a nie tylko przeglądanie, dlatego Glitch tak bardzo nalegał, aby użytkownik mógł edytować kod źródłowy bezpośrednio z okna przeglądarki i wtedy łatwo było uzyskać pomoc. Ale gdzie jest Glitch dla reszty światanie mówisz po angielsku? Jak możemy uczynić Internet jeszcze wygodniejszym dla ludzi, którzy dopiero się go poznają (lub którzy używali go jako konsumenci w ciągu ostatniej dekady), niż dla pierwszych odwiedzających?

Dlatego nie tracę nadziei: w średniowiecznej Europie, chcąc opanować sztukę pisania, trzeba było nauczyć się nowego języka. Pisanie oznacza łacinę. Pismo w miejscowym dialekcie - ojczystym języku, którym ludzie już mówili - stało gdzieś na uboczu i było nierozwinięte. Po co zawracać sobie głowę nauką pisania po angielsku lub francusku? Nie ma na nich nic do czytania, a łacina dała dostęp do intelektualnej tradycji języka komunikacji międzynarodowej.

Czasami, patrząc wstecz na tę epokę historyczną, zastanawiamy się, dlaczego ludzie zawracają sobie głowę tą całą łaciną, kiedy mogli po prostu pisać w języku, którym się posługują. W tamtych czasach uczenie się łaciny, aby nauczyć się pisać, było tak samo logiczne jak dzisiejsza nauka angielskiego w celu pisania kodu, chociaż teraz wiemy, że dzieci uczą się czytać znacznie szybciej, jeśli najpierw uczą się ich w swoim ojczystym języku. … Argumenty dotyczące kodu angielskiego, które widzę na stronach takich jak Stack Overflow, odzwierciedlają ten pomysł: dlaczego nie po prostu uczyć się angielskiego? Daje to dostęp do całej tradycji technologicznej.

Wiadomo, że dominacja pisma łacińskiego dobiegła końca. Sztuka pisania rozprzestrzeniła się na inne języki. Umiejętność tworzenia kodu źródłowego nie zależy od znajomości języka angielskiego, podobnie jak sama technologia pisania nie była kojarzona z łaciną. Proponuję zacząć od dostosowania sposobu, w jaki mówimy o językach programowania, które zawierają słowa z popularnych języków. Pierwsza strona nie została napisana w HTML, ale w angielskim HTML. Fragment kodu, który pojawia się na dole pierwszej strony internetowej wyrenderowanej przez Glitcha, nie jest napisany w Javascript, ale w angielskim „Javascript”. Kiedy nazywamy je głównie angielskimi, staje się to coraz bardziej oczywiste że możemy zmienić sytuację - możemy sobie wyobrazić świat, w którym jest też rosyjski HTML lub suahili „Javascript”,gdzie nie masz nieodłącznej przewagi w nauce kodu, jeśli zdarza się, że Twoim językiem ojczystym jest angielski.

Ten świat jeszcze nie istnieje. Być może w ciągu najbliższych 30 lat go stworzymy.

Gretchen McCulloch jest lingwistką rezydentem w Wired, współautorką podcastu lingwistycznego Lingthusiasm i autorką książki Bo Internet: Understanding the New Rules of Language, ukazującej się 23 lipca 2019 r. z Riverhead (Penguin).

Zalecane: