Języki obce

0

Cześć,

Pytanie na luzie.

Jak się ma tak naprawdę nauka języków obcych do programistycznych ? Wszędzie w artykułach można zauważyć, że ludzie widzą dużo wspólnego ze sobą, osobiście średnio się z tym zgadzam.

Jakie jest wasze zdanie?

0

Języki programowania są bardzo ściśle określone, obejmują podobne konstrukcje myślowe i jest dużo mniej materiału do przywojenia, keywordy liczy się w dziesiątkach. Języki ludzkie są rozległe (kilkadziesiąt tysięcy słów), luźniej powiązane między sobą, bardziej płynne + jeszcze jest kwestia tego, że język pisany != język mówiony. Języki programowania korzystają głównie ze znaków ASCII (nie licząc jakichś abominacji typu APL czy emoji w nazwach zmiennych), języki ludzkie mają różne alfabety.

1
Student Mask napisał(a):

Jak się ma tak naprawdę nauka języków obcych do programistycznych ? Wszędzie w artykułach można zauważyć, że ludzie widzą dużo wspólnego ze sobą, osobiście średnio się z tym zgadzam.

Ja też widzę dużo wspólnego. Po pół roku umiesz się powitać, pożegnać, nazwać wszystkie rzeczy biurowe, meble, AGD, RTV i części ciała co pozwala ci zagaić do trzeźwej osoby obok z grupy. W programowaniu umiesz napisać class, closure, if, else i stworzyć prostego CRUDa którego pokazujesz z dumą na 4p.

Później jedziesz za granicę oraz/i zatrudniasz się w międzynarodowym korpo gdzie nikt nikogo nie rozumie a mimo to wszyscy się uśmiechają, klepią po plecach i wszystko jakoś się kręci. Później podobieństwa zaczynają się nawarstwiać i zaczynasz kwestionować swoje zdolności poznawcze - skutkiem czego oskarżasz siebie o syndrom impostora bowiem to logice wbrew że wszyscy wszystko rozumieją a ty nie.

Ale nie martw się - komunikacja to iluzja. Najważniejsze jest zgadzać się w końcu i nie kwestionować zbyt głęboko.
Czy ty też słyszysz 21?

2

I tu i tu jest składnia, z tym, że w językach naturalnych luźniejsza i korekcja błędów jakby lepsza. "ja cię kochać", SyntaxError, ale i tak każdy by zrozumiał, o co chodzi.

Alfabet to szczegół, mógłbym klepać kod w kanie, gdyby trzeba było. Raczej po góra miesiącu bym się przyzwyczaił.

Odpowiednikiem słów by były funkcje, klasy, struktury itd. Ale w językach naturalnych trzeba ich znać parę tysięcy, żeby jako tako funkcjonować. Szczerze to nie wydaje mi się, że znam aż tyle rzeczy w Javie. Ani też, że tyle może ich być w kilkuletnim projekcie. Toż to książka napisana przez autora w rok będzie miała więcej unikalnych słów niż nawet wiekowy kod rozwijany przez kilka osób.

Czyli generalnie wygląda, że w językach naturalnych jest dużo więcej do nauczenia na pamięć (pomijając jakieś zagubione dusze, które wkuwają metody z biblioteki standardowej). W pierwszej fazie dostrzegam pewnie analogie, bo np. nauka jęzka typu SOV potrafi być na początku równie zaskakująca, co nauka Haskella. Ale tak powiedzmy po roku to w Haskellu możesz już pisać poważne aplikacje, jeśli nie jest to twój pierwszy język programowania, a w przypadku języka obcego to możesz co najwyżej zrobić zakupy za granicą i przekazać jakieś proste informacje.

Tak, że są jakieś punkty wspólne jak się na to spojrzy z góry, ale na dłuższą metę to zupełnie inne doświadczenie.

0

Nauka języków obcych to przede wszystkim nauka słówek. Gramatyka to może 10% (chociaż w szkole chcieli by inaczej), lwia część czasu idzie na wbicie do głowy słówek wraz z arbitralnymi informacjami typu gender der/die/das lub że to słówko można użyć w kontekście A, ale już nie w kontekście B. Do tego dochodzą idiomy np. "dmuchać na zimne".

Tłumacząc to na język programowania nauka języka obcego przypomina naukę API jakiejś potężnej biblioteki np. Hibernate lub biblioteki standardowej - tysiące klas i metod. Trzeba mniej więcej wiedzieć co jest, a czego nie ma. Idiomy są i w językach naturalnych i w językach programowania. Na tym podobieństwa się kończą, języki programowania to notacja precyzyjna, matematyczna.

Podsumowując jak się nauczysz Niemieckiego/Hiszpańskiego/Rosyjskiego/lub innego iego to Twoja pamięć powinna ulec poprawie, co się przełoży na lepsze możliwości programistyczne. Oczywiście gdybyś ten sam czas przeznaczył na napisanie kompilatora Haskella od zera to pewnie też nastąpił by przyrost istoty szarej, może nawet większy. A gdyby ten czas przeznaczyć na naukę modnych frameworków które dopiero co wchodzą na rynek? Tu wzrost liczby szarych komórek ciężko ocenić ale $$$ na pewno by wzrosła :D W mojej opinii nauka języka obcego (jeżeli nie planujesz przeprowadzki) to dobre hobby, i na odstresowanie i na poznanie nowych ludzi - ale nie oczekiwał bym że zrobi to z Ciebie geniusza programowania.

1 użytkowników online, w tym zalogowanych: 0, gości: 1