Czy według Ciebie języki programowania są łatwiejsze od języków ludzkich?

Odpowiedz Nowy wątek
2018-11-08 17:20
1

Hejo,

Wchodzę sobie dzisiaj na jutuby, patrzę: filmik pt. "How to think like a programmer" o tu tu. Pomyślałem sobie, że zobaczę, może coś ciekawego usłyszę no i w sumie usłyszałem coś co mnie nawet zaintrygowało. Prowadzący twierdzi, że języki programowania są łatwiejsze niż te ludzkie :O W sumie to nawet się trochę zdziwiłem. W ogóle to nie podobne, a wręcz kosmiczna różnica jest między nimi na pierwszy rzut oka, ale jakby tak się trochę zastanowić.. to może mieć i rację.

Programowania jako tako uczymy się całe życie (czy aby na pewno?), ale składni praktycznie uczymy się tylko raz, bo w większości języków jest ona taka sama, może parę innych rzeczy dochodzi, ale tego się człowiek uczy w krótkim czasie. Natomiast jeśli chodzi o języki ludzie, to już pojawia się problem - składnia w każdym innym języku jest całkowicie inna! To tak, jakby każdy język programowania miał inną składnię, np. zamiast for w Cpp czy Javie, C# miałby loop, albo roundabout XD Byłoby to kłopotliwe, ale na pewno mniej niż w ludzkich językach, bo składnia języków programowania jest dość mała w porównaniu do tej ludzkiej.

Nauczymy się angielskiego - ok. Przychodzi pora na włoski. Boom! Nic nie wiesz. Totalnie nic, a więc trzeba znowu zaczynać od zera, a to jest trochę lipne. Oznacza to pierwszy plusik dla programowania, bo z każdego języka czy to skryptowy czy obiektowy, coś wyniesiesz. Ale w programowaniu też nie jest tak, że czegoś się wyuczysz na blachę i to będzie działać (no okej czasami jakaś zapchajdziura się znajdzie). Wiadomo też, że czasami zrozumienie jak działa jakaś funkcja czy kod w programie może być ciężkie, a w językach ludzkich takiego czegoś nie ma. Uczysz się słówka, odmiany, użycia i tyle. Żadnych problemów.

W moim przypadku nauka języków ludzkich przychodzi szybko. Na pewno szybciej niż głębokie zrozumienie niektórych rzeczy w programowaniu, a więc normalne będzie, że będę przekonania, że nauka programowania jest trudniejsza. Jak to u was? Czy w ogóle porównywanie takich języków ma sens? Zapraszam do dyskusji!
Pozdro ;)
screenshot-20181108171816.png


𝓜𝓮𝓷𝓽𝓪𝓵
𝓐𝓫𝓾𝓼𝓮
𝓣𝓸
𝓗𝓾𝓶𝓪𝓷𝓼

Pozostało 580 znaków

2018-11-08 17:52
1

Oczywiście, że języki programowania są łatwiejsze do nauczenia od języków ludzkich. Opanowanie podstaw dowolnego języka obiektowego lub strukturalnego, to dla średnio-rozgarniętej osoby od 30 minut to 1 godziny i już można jakiś prosty programik napisać. Natomiast opanowanie języka obcego tak, aby swobodnie się w nim komunikować, zajmuje lata. Oczywiście w przypadku programowania, doświadczenie, komunikacja i opanowanie narzędzi, bibliotek, etc. robią swoje w przypadku zawodu programisty, ale nie są to kwestie związane z samą składnią języka.

edytowany 1x, ostatnio: wiciu, 2018-11-08 17:53

Pozostało 580 znaków

2018-11-08 18:50
3

Tylko tak naprawdę w programowaniu nie chodzi o znajomość języka, bo to jest kwestia wtórna, ale o umiejętność analitycznego myślenia i rozkładania problemów na składniki pierwsze.

Możesz przeczytać 5 razy książkę odnośnie jakiegoś języka, nauczyć się na pamięć wszystkich występujących w nim poleceń oraz całej skladni, ale wcale nie będzie to oznaczać, że stałes się programistą.

A samo porównanie języka naturalnego z językiem programowania jest moim zdaniem zupełnie chybione. Oba twory maja zupełnie inne zadania, więc porównywanie ich że sobą ma taki sens, jak stawianie obok siebie formuły 1 oraz tira. Niby jedno i drugie to samochód, ale porównywanie ich jest bezcelowe.


That game of life is hard to play
I'm gonna lose it anyway
The losing card I'll someday lay
So this is all I have to say

Pozostało 580 znaków

2018-11-08 18:57
0

@wiciu: 30 minut lub godzina wystarczy żeby napisać prosty programik, ale tyle też wystarczy żeby przedstawić się w obcym języku. Trzeba lat, aby nauczyć się płynnie posługiwać językiem za równo ludzkim jak i programowania, tylko, że w programowaniu będziemy mieli więcej korzyści mimo wszystko, bo doświadczenia łatwo przeniesiemy na inny język programowania, a szwedzki z rosyjskim raczej mają mało wspólnego ze sobą :D

@cerrato Zdecydowana racja z tym porównywaniem języków, ale może tu chodzi o sam poziom trudności? Czy analitycznego myślenia uczysz się w takim samym tempie jak języka obcego? O i teraz jeszcze jedna zagwozdka mi przyszła do głowy: czy w ogóle da się nauczyć analitycznego myślenia czy po prostu to jest polerowanie wrodzonej umiejętności?


𝓜𝓮𝓷𝓽𝓪𝓵
𝓐𝓫𝓾𝓼𝓮
𝓣𝓸
𝓗𝓾𝓶𝓪𝓷𝓼
Wystarczy kilka sekund, żeby powiedzieć w obcym języku Hello World ;) - Burmistrz 2018-11-08 19:44

Pozostało 580 znaków

2018-11-08 20:04
0

Czy analitycznego myślenia uczysz się w takim samym tempie jak języka obcego? O i teraz jeszcze jedna zagwozdka mi przyszła do głowy: czy w ogóle da się nauczyć analitycznego myślenia czy po prostu to jest polerowanie wrodzonej umiejętności?

Wiadomo, że naturalnego uczysz się dłużej, ale to o niczym nie świadczy, bo jak pisałem wcześniej po pierwsze język naturalny jest czymś zupełnie innym od języka programowania, a po drugie - znajomość języka wcale nie jest tym samym, co umiejętność programowania.

Odnośnie drugiej części - mój nauczyciel saksofonu powtarza, że praktycznie każdy może się nauczyć grać na dowolnym instrumencie, jednostki totalnie amuzykalne to sporadyczne przypadki. Ale nie każdy kto nauczy się grać będzie na takim poziomie, który umożliwi granie na poziomie profesjonalnego muzyka. Może sobie grać dla przyjemności czy w jakimś zespole na weselach, ale już nie będzie grał na płycie Grzegorza Turnau'a.

Myślę, że podobnie jest z podobnie jest z programowaniem - z grubsza każdy, kto nie jest totalnym idiota, jest w stanie się nauczyć (oczywiście nie w 3 tygodnie) ale jak ktoś nie ma tak zwanego drygu do tego, to raczej zawsze będzie przeciętny. Z drugiej strony nie ma w tym niczego złego, tacy ludzie też są potrzebni. W końcu Kubica jest jeden, ale kierowców autobusów i taksówek są tysiące ;)


That game of life is hard to play
I'm gonna lose it anyway
The losing card I'll someday lay
So this is all I have to say

Pozostało 580 znaków

2018-11-09 10:51
0

Trzeba lat, aby nauczyć się płynnie posługiwać językiem za równo ludzkim jak i programowania

Bez przesady, na opanowanie języka programowania zazwyczaj wystarcza kilka miesięcy...

A co rozumiesz poprzez opanowanie języka programowania? Zdolność do rozwiązania każdego w nim problemu czy po prostu poznanie całej składni i umiejętność użycia jej? ;) - Sunnydev 2018-11-09 13:02
Oczywiście, że poznanie składni i umiejętność użycia jej. Zdolność rozwiązywania problemów nie zależy od języka i jest zupełnie czymś innym. - aurel 2018-11-09 13:18
Myślę, że to zależy. Jak ktoś nigdy nie programował, to ucząc się przez kilka miesięcy będzie raczej na niskim poziomie i nie będzie potrafił wiele zrobić, oraz pewnie nie przejdzie nawet testu znajomości języka na rekrutacji. Z drugiej strony jak ktoś zna już kilka języków programowania, to w bardzo krótkim czasie można załapać na tyle podstaw, żeby coś zrobić (krótki czas = np. kilka dni). - LukeJL 2018-11-19 17:31

Pozostało 580 znaków

2018-11-09 12:44
2

Trochę się można zgodzić - języki programowania są zazwyczaj nieco bardziej uporządkowane od języków naturalnych. Wynika to z faktu, że przede wszystkim były projektowane jako takie, po drugie - nie mają za sobą tysięcy lat ewolucji, a co najwyżej kilkadziesiąt (i też jest to ewolucja sterowana).

Ale i w nauce języków naturalnych znajomość każdego kolejnego IMO pomoże ci w nauce dalej - o ile ogarniesz nie tyle język, co nieco teorię języków. Potem będziesz wiedział "a, przypadki tu są takie, a w tym jest inaczej", "a, tutaj rodzajniki są, a tutaj nie ma, bo rodzaj dopełnienia wyraża fleksja" itp.

Pozostało 580 znaków

2018-11-09 12:53
0

języki programowania są zazwyczaj nieco bardziej uporządkowane od języków naturalnych

Zgadza się. Ale z drugiej strony języki naturalne są o wiele bardziej skomplikowane (a co za tym idzie - więcej w nich chaosu) przez to, że z założenia mają uniwersalne przeznaczenie.
Język programowania to twór, który ma przekazać komputerowi polecenia programisty. Więc, co za tym idzie, dotyczy jedynie opisu struktur danych oraz poleceń, które można na tych danych zrealizować. Z kolej język naturalny jest wszechstronny - można opisać nim uczucia, opowieść o rybaku i złotej rybce, przepis na placek z wisienką oraz sposób budowy samochodu.
Oczywiście - w języku programowania można także napisać procedurę wypieku placka - coś w stylu "weź 200g mąki, 3 jajka, pół paczki droźdży itp.". Można nawet spróbować jakoś - poprzez wzory matematyczne - zdefiniować, ile to jest 200 gramów. Ale nie wyobrażam sobie określenia w języku programowania, czym jest mąka albo jajo. I nie jest to wcale wada języka programowania, a jedynie wynika to z faktu, że ma on inne przeznaczenie. A ponieważ przeznaczenie języka programowania jest o wiele węższe, niż języka naturalnego, oczywiste jest, że nauka samego języka programowania przychodzi łatwiej, niż naturalnego.

Dodatkowo - przy naturalnym dochodzą jeszcze takie rzeczy, jak mówienie czy słuchanie, czyli coś, czego nie ma raczej przy programowaniu - tu wszystko się opiera o pisanie i czytanie.

No i ostatnia myśl - język naturalny jest żywym i elastycznym tworem, który wprawdzie posiada pewne zasady, ale można je nieraz łamać, żeby osiągnąć zamierzony efekt. Można przestawić szyk zdania, bawić się interpunkcją itp. Możesz napisać "Baaaardzo Cię kocham !!!!!!" i to zdanie będzie czytelne - kładziesz nacisk na mocne emocje, które "posiadasz". W języku programowania, jak dodasz kilka średników na końcu, to raczej nie przyspieszysz wykonania programu, a tablica typu arrrrrray nie będzie "lepsza" od zwykłej ;)


That game of life is hard to play
I'm gonna lose it anyway
The losing card I'll someday lay
So this is all I have to say
edytowany 2x, ostatnio: cerrato, 2018-11-09 12:54

Pozostało 580 znaków

2018-11-12 17:25
1

To tak jakby pytać czy zapis nutowy jest łatwiejszy od języka ludzkiego.

To że na zapis programu komputerowego mówimy „język” nie znaczy że jest to język w tym sensie co polski czy angielski, więc to porównanie jest raczej nietrafione.

Pozostało 580 znaków

2018-11-12 17:28
1

Nie można tego tak porównywać, bo przeznaczenie jest zupełnie inne.

Język programowania ma "współpracować" z komputerem, który jest na ten moment 0/1kowy.

Język ludzki ma o wiele większą składnie, jest znacznie bardziej rozbudowany i często się zmienia, a język programowania od pewnego etapu już tak bardzo się nie zmienia.

edytowany 4x, ostatnio: WeiXiao, 2018-11-12 17:50

Pozostało 580 znaków

2018-11-13 16:33
mlk
2

Języki programowania mają o wiele mniej "słów" od języków naturalnych, mają też dużo mniej reguł. Reguły w programowaniu są o wiele prostsze (mają np. mniej wyjątków, o ile w ogóle). Oczywiste więc, że języki programowania są prostsze od dowolnego języka naturalnego.

Trochę też nie wiadomo, co chcesz porównać: czy język programowania do języka naturalnego, czy samo programowanie, ale wtedy do czego? Do mówienia?

Mówi się czasem, że programowanie służy do (bardziej formalnego) wyrażania myśli/idei. Wtedy problemem nie jest uczenie się języka programowania, ale samo programowanie własnie - tzn. umiejętne, klarowne i precyzyjne wyrażanie myśli. Zatem w programowaniu nie jest problemem składnia danego języka, ale właśnie myślenie (ile razy miałeś sytuację, w której dokładnie wiedziałeś jak coś trzeba zrobić, ale nie znałeś dostarczająco języka, żeby wyrazić dany pomysł? raczej odwrotna sytuacja jest częstsza).

Jeszcze taki lekko powiązany cytat:

Underlying our approach to this subject is our conviction that ``computer science'' is not a science and that its significance has little to do with computers. The computer revolution is a revolution in the way we think and in the way we express what we think.

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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