Temat prawie w ogóle od czapy, jeżeli chodzi o elixira, ale ostatnio miałem kilka bardzo fajnych rozmówów na temat tego jak ja piszę bloga, skąd biorę pomysły i jak to robię, że w ogóle piszę o takich sprawach jak nauka języka programowania.

Z tego co ja wyniosłem z rozmów, to głównym problemem jest pisanie o sprawach oczywistych, które my w pełni rozumiemy. Skoro ja to rozumiem, to pewnie ktoś inny też to zrozumiał. Itak jak jest to prawdziwe dla X% ludzi, tak dla Y% ludzi to nie jest prawdą. Oni tego nie wiedzą, nie widzą tego, nawet nie wiedzieli, że coś takiego może istnieć. Jeżeli byśmy pisali tylko o tym co nie jest oczywiste to za dużo byśmy nie pisali.

Drugim problemem było to, że no proces przecież jest taki. By wiedzieć jaki ma by proces musisz znać język. Czyli by napisać o języku jak ja piszę o elixirze to powinienem go już znać. By móc tak poukładać materiał by był on po kolei. Ogólnie by móc pisać o języku i go nauczać to trzeba być w nim perfekcyjnym. Gdyż dopiero wtedy będziemy wstanie tak poukładać materiały by były one zrozumiałe, odpowiednio pogrupowane i ciekawie przedstawione – na przykład by nie wprowadzać pojęć nie znanych w danych sekcjach. To jest tak naprawdę perfekcyjny kurs nauki programowania (z jakiegoś tam punktu widzenia). Wszystko jest przed wami powoli ujawniane, nie ma informacji o czymś co dopiero później zostanie wytłumaczone.

Tylko by do takiego stanu dojść to trzeba… lat? Nauki i praktyki? Wtedy też będzie ciężko to tak zrobić by było idealnie, perfekcyjnie. Po pierwsze, osiągnęliśmy poziom taki, że dużo dla nas jest rzeczy oczywistych, po drugie nasz perfekcyjny kurs nauki programowania właśnie zaczął wyglądać zupełni inaczej niż jak my zaczynaliśmy się uczyć. Teraz lepiej jest wskoczyć na głęboką wodę i tłumaczyć powoli to co się tam widzi. A to znaczy tylko tyle, że wiele lat zmarnowaliśmy na to by stać się superdobrzy. Tylko po to by uświadomić sobie, że wcale nie musieliśmy.

Moje posty z nauki elixra są surowe. Pokazuje to jak ja się uczę, gdzie popełniłem błędy (moim zdaniem), gdzie poszedłem w dobrym a gdzie w złym kierunku. Opisuje wszystko, nawet rzeczy które były oczywiste, z tego z względu, że były może i oczywiste dla mnie, bo znałem inny język dający coś podobnego, ale nie koniecznie już oczywiste dla osoby, która mnie czytająca.

W elixrze, było i jest łatwiej niż w innych językach ze względu na to, że jest kilka pomysłów, idei, które tutaj zupełni inaczej się zachowują niż w 90% językach programowania. Dlatego też dużo łatwiej jest znaleźć punkty które powinny być oczywiste a nie są. Ale tylko dzięki temu, że nie zrobiłem tego co zrobił Rob Conery (przerwał pisanie by się douczyć, i potem pisać już lepiej i mądrzej), nauczyłem się języka i opisałem to wszystko systematyzując swoją wiedzę. Jest to zagmatwane i pogmatwane. Nie jest to perfekcyjne i nigdy nie będzie.

Nasz mózg nie chodzi liniowo, nie działa liniowo. Dlaczego tak więc bardzo oczekujemy, że to co czytamy i co przyswajamy ma być liniowe? Nie wiem.

Ale jeżeli zamierzacie zacząć opisywać naukę języka programowania, to zaczynajcie od tego co ostatnio przeczytaliście. Opiszcie to. Potem przeczytajcie coś innego, i opiszcie to. Nie czekajcie, jak poznacie w pełni język. Wtedy wam się już nie będzie chciało. Nie ma sensu szukać perfekcji. Podążajcie za tym co was interesuje i bawi a nim się obejrzycie, będziecie mieli 20 blog postów/vlogów na ten temat.

Zamiast tworzyć perfekcyjny kurs, stwórzcie, kurs, który oddaje wasza podejście. Jest ono dla mnie dużo bardziej interesujące niż suchy kurs programowania który i tak jest daleki od ideału.

1 KOMENTARZ

  1. Jeżeli podąża się filozofią twórców języka, a nie próbuje się ich “łamać” (widać po Twoich postach, że starasz się rozumieć filozofię języka) ; to takie surowe podejście jest moim zdaniem w 100% słuszne. Tworząc bloga z perspektywy bardziej doświadczonego developera ale świeżego w nowym języku zadajesz pytania, które inni będą musieli sobie zadać. A dzięki Tobie będą mieli łatwiejszą drogę do przejścia. Zaawansowana książka/blog przydaje się jak już zna się podstawy oraz pierwsze mini projekty i PoC ma się za sobą. Jak poznajemy nowy język, to należy odseparować szum detali od wizji i podstaw języka. Dopiero na takim fundamencie można budować dalej zaawansowaną wiedzę. Podsumowując: trzymaj obrany kurs ;)

Comments are closed.