no, polski to może nie jest najlepszy język do programowania, w sumie ciekawe dlaczego, @nooga pewnie już wie, ale mnie bardzo interesuje przestrzeń "determinizm lingwistyczny a programowanie" i pochodne (trochę o tym opowiem na FrontTrends jak ktoś się wybiera to zapraszam)...
z drugiej strony programowanie po angielsku to mega blokada kulturowa
był taki projekt z językiem programowania po arabsku o ile dobrze pamiętam
warto spędzić 3 minuty: https://www.youtube.com/watch?v=77KAHPZUR8g
no tylko ze jak do roznych wymiarow jezykow (od paradygmatow do roznych rodzajow skladni) dodamy jeszcze wymiar jezyka ludzkiego to dopiero sie misz masz zrobi. to ja juz wole pozostac przy jezyku angielskim, ewentualnie opisie matematycznym. Inna sprawa ze co tak naprawde zmienia ze np bedziesz miec keywordy takie jak if else itp po arabsku? Koles wymienia tutaj jako zalete to ze mozna slowa laczyc podkresleniem ale to samo przeciez mozesz robic w innych jezykach programowania. To ze nie istnieje slowo po angielsku my_____awesome____fn to nie znaczy ze nie mozesz sobie tak napisac, przeciez to wszystko i tak sa tylko labele
bardziej chodzi o to że możesz "if_________else" zrobić zamiast zawsze pisać "ifelse"
poza tym ważny tu jest aspekt kulturowy
nie wszyscy mówią po angielsku
dla niektórych angielski jest bardzo trudny
np. Japończycy gdzie konstrukcja zdaniowa jest zupełnie inna
język programowania bazuje na języku ludzkim, jak powstał po angielksu
to znaczy że ma naleciałości angielskiej "logiki"
no i ten język był ważnym eksperymentem bo trochę pokazał
że nie da się obecnie inaczej niż po angielsku
niezależnie jak bardzo chcesz
co IMHO nie jest dobrą konkluzją dla nas
jeśli język wpływa na sposób myślenia
ok, do nauki mysle ze spoko. ale tak naprawde zamiast tworzyc nowy jezyk mozna by po prostu potworzyc jakies makra/funkcje
a jesteśmy zamknięci tylko w angielskim
to jesteśmy dość zablokowani
no z tym sie zgadzam ze jezyk wplywa na sposb myslenia
nie wszystko zrobisz makrami/funkcjami
ale nie wiem tak naprawde czy mysle po angielsku kiedy programuje. i tak najpierw idea powstaje w glowie a potem to probuje wcisnac w jezyk w ktorym pisze
ok, chodzi o poziom głębiej
myślisz i tak słowami
nie chodzi o to że piszesz słowa po angielksu
ale że język programowania jest "skrzywiony" na pewien sposób myślenia
przez to że powstał po angielksu
może nie do końca dobrze tłumaczę co mam na myśli
ale taki już jest problem z językiem
no nie wiem, wg mnie masz rozne paradygmaty i to bardziej skrzywia jezyk niz sam faktyczny jezyk ludzki
że to wąskie gardło do przekazywania idei :simple_smile:
kwestia ze moze tez mam za mala wiedze bo nie wiem jaka jest alternatywa dla logiki "angielskiej" (chodzi o boolowska?)
niekoniecznie, są plemiona które np. w języku nie mają liczb
więc zupełnie inaczej radzą sobie z liczeniem
jak znasz tylko świat w którym liczby istnieją od zawsze to nie jesteś w stanie na nie spojrzeć inaczej
albo to jest mega trudne
dla ludzi z tamtych plemion np. nasza matematyka to jakiś niepotrzebny wymysł
kurcze, muszę wracać do roboty, ale możemy przy piwku pogadać o tym kiedyś
:simple_smile:
👋
spoko, poczytam troche w temacie zeby moc sobie bardziej opinie wyrobic ;d
ja nie mysle po angielsku jak programuje, ja mysle o kształtach danych i ich przemianach, o czasie i zdarzeniach
a pozniej siadam ze słownikiem i tłumaczę komputerowi to co sobie wyobraziłęm
i w zaleźności od języka ilość pracy nad tłumaczeniem jest różna
ale sama idea jest możliwa do rozrysowania jako diagram, zapisania jako artykuł, wyjaśnienia ustnie
więc to troche jak w SICPie napisali, że programista ma ten superpower, że potrafi zamknąć swoją myśl w maszynie, która pozwala tej myśli używać innym
no i wlasnie dlatego jezyk naturalnych bym rozpatrywal jako efekt uboczny tego ze trzeba wyrazic swoje mysli
a np ta kwestie ze pewne plemiona mysla bez liczb, nie maja na nie nazwy bym traktowal raczej jako paradygmat np nie-numeryczny i zastanawial sie jako wyekstrahowac ten paradygmat do jakiegos jezyka uniwersalnego niz tworzyl jezyki programowania w jezyku tych plemion
ok, to bylby pierwszy krok w badaniu tego paradygmatu ale nie chcialbym w przyszlosci uczyc sie kolejnych jezykow naturalnych tylko po to zeby w jakims paradygmacie pisac 😛
w sumie to tez dziala w druga stronę - jako programiści potrafimy wyrażać się stosunkowo precyzyjnie
nie cały czas, ale często - jeśli coś dobrze rozumiesz to potrafisz to precyzyjnie wyjaśnić
no z tego co czytalem lekcje z "programowania" w finlandii dla dzieci wlasnie na tym maja sie skupic. zeby nauczyc dzieci jednoznacznie wyrazac swoje mysli itp
niektórzy ludzie mają z tym problem
i to mi sie podoba, bo o to w duzej mierze chodzi w kodowaniu a nie o C++, C itp 😛
C jest cacy, zostaw C
no C jest spoko, ale chodz mi o to ze jak sie mowi o nauce dzieci programowania itd to ludzie strasznie sie fiksuja na jezykach programowania zamiast na sposobie myslenia
co tu się wyprawia... a taki spokój był :simple_smile: ale fajne rozkminy o tym języku i wpływie języka na kodzenie :thumbsup: nie patrzyłem tak na to nigdy
zle ci? ;d
Ale w sumie problem jest w drugą stronę, jak język programowania jest lokalizowany to każdy kraj zamyka się w swoim kręgu i obcokrajowiec nad tym kodem nie popracuje : V
Już ew. prędzej rozwiązaniem by było żeby język dalej był po angielsku, ale IDE miało dualną reprezentację pozwalającą na pisanie w swoim języku, co by było automatycznie tłumaczone do leżącego pod tym angielskiego języka programowania.
That would make sense IMO.
niekoniecznie, ja mówiłem o czymś głębszym, o tym że inny język może potencjalnie mieć inny sposób wyrażania ideii
Jak już jesteśmy przy dualnych reprezentacjach — ktoś z was słyszał o naszym Polskim języku programowania Luna? : D
i *np.* for
nie ma sensu po japońsku
(nie wiem czy tak jest, chodzi o ideę)
więc proste tłumaczenie nie załatwi sprawy
i właśnie o tym mówię
że problem jest trochę gdzie indziej
"problem"
To nadal możesz do pewnego stopnia tłumaczyć
W sensie
Popatrz trochę jak np. jest w Haskellu
Masz surface langauge w którym piszesz, Haskella
Ale potem to jest w trakcie kompilacji tłumaczone do pośredniego Core, a potem jeszcze do STG.
I ten problem do pewnego stopnia
Można by było rozwiązać mając jakiś wspólny core language
I właśnie mieć coś co jest bijekcją tego core language na surface syntax
Tak, że koleś myślący w suahili będzie mógł pisać w tym po swojemu
Chińczyk — po swojemu
Anglik — po swojemu
A wszyscy będą pracować nad jednym core representation
Ale
To nie rozwiąże chyba i tak największego problemu
ok, rozumiem, wydaje mi się że to nie jest problem który jesteś w stanie rozwiązać tak
Po prostu komunikacji międzyludzkiej pomiędzy nimi
Skoro będą widzieli różne widoki tego samego : V
no nie wiem czy to będzie "to samo"
Znaczy w tym, co opisuję to tak
Może jak sobie popatrzysz na MPS (https://www.jetbrains.com/mps/) albo tą Lunę to Ci w pewien sposób to rozjaśni
ja nie wiem czy np. efekt wielu języków nie jest dobry, bo skoro język wpływa na myślenie, to dobrze znać ich jak najwięcej(?) czy nie dobrze(?) nie wiem
Chodzi o to, żeby ten core był language-independent, a te nakładki w suahili czy języku indian navajo by tłumaczyły koncepcje z ich języka na wspólny core language
ok, tu jest trochę nieporozumienie, bo ja nie mówię do końca język jako polski, angielski, etc...
Ale to by pewnie było niedoskonałe w jakiś sposób
ale język jako narzędzie mechaniki myślenia
Zauważyłem
I mam to samo na myśli
; d
poza tym narzucanie wszystkiego na jeden core
to mega skrzywienie
i ja jestem osobnego znaczenia
że powinniśmy mieć wiele języków
Ale przecież cały czas to robimy
do rozmowy o wielu rzeczach
Bo przecież pod spodem jest asembler
P ;
no jest, nie mówię że to dobrze
nie mówię że źle
mówię że to jest ciekawa sprawa
:simple_smile:
No znaczy na pewno jest to interesujące na swój sposób jak różne rzeczy kształtują aparat myślowy człowieka
Tylko masz tu dość mocne i nierozwiązywalne tension między globalizacją a nacjonalizacją.
Jeżeli pójdziesz w kierunku języków nakierowanych na sposób myślenia danych grup ludzi
Jak będziesz współdzielił wiedzę i wyniki pracy między różnymi grupami ludzi?
I w drugą stronę, jak sprowadzisz wszystko do wspólnego mianownika to czy potecjalne plusy różnych peerspektyw się w tym nie zatracą.
no
To na pewno jest ciekawa rzecz nad którą można pomyśleć
Ale to chyba jest fundamentalnie nierozwiązywalne bez trade-offów.
haha, ok
nie szukam rozwiązań
tylko uprawiam taką grę myślową tutaj
:simple_smile:
dobrze że o tym powiedziałeś
ja też nawet nie jestem pewien że to jest "problem" per se
ja np. jestem fanem podejścia poliglotycznego
No poliglotyzm jest na pewno spoko, pewne rzeczy naturalnie się wyraża w pewnych językach, inne — w innych.
ja powiem na odwrót
moim zdaniem możliwe że
do pomyślenia pewnych rzeczy
potrzebujesz specyficznego języka
"języka"
nie wiem
Tak bardzo Sapir-Whorf ; d
👍
fajny artykuł czytałem ostatnio o języku który ma tylko około 100 słów o ile dobrze pamiętam
(sztucznym)
Tokipona pewnie ; d
o
wszystko się zgadza
No, tokipona to ciekawy eksperyment na pewno
A wróć, toki pona ; d
Ale nie wiem czy to języki ludzkie czy to programowania są aż tak diametralnie różne żeby uniemożliwiały pomyślenie pewnych koncepcji.
Choć nie jestem lingwistą ani nikim takim żeby mówić ex cathedra.
Ale na pewno znacznie determinują nasze kategorie poznawcze i w pewnych językach pewne koncepcje są naturalniejsze niż inne
Programistycznie patrząc — hehe, monady w C.
good point
wiesz, język już teraz podobno jest elementem biologii mózgu
więc tak naprawdę nie wiem czy nie trzeba trochę tego traktować jak wzrok
widzimy tylko pewien zakres fal
więc z myśleniem może być bardzo podobnie(?)
No biorąc pod uwagę to, jak nam się wydaje że mózg działa, to nie brzmi to nieprawdopodobnie
Że konieczność werbalizowania ukształtowała rozwój mózgu
mimo wszystko widzisz
jęzk pozwala na meta-myślenie
inaczej nie byłoby narzędzi
żeby myśleć o myśleniu
więc trochę błędne koło
trochę feedback loop
trochę spory kosmos :simple_smile:
Żółwie aż do samego spodu!
ha!
Wiesz co, to na pewno gdzieś się musiało zacząć i potem tylko ten mechanizm się coraz lepiej dostosowywał do potrzeb ludzi
W sumie to by było dość ciekawe, aczkolwiek niemożliwe, wiedzieć jak myśleli prehistoryczni ludzie.
albo ludzie pod potrzeby mechanizmu?
mnie też interesuje jak myślą ludzie bez języka
czytałem jakiś esej
Ludzie pod potrzeeby mechanizmu? Ktoś tu chyba lubi Platona xD
gdzie znajdowali właśnie ludzi głuchoniemych od urodzenia
w plemionach bez pisanego języka
więc nie mieli sposobu nauczyć się żadnego języka
masakra
Intuicyjnie wydaje się, że tacy prehistoryczni ludzie nie mogli umieć tak dobrze myśleć abstrakcyjnie jak my, bo po co, ale kto wie?
Hah
No mózg to dosyć adaptywny organ jednak ; d
jak ze wszystkim: i tak i nie 😄
tak czy inaczej dzięki za rozmowę, podsunąłeś mi trochę nowych myśli :simple_smile:
Spoko P ;
Lingwistyka czy ludzki umysł to na pewno ciekawe sprawy
@szymon_k: ogólnie nauka głuchoniemego czytania to już jest ciekawa sprawa nawet w dzisiejszych czasach
to co opowiadam też się działo w dzisiejszych czasach :simple_smile:
no strasznie ciekawy temat
ale są jeszcze gorsze historie
ludzie głuchoniemi niewidomi
istnieje cos takiego jak ESE, Exact Sign English czy cos takeigo
jest jakiś język bazujący na dotyku palcami
ale nie mam pojęcia jak się go uczy kogoś
to jest ejzyk migowy o skladni angielskiego
i głuchoineime dzieci ucza sie tego ESE
a pozniej zwiazku ESE ze słowem pisanym
ciekawe
na quorze ktos głuconiemy od urodzenia o tym opowiadał
co ciekawe, bardzo ładnie pisał
i wspominal, ze głuchoniemi gdy piszą czasem np. mylą słowa, które napisane wyglądają inaczej ale mają podobne symbole migowe
kiedy pisza
o kurde
mega dobry temat
jak znajde to ci podrzuce
super
W ogóle też chyba jest różnica między językiem migowy (który jest językiem naturalnym ludzi głuchoniemych) a językiem miganym (który próbuje oddać dany język gestami).
To w sumie chyba to o czym nooga mówi,
Ten ESE czy nasz SJM (System Językowo-Migowy) to właśnie języki migane
A na przykład Polski Język Migowy to migowy.
IIRC
I na nauka jednego i drugiego musi się znacznie różnić, jak w jednym tłumaczysz koncepty z innego języka naturalnego, a drugi jest językiem naturalnym samym w sobie.
Jak znajdziesz to daj tutaj linka nawet, też chętnie poczytam, co z tego że to nie o Clojure xD