Grind Grind #2

Michał Ślaski - Jak odnaleźć się w świecie programowania funkcyjnego?

Czas trwania: 1:17:32

O odcinku

Czym jest programowanie funkcyjne? Co powoduje, że wchodzisz w niszę jako pierwsze zajęcie? Gdzie są i gdzie idą języki funkcyjne i społeczność dookoła tej technologii?

O tym rozmawiamy w Grind #2 z Michałem Ślaskim, Technical Solutions Engineering Manager @ Google Cloud obecnie a w przeszłości mocno zaangażowaną osobą w Erlang w Erlang Solutions.

Linki:
🔗 Profil LIN Michała - https://www.linkedin.com/in/slaski/
🔗 Michał na X - https://x.com/michalslaski
🔗 Koderki - projekt współtworzony przez Michała - https://koderki.pl/

Rozdziały: 📖
00:00 - Intro
01:03 - Dlaczego Michał?
03:24 - Od Barmana do Programisty
08:30 - Studia vs Firma
11:07 - Języki funkcyjne - moda czy wartość?
15:56 - Dlaczego nie zaskoczyło?
18:00 - Ewolucja innych języków
21:15 - Renesans języków funkcyjnych
23:31 - Nisze języków funkcyjnych
29:57 - Wyzwania w adopcji
32:50 - Jak przekonać do Erlang?
37:43 - Nawigacja wśród Języków funkcyjnych
43:17 - Matematyka vs Biznes
50:05 - Stan Community
59:11 - Jaki Język dla nowego startupu?
01:03:49 - Google, a języki funkcyjne
01:08:32 - O Trendzie hybrydyzacji
01:13:09 - Rady dla zaczynających 24’ 25’
01:15:16 - Outro

========================================================

"Grind" jest częścią projekty "CTO Morning Coffee". Najlepsze miejsce w polskim Internecie dla liderów w technologii 🖖.

Można ( a nawet należy ) nas znaleźć również w innych miejscach:
👉 Podcast: https://cto-morning-coffee.transistor.fm/
👉 Twitter: https://twitter.com/CTOMorning
👉 Newsletter: https://www.ctomorning.coffee/
👉 One link to bind them all: https://bio.link/ctomorning

CTO Morning Brew tworzą:
👉 Sebastian Gębski:
🔵 Twitter: https://twitter.com/liveweird
🔵 Blog: https://no-kill-switch.ghost.io/

👉 Wojtek Ptak:
🔵 Twitter: https://twitter.com/wjptak

👉 Tomek Onyszko:
🔵 Twitter: https://twitter.com/tonyszko
🔵 Blog: https://www.onyszko.com/

Live long and prosper 🖖

Transkrypcja
może puszczę bębenki O właśnie piękne Dzień dobry Dzisiaj mamy piękny poranek Przynajmniej tu gdzie ja jestem tego nie widać zza kamery i lecimy z naszym nowym formatem grind dla tych którzy nas już chwilę oglądają albo dla tych którzy wpadli takie miejsce gdzie rozmawiamy bo my to tam wszystko wiemy oczywiście i znamy się jak ły konie i w ogóle na każdy temat możemy ale są ludzie którzy wiedzą więcej kiedyś Sebastian zaczął taką ankietę z kim by tu porozmawiać wpadło kilka nazwisk pierwszą rozmawialiśmy z Wojtkiem erbetowski można sprawdzić na YouTubie czy na podcaście A dzisiaj mamy kolejny gr czyli mamy gościa Michał On się zaraz przedstawi powie dlaczego tutaj jest powiemy też dlaczego tutaj jest i rozmawiamy z nim o tym o czym Michał więcej albo w ogóle Dlatego że jest ciekawą osobą No właśnie Zanim ja jeszcze oddam głos Michałowi to może trochę tego kontekstu Dlaczego Michał i w ogóle o czym będzie trochę ten odcinek bo ja miałem taką chęć zrobienia odcinka o programowaniu funkcyjnym siedziałem w tym temacie od jakiegoś czasu też pod pewnym względem mogę powiedzieć że wpadłem trochę w ten Hype dużo sobie obiecywałem No i wydarzyło się trochę minęło parę lat trochę wody w Wiśle minęło IAM wrażenie że ten taki ta
obietnica związana z programowaniem funkcyjnym Chyba się nie do końca zrealizowała i chciałem porozmawiać o tym z kimś mądrzejszym zastanawiałem się z kim mogę na ten temat porozmawiać tak chciałem powiedzieć że to z wodą w Wiśle to było nie fair tak to jest tak I zastanawiam się na ten temat porozmawiać i dlatego jest tutaj z nami Michał ślaski Michał to jest osoba która my jesteśmy mnie więcej w tym samym wieku kończyliśmy tą samą uczelnię akademię górnicz Hutniczą w Krakowie natomiast jak powiedzmy moja grupa studentów moi koledzy interesowali się bardziej wtedy c+ plus ja alb wchodzącym do netem to Michał zaczął się kręcić dookoła środowisk rangowy jak myśmy się zaczęli zatrudniać w software House które budowały w tych technologiach jak Java i dtn oprogramowanie Michał zatrudnił się w firmie która zaczęła pisać wangu nie był to jakiś jeden epizod i i powiedzmy jakaś fanaberia bo z tego co wiem to był tam jakieś ponad 10 lat przeszedł tam pełną ścieżkę czyli nie tylko i wyłącznie programisty ale również inżyniera co więcej odal znaną konferencję lambda Days która No nie tylko jest lokalną w Krakowie ale udało się ściągnąć tam bardzo ciekawych gości kilka nazwisk bo mamy twórców jednego Rober okazję osobiście
spotkać jeżel chodzi zarówno jakn również tam by elir nie mieszka w Krakowie twórca Red booka chyba najbardziej znanej książki z której pokolenia programistów uczyły się programowania funkcyjnego Dobra już kończę mamy tutaj z nami Michała będziemy chcieli go trochę przepytać przegl nować właśnie odnośnie języków funkcyjnych programowania funkcyjnego oczywiście z perspektywy senior Tech leaders Michał Witamy oddaję ci głos gdybyś mógł krótko nam się przedstawić opowiedzieć o sobie swojej karierze oczywiście przez pryzmat tych języków funkcyjnych Cześć Bardzo dziękuję za zaproszenie Podejrzewam że myśmy się musieli gdzieś mijać w korytarzach różnych konferencji i i gdzieś na siebie wpadać nawet nie zdając sobie sprawę z tego że na przykład kończyliśmy tą samą uczelnię ja teraz już zajmuję się trochę mniej zawodowo samymi językami funkcyjnymi Ale faktem jest że przez 15 lat pracowałem WL Solutions dalej to takie zainteresowanie i zamiłowanie do funkcyjnych języków jest więc jestem aktywny Jeśli chodzi o nadążanie za tym co się dzieje aczkolwiek dzisiaj moje zawodowe obowiązki Już są trochę gdzie indziej yy mogę wrócić trochę na chwilę Skąd się wzięło to zainteresowanie funkcyjnymi
językami bo dobrze zauważyłeś że to nie było Może oczywiste żeby pod koniec studiów akurat pójść w tą stronę gdzie gzie główne trendy wtedy były raczej wokół Javy c+ Plusa Ja oczywiście na początku jeszcze jako taki młodszy adept programowania nie miałem sprecyzowanych swoich preferencji różne rzeczy próbowałem robić czy w liceum czy później na studiach dopiero znaleźć jakiś taki temat który by mnie bardziej wciągnął byłem barmanem byłem szoferem kabaretów miałem miałem się zapytać o wstydliwy język programowania którego próbowałeś ale ę język o no różne pracowałem na przykład w hamowni gdzie produkowali oprogramowanie takie które pozwala potem podczas tuningu samochodów sprawdzić ich moc więc Próbowałem różnych rzeczy momencie przez kilka miesięcy pracowałem przy produkcji gier komputerowych i to już były ostatnie lata studiów w związku z tym próbowałem też łączyć taką działalność zarobkową z tym co się działo na studiach To był taki dosyć sprytny sposób żeby nie robić czegoś dwa razy tylko jak już jakiś projekt realizowało się na studiach które trzeba było oddać No to też żeby
on był chociaż trochę powiązany z tym co się robi też Poza kontekstem studiów więc gry gry gry i taki pomysł Też mieliśmy z moim przyjacielem pracę magisterską że napiszemy silnik do gry mm RPG takie Multiplayer online wtedy już nie pamiętam czy były jakieś takie większe MMG al na pewno to był czas dostępny ul chyba też było na pewno jeszcze nie było World of Warcraft tego takiego którego znamy później no niem jednak trochę już jakieś też publikacji było różne rzeczy i poszliśmy z takim tematem do i powiedział dobry pomysł ale to w takim razie użyjcie Aanga do implementacji backendu że to jest technologia która w sam raz będzie na taki masy Multiplayer żebyście nie wrócili do [Muzyka] niego pierwszy raz o tym wtedy usłyszałem to nie był jakby mój taki świadomy wybór więc Podzieliliśmy się z przyjacielem on zrobił frontend Java 3D taka była Wedy biblioteka ja zrobiłem wangu i praca magisterska była o tym jak to się
drr nowan oprawiono zieloną skórę ze srebrnymi literami praca magisterska książkę zacząłem szukać pracy i pojechałem między innymi do Anglii tam na rozmowie kwalifikacyjnej w Londynie pokazałem tą pracę magisterską w języku polskim ci którzy mnie przesłuchiwali oczywiści Nie zrozumieli w ząb o czym było ale wyglądała bardzo tak le wangu i kupiło Tak dostałem pracę taką zawodową pierwszą właśnie w wangu na podstawie napisanej po polsku pracy magisterskiej zastanawiałem się przez chwilę Czy myślałeś że jest obita w skórę Niedźwiedzia ale też tak na pewno krzywdzący obraz Kojarzycie prawda taki zielony ciemny kolor oprawiony nie będę sprawdzał czy każdy miał ale chyba to był 2004 2005 rok to jakaś tam starsza wersja erlanga dziewiąta wtedy nie miała nawet jeszcze wsparcia dla multicore więc to był taki początek ale to było moje pierwsze takie zderzenie z faktyczną implementacją czegoś takiego komercyjnego realnego w języku funkcyjnym nie do końca chyba myślę że sobie nawet zdawałem sprawę z wszystkich niuansów Czym jest paradygmat funkcyjny
wus paradygmat imperatywny No bo nawet jeśli kończy się techniczną uczelnię i się gdzieś biega po różnych językach implementowany nie coś w lisp prawda coś w c+ Plusie to nie wiem czy Każdy student jest tak pilny żeby to wszystko zgłębiał dopiero później w praktyce jak zaczynasz wykorzystywać te tą wiedzę i taką intuicję którą na studiach zyskałeś No to zaczyna się trochę łączenie kropek w głowie i trochę lepsze rozumienie właściwie o co chodzi także żeby nie było że ja od początku wiedziałem że to ja chcę się zajmować to Michał ja mam do ciebie takie pytanie Jakie były taka największa wiesz zmiana spojrzenia pomiędzy tym programowaniem na studiach a programowaniem w pierwszej firmie u ciebie Co takiego wiesz w co wierzyłeś A co później tak nagle cię zaskoczyło i zmieniło się znaczy przez to że próbowałem takich różnych drobnych komercyjnych projektów już od liceum bo trzeba było jakoś zarobić na nie wiem rejsy żeglarskie więc się prawda brało jakąś małe zlecenie tu i tam Miałem okazję poy się już oswoić trochę Jak wygląda wdrażanie czegoś niewielkiego bo to były głównie jakieś website jakieś takie próby No i akurat też nasza uczelnia jest bardzo taka sfokusowana na
praktyczne zastosowania informatyki więc tej teorii oczywiście jest trochę ale się my się nie nie pochyl liśmy nad teorią i algorytm dla samej tej sprawy tylko bardzo często to było form realizacji jakiś konkretnych projektów które oczywiście były studenckie więc nie do wdrożenia jednak dawały od razu takie przełożenie na praktyczne zastosowanie tych technologii więc ja myślę że nie miałem jakiegoś szoku w sensie takim że że to jest zupełnie co innego co na studiach a zupełnie co innego w pracy natomiast z czasem dopiero poznając więcej osób które się interesowały czy w ogóle produkowały języki funkcyjne A to do mnie dopiero docierało że na przykład nie każdy język funkcyjny da się łatwo wdrożyć na przykład część z nich mając takie źródło w jakimś researchu akademickim No pozostaje często trochę bardziej w tej sferze research nowej a nie w takiej wdrożeniowej jeśli tu się jakoś mogę odnieść do twojego pytania to chyba to było dla mnie takim zaskoczeniem że różny jest poziom adaptacji różnych języków A to wynika z zupełnie innych przesłanek niż te które twórca może miał na myśli czyli prawda projektując jakiś język projektowania wyobrażasz sobie że
bierzesz pod uwagę jakieś tutaj wymagania i ograniczenia i to wszystko się tam mieści później w twojej implementacji a praktyka wdrażania jakichkolwiek systemów informatycznych jest taka że a czy my znajdziemy ludzi którzy się znają na tych językach czy nie wiem czy to jest do utrzymania ze względu właśnie na potem Inżynierów którzy są w tym oswojeni jaki jest tooling wokół tego który pozwoli na observability tych systemów zupełnie inne czynniki decydują później o wdrożeniu bądź nie danej technologii niż jak sądzę gdzieś tam przyświecały autorom autorowi który tworzył i wcale nie pijemy to do haskala Nie nie ale dobra bo to pytanie musi paść może walnij tym pytaniem na początek i będziemy potem zbierać jakby co co nam wyniki tego pracowałeś długo WL Solutions i organizował konferencję bo już chyba nie jesteś częścią aktywną tej konferencji przynajmniej jako organizer bo jako gość to i prelegent cały czas z tego co wiem to tam się pojawiasz to powiedz mi jaka jest na chwilę obecną twoja opinia na temat języków funkcyjnych czy to była chwilowa moda czy to rzeczywiście jest realna wartość dodana ja się cofnę trochę tutaj do takich kilku jakichś punktów którym na przykład otwierały klapki w głowie że
o gdzieś 15 ponad lat temu mniej więcej maszyna wirtualna erlanga zaczęła multicore teraz Co to znaczy to znaczyło wtedy że takie procesy które były modelowane wangu jako niezależne PE w innych językach byśmy o tym mówili że to są wątki to są procesy one były w stanie już etapie tym wersji erlanga z lat 90 i na początku 2000 tak jakby w sposób izolowany mieć swój kontek swój stan i się wykonywać więc zawsze te programy były do tego żeby się niezależnie wykonywać na różnych rdzeniach natomiast dopiero właśnie około 2006 chyba roku prowadzono takie wsparcie w maszynie wirtualnej że ona była w stanie rozrzucać obliczenia na różne rdzenie bo wtedy to był czas Intel Dual Core już laptopach czy czy desktop i pamiętam że przy jakimś projekcie takim komercyjnym pracowałem dla klienta Jedyne co Zrobiliśmy to właśnie w tej nowej wersji maszyny nagle system przyspieszył o 1.6 raza bez żadnej ingerencji kod źródłowy czyli to
to był taki pierwszy moment Aha że jeżeli język Od początku ma pewną gramatykę pewny zestaw powiedzmy słów swój słownik taki który osobę która programuje kieruje do takiego modelowania programu że izolowane są pewne obszary że gdzieś ten stan jest enkapsulowany w procesie czy też obliczenia są właśnie w tym procesie jakoś ujęte niezależnie od innych procesów w systemie to potem kwestia skalowania tego na multicore No staje się dużo prostsza bo bo my już wykonaliśmy pewną pracę projektanta na etapie w ogóle zakodowania tego programu skoro język nam dostarczył takich i tylko takich narzędzi i teraz okazuje się że to była No dobrze przebrana lista takich cech tego języka bo ona pozwoliła nam od razu ten program uruchomić równolegle bez większego narzutu yyy Oczywiście są jakieś tam wąskie gardła i one przez kolejnych 15 lat były poprawiane więc skalowalność maszyny wirtualnej erlanga akurat współczesna jest pewnie jeszcze większa niż wtedy 15 lat temu ale to był taki Aha moment m i to jest pochodna tego że paradygmat funkcyjny jest gdzieś tam na podstawą do
do yyy D dla erlanga czy ta wtedy taka wieść wróżyli różni Wróżkowie że to będzie właśnie to PR że jak wejdzie multicor jak te rdzenie już będą w liczbie 16 32 to już muszą być języki funkcyjne i to będzie ten renesans języków funkcyjnych bo był taki okres kiedy się o tym dużo mówiło czy to zadziałało Myślę że w ograniczonym zakresie to znaczy dzisiaj jak popatrzy na technologie które się używa do pisania backend nawet na tych wielkich maszynach dziesiątkami rdzeni wcale nie jest tak że dominują języki funkcyjne one rzeczywiście pozwalają łatwiej modelować coś ale robienie chęci i wysiłku inżynierowie zawsze są skłonni włożyć wszystkie inne właściwie technologie które były obecne w latach 2000 dalej są w użyciu nie zostały wyparte przez jakiś paradygmat funkcyjny dobrze część ludzi jest trochę tak laikiem jak ja w temacie może nie do końca gdzieś tam Sebastian kazał mi się nauczyć wcześniej ale zaciekawiło mnie właśnie co powiedziałeś Nie no bo w zasadzie powiedziałeś że to nie jest tak że tam
wszystko co jest na bendzie to lata wangu nie ale to chyba raczej jest nawet drugą stronę czyli dla zwyczajnego śmiertelnika w IT i tak dalej to raczej jest nisza nie chyba że panowie Poprawcie mnie n n tak to pytanie trochę retrospektywne z twojego punktu widzenia Dlaczego to nie zaskoczyło w ogóle w takim razie trzeba byłoby tutaj zdefiniować Co to są kryteria sukcesów wedle których ocenił że nie zaskoczyło na przykład Jak popatrzysz na wyniki tych takich st overflow mówią nie Czyli tak Założyłem że nie zaskoczyło bo komercyjnie się nie spotykałem nigdy prawie co roku jeśli się nie mylę to jest overflow który taką ankietę przeprowadza wśród swoich użytkowników gdzie mierzą poziom satysfakcję z używania różnych języków technologii mierzą chyba też jak pożądani są eksperci w danych dziedzinach i od wielu lat są najlepiej opłacani specjaliści na świecie tam czy tam top 3 czy czy Top 2 więc z perspektywy osoby która się zajmuje tą technologią Wydaje mi się że on sukces bo bo jeżeli już znajdziesz jakąś robotę to nie nie możesz narzekać na wynagrodzenie ADC nie rośnie nie to zaczy się śie No bo
to i teraz Michał negatywny Jak to powiedziałeś Tak sobie pomyślałem czyli trochę jesteśmy na etapie takim jak przysło Programiści Kola nie co mi chodzi Jak już napiszę system to nikt mnie z niego nie wykopie trochę przekornie że tak powiem odpowiadam na twoje pytanie po to żeby właśnie sprowokować ten aspekt dyskusji mianowicie czy kryteria sukcesu mierzymy tylko ilością instalacji ilością osób zajmują Czy są jakieś inne może obiektywne kryteria jeżeli domena zastosowania akurat samego jest dosyć niszowa bo to są raczej backendowe systemy No ile też backendowy systemów powstaje verus na przykład jakś frontendowy mowy pewnie mniej więc tu trzeba sobie zdawać też sprawę że rynek tego tego segmentu softwaru pewnie jest relatywnie mniejszy w stosunku do jakiś innych zastosowań tutaj umieścimy odpowiedni obrazek żeby wszyscy wiedzieli jaki to jest rynek i gdzie to tam jest tak ja musz tak właśnie też trochę skontroluję to co powiedziałeś Michał bo rzeczywiście to że tam weszły mechanizmy WL Virtual Machine które umożliwiało to zrównoleglenie to rzeczywiście był trochę Game changer natomiast potem się okazało że te mechanizmy weszły też w in na innych platformach tylko one weszły
na innym poziomie abstrakcji czyli na przykład gdzieś koło 2010 roku po prostu w web serwerach nagle zaczęła być implementowana osobna pula na przykład wątków na obsługę requestów każdy request był obsługiwany czy niezależnie czy de facto uzysk ten sam efekt nie zmieniając języków programowania po prostu budując mini kontekst obsługi pojedynczego requestu teraz czy to jest idealne rozwiązanie nie czy to obsługuje wszystkie nie ale czy to jest jakby Good dla the internet Chyba jednak tak dokładnie bo mówimy ciągle o systemach które mają No nie wiem w porywach pewnie 128 rdzeni na jednej maszynie tak sobie mniej więcej kojarzy dzisiaj Co można wynająć na jakieś chmurze duża licz więc w systemach typu WhatsApp gdzie masz miliony użytkowników obsługiwanych na jednym na jednej wirtualnej maszynie Tol ma zastosowanie ale w przeciętnym produkcie projekcie Czy potrzebujesz utrzymać 1 milion połączeń TCP per VM pewnie nie Czy potrzebujesz tak szybko przerzucać kontekst pomiędzy jednym milionem jakichś maszyn stanowych które reprezentują stan użytkownika No Rzadko się to zdarza po tej erze powiedzmy właśnie multicore była Era iot Wszyscy
mówili że teraz iot to też był taki wezbrane wtedy takie przepowiednie typu No to to teraz jak iot wejdzie no to właśnie to jest ten US Case kiedy nam potrzeba właśnie miliona otwartych połączen ale dalej Wydaje mi się że nie nie jest taki Critical Mass ty tego problemu do rozwiązania żeby wszyscy rzucili czym się zajmowali do tej pory i zaczęli szukać jakichś alternatywnych rozwiązań więc to ciągle ma swoje pewne obszary zastosowań ciągle są jakieś nowe Community czy czy jakieś segmenty naszego rynku które w jakimś sensie odkrywają funkcyjne języki to są różne języki też trzeba sobie zdawać sprawę że Java c+ plus Python One wszystkie uzyskały te funkcje języka cechy języka które pozwalają na programowanie w takim podejściu funkcyjnym bo już nie pamiętam teraz konkretnych lat ale w ostatnich 10 latach Każdy z nich dostały wsparcie dla order functions czyli przyjmują inne funkcje jako argumenty dla funkcji anonimowych No cały ten taki lambda kalkulus który na podstawie którego modelujemy jakiś program jest już wspierany przez wszystkie większe języki typu Java czy c+ plus węc to się gdzieś wszystko miksuje
Nie ma takiego jednego trendu 0 je nigdy pewnie nie ma z niczym nie ma takiej wydaje mi się też po prostu masy krytycznej problemów biznesowych które trzeba było zacząć zupełnie inaczej rozwiązywać niż do tej pory i to co zasugerował Czyli że wystarczyło zrównoleglić obsługę tych wątków w web serwerze żeby wykorzystać maszyny wielordzeniowe to jest good A powiedz mi a czy ty widzisz coś takiego na horyzoncie co by się rzeczywiście miało dziać na przykład nie wiem zwiększenie adopcji i R 10 akur tak było Mał precyzyjne 5 cokolwiek innego coś takiego co potencjalnie mogłoby spowodować taki renesans języków funkcyjnych że on rzeczywiście przeżyłby prawdziwy bum to zróbmy tak najpierw jeszcze jeden taka dygresja o jednym z języków funkcyjnych o języku skala który jest uruchamiany na j na Java ten język Wydaje mi się że odniósł relatywny sukces jeśli popatrzyć na po całą rodzinę języków funkcyjnych to skala relatywnie na przył na Google Trends porówna kilka różnych języków to skala wychodzi na taki jeden z bardziej popularnych
języków funkcyjnych dalej nie jest Może powszechnie stosowany wszędzie język ale wiele jest implementacji w różnych firmach o których one publikował czy webinary czy wykłady i sukcesem wdrożonych takich implementacji skali sukces Podejrzewam że tego języka pomijając oczywiście całą jakąś tam kwestię merytoryczną polegał między innymi na tym że On wspiera i paradygmat taki obiektowy imperatywny i ten funkcyjny dzięki temu ktoś kto go próbował wdrożyć jakieś biblioteki czy czy prog czy pisać Jakieś fragmenty systemu skali mógł też dalej korzystać z całego dobrodziejstwa ekosystemu jav nowego to akurat pewnie mogło z kolei powodować że nie było jednej takiej konwencji przyjętej to jak w tej skali programować skoro ona wspiera wszystko i pewnie tu się mógł trochę robić bałagan ale jednak jeśli chodzi o adopcję bo teraz na tym się skupiamy czemu nie ma większej adopcji na przykład to podejrzewam że skali pomogło Czyli jeszcze raz po pierwsze że była na jvm czyli miała dostęp do całego ekosystemu jav nowego i po drugie że ta bariera przechodzenia z jakieś z jednego stylu programowania na inny No nie była Skokowa tylko można było sobie tak trochę ją
oswajać nie twierdzę że to prowadził akurat do takich łatwo potem utrzymywanych kodów ale ale może łatwiejsze żeby przekroczyć tą mentalną barierę No wspomniałeś trochę wcześniej że fajnie Działają te języki funkcyjne ale w konkretnych niszach i no i ty komercyjnie działała wangu przez tamte 15 lat więc i wy działali chyba trochę jako software House ale też mieliście swój własny produkt bo chyba monus chyba jest Solutions i tak dalej nie pamiętam innych to teraz powiedz jakbyś mógł trochę powiedzieć bo nie każdy też musi wiedzieć jakie są faktycznie te nisze gdzie te języki funkcyjne to jest Nie wiem primary Choice zaczy powiem Najpierw bo mi pewnie najłatwiej przywołać jakieś przykłady chociaż z sprawę że jest to stosunkowo mało popularny język tam rdzeń korzenie tego języka wywodzą się z Telekomunikacji i faktycznie Wiele firm z którymi współpracowaliśmy dalej Pewnie współpracuje mają takie jakieś korzenie bankowo telekomunikacyjne czyli takie w których systemy są transakcyjne i istnieje dużo równoległych jakichś operacji które te transakcje przeprowadzają No to też jest kasus WhatsAppa poniekąd Gdzie jest wiele równoległych jakiś rozmów transakcyjnie
się odbywa zarządzanie tymi tymi operacjami takich zastosowań pewnie nie jest dużo znowu jeśli policzyć to relatywnie ich nie jest dużo natomiast to są duże wdrożenia czyli wszelkie jakieś operatorzy telekomunikacyjni którzy integrowali sprzęt erikssona eriksona czyli firmy która wyprodukowała Pewnie mieli naturalny sposób łatwiej może implementować jakieś rozszerzenia żeby adaptować te sprzęty do swoich sieci szkieletowych właśnie oprogramowan nowe czy inne o takim transakcyjnym charakterze pozwalało to na No skalowanie tych systemów do wielu wielu operacji na sekundę na przykład myśmy wdraża to w tak zwanych RTB Real biding czyli w branży adtech gdzie potrzeba w ciągu kilku rozstrzygnąć aukc na reklamę na powierzchni reklamową to też tring dosłownie masz budżet kilku milisekund żeby podjąć decyzję i to nie ma możliwości żeby coś się opóźniło nie są to real time Systems takie które sterują robotem żeby mieć świadomość tego że to nie jest poy tego typu wymaganie
aleem najbard zowy obsz Systems to nie jest coś co Każdy potrzebuje ale w tych większych instalacjach backendowy na pewno to się przydaje później na bazie erlanga powstał eliksir czyli język który inspirowany trochę bardziej współczesnymi nowoczesnymi językami programowania grubi kładący Mii dużo większy nacisk na developer Experience zdobył ogromną popularność relatywnie do erlanga cały czas poruszamy się w tych powiedzmy kategoriach ja dzisiaj jak Czytam sobie jakieś artykuły takie które traktują o tym właśnie jak wygląda współczesne programowanie funkcyjne to eliksir jest już wymieniany jako jeden z tych takich mainstream Fun program obok skali hasel czy czy mamy inny tutaj taki trochę kasus przykład elir jako bardziej taki General purp prage DJ uruch mający dużo ekosystem pakietów różnego toolingu wokół niego i adopcja jest podejrzewam wielokrotnie większa niż erlanga jeśli patrzymy na
jakieś nowe projekty które powstają nie te historyczne które działają od wielu lat Nawet w ostatnich dwóch trzech latach dostał mocne wsparcie dla Machine learningu i w tej niszy próbuje się rozpychać łokciami to też jest dosyć ciekawe tutaj taki szybki No dygresja bo to akurat zali autor języka eliksir wiele razy to wspominał że dlaczego co go sprowokowało że zaczął adaptować język eliksir do takich zastosowań Machine learningowych A no bo w jakimś wykładzie czy czy lekturze autorów takiego akceleratora dla języka Python który jest w stanie znacząco przyspieszyć obliczenia na GPU tpu przeczytał że no Pythona używają ci autorzy te tej biblioteki akceleratora ponieważ jest to najbardziej powszechna biblioteka w tych zastosowaniach Machine learning ale to by jak ulał pasował język w paradygmacie funkcyjnym on w lekturze tego jakby trochę dał się sprowokować No to dobrze to spróbujmy udowodnić że eliksir Rzeczywiście jako język funkcyjny pasuje na razie oczywiście to to jest tam nie trzeci czwarty rok kiedy eliksir jest
dobrze przystosowany do takich learningowy Python był używany od nie wiem 15 20 lat do researchu więc nie ma mowy o tym żeby to było je do je porównanie jeśli chodzi o adopcje ale jest to prze ciekawy nowy trend Machine learning pisany w eliksirze więc tutaj mamy już jakiś drugi obszar tak potem mamy całą klasę właśnie języków typu closure który jest wykonywany na jvm Skala któ jest wykony czy języków które pozwalają przejść na trochę inny model akcyjny jak modelujemy jakieś skomplikowane czy procesy czy jakieś systemy to może ten paradygmat funkcyjny łatwiej zapisze w bardziej takiej skróconej formie bardziej zwięzłej formie to co modelujemy i w różnych na przykład bankach nie systemy antyspamowe systemy do wykrywania jakiś defraudacji właśnie są pisane Czy w hasel czy w Closer bo te języki pozwalają na inny sposób modelowania tak tych procesów które które tam są potrzebne więc tutaj Byśmy może powiedzieli że takie modelowanie matematyczne Gdzie potrzebne są na przykład dowody
automatyczne kodu który się pisze albo takiego dużo wyższego rzędu abstrakcje które pozwalają w jakiś taki sposób modelować te skomplikowane systemy to bym też zakwalifikował tutaj taką niszę dla języków funkcyjnych tak jesteśmy generalnie mocno statystycznie że tak powiem rozjechani bo ty działaś wangu przez wiele lat ja pisałem rzeczy w eliksirze więc to raczej nie reprezentujemy powiedzmy statystycznie społeczeństwa odpowiednio ale może też wyjaśnimy jedną rzecz poproszę cię o odpowiedź na jedno pytanie no dobra czyli tak generalnie w pewnych niszach tych językach funkcyjnych się działa ale mimo wszystko nie firmy się boją często nie chcą tego robić nie chcą w to wchodzić jakbyś trochę powiedział o tych praktyczny adop język funkcyjnych czy Dlaczego firmy tego nie robią albo dlaczego mają z tym trudności to był jeden z takich też moich Aha momentów którymś momencie współpracowaliśmy z różnymi amerykańskimi firmami które musiały bardzo szybko dostarczać i iterować produkt projekt i tam myślenie było takie że potrzebujemy na przykład wypuścić wersję więc bierzemy to co mamy jeśli chodzi o kadry zasoby technologie jakieś
biblioteki i budujemy wersję 1.0 teraz ona odnosi sukces w związku z tym jest nowa runda finansowania możemy teraz sobie pozwolić na zbudowanie wersji 2.0 możemy właściwie wyrzucić wiele rzeczy do kosza napisać od nowa bo nas stać na to żeby teraz w czymś innym napis i wtedy decydują zupełnie inne czynniki niż właśnie taki prawda architekt który siedzi gdzieś przy tablicy i zastanawia się jaki optymalnie dobrać nie język C czy technologię dla tego problemu który modelujemy decydują czynniki takie mocniej biznesowe Innymi słowy może na przykład wersja 1.0 powstanie w eliksirze bo tam było kilku takich mocnych zawodników którzy potrafili to szybko w tej wersji 1.0 wytworzyć ale potem jest to wyrzucane do kosza jest wszystko przepisywane od nowa w javie bo łatwiej nam będzie na przykład pozyskać kadry do zarządzania i utrzymywania tego systemu na przyszłość więc nie ma Wydaje mi się przynajmniej w niektórych firm takiego przywiązania do jakieś technologii takiego wręcz ideologicznego decydując strict takie biznesowe czynniki i oczywiście tylko jak pytanie jest w związku z tym co decyduje no właśnie na przykład decyduje
dostępność potencjalnych pracowników kadr które już mają jakieś z tym doświadczenie niby w tych kręgach funkcyjnych ciągle wszystkim próbujemy tłumaczyć no Ale słuchajcie każdego da się języka funkcyjnego to zatrudni dobrego inżyniera i możemy go nauczyć dowolnego języka funkcyjnego ale wydaje mi się że jest duży opór taki w biznesie żeby właśnie podejmować takie ryzyko jak my to potem utrzymamy tak kto dla nas będzie pracował żebyśmy firmy na przykład mogą chcieć trochę przed takim może wyimaginowanym ryzykiem ale jednak jakoś zabezpieczać to trochę skręcę Wiesz co trochę poboczny wątek od tego co powiedziałeś Bo ja w swojej karierze Miałem coś takiego że kilku ludzi przekonywał żeby się czymś zajęli nie to trochę tak od strony właśnie leadership i tak dalej ale to tak tak zwana uczciwa odpowiedź Czyli masz młodego człowieka i wiesz że macie projekt który tam może umrzeć i coś takiego i No musisz znaczy chcesz go przekonać do tego żeby jednak zainwestował czas i nauczył się czegoś co jest tak niszowe nie to to się wydarza w ogóle masz argumenty dla niego Dlaczego powinien w to wejść Nie no bo to jest takie to co powiedziałeś Nie bo to jest jajko i kura pod tytułem startupy potem się przesiadają na coś
nie I teraz ten człowiek masz takie śwież świeży narybek i musisz mu powiedzieć Słuchaj stary Naucz się tego erlanga będzie fajnie nie Ale z drugiej strony tak jak mówisz to nie jest do końca tak fajnie bo gdzie on będzie czy on ma środowisko w którym się odnajdzie Czyli jak byś przekonał młodego człowieka do tego żeby jednak to wszedł w takim wypadku jak mówi że to jest problem zasobowy przez wiele wiele lat odpowiadałem za polski oddział jako taki po kierujący operacjami też musiałem ciągle gryźć z tematem Jak znaleźć chętnych do tego żeby nawiązać współpracę z nami właśnie potem się specjalizować w tych technologiach które myśmy sprzedawali i jedyną taką formułą którą mi się udało wypracować która była skuteczna to było rozłożenie tego procesu przekonywania i rekrutacji na rok d lata i oferowanie po prostu takiego środowiska gdzie każdy może przyjść i się czegoś dowiedzieć nauczyć czasem czyli Zaczęło się od jakichś meet upów potem jakichś warsztatów potem potem praktyk i ten Nazwijmy tak marketingowo lejek osób które się interesowały prawda na początku No to
nie wiem było 10 potem z nich zostawało trzy a na końcu jedna chciała faktycznie podjąć zatrudnienie więc przełożenie do Dla M była ogromna skuteczność działań takich rekrutacyjnych czyli z 10 adeptów języka funkcyjnego zostawał na końcu jeden który chciał faktycznie temu poświęcić uwagę karierę może jakąś swoją początkową ale to się odbywało właśnie jako taki taki proces dłuższy i no i wtedy można powiedzieć że zawsze się znajdzie ktoś kto na przykład zaskoczy że to go interesuje bardziej niż coś innego Czy to jest kwestia samego języka czy firmy Czy otoczenia osób które spotkał Nie mam innej recepty takiej że wystarczy powiedzieć te trzy Magiczne słowa i ludzie nagle skręcają z myśleniem ja się trochę uśmiechał chłopaki też chyba tego nie słyszeli ale ja mocno wizualnie myślę jak coś słyszę to mi się ten jak o tym opowiadałeś taki film jest ready Player one i tam człowiek przechodzi przez liczbę questów ukrytych w różnych miejscach i na końcu czeka na niego Wizard z wielką nagrodą tak sobie wyobraziłem że przepuścił ich przez taki młynek i na końcu Czekasz i mówisz no stary już TR lata inwestujesz w tego erlanga tutaj jest owa Tak wracając J tych praktycznych wyzwań bo no tak niewiele osób zna już
te języki na rynku to jest jedna rzecz Druga rzecz to jest chyba też wielkość ekosystemów bo te często to są dosyć mało popularne języki to chyba tam też biblioteki to czasami jest tym problem z dużą żeby tych Była odpowiednia ilość żeby nie trzeba było pisać from Scratch tak mi się wydaje Kolejna rzecz to jesto biek to używało się powszechnie jakichś web serwerów i tak dalej to też nie było tego dużo zgodność w ogóle z sdk popularnych nie wiem platform Now jakiś chmurowych tak żeby gdzieś rozwijać już istniejące oprogramowanie w takim języku funkcyjnym to też jakby z mojej perspektywy jako cto firmy które działała firm w języku małop popularnym funkcyjnym to też było takie ograniczenie też był taki problem z którym ja się starł powiedziałbym że z mojej perspektywy też pewnym problemem było to żeby zmusić trochę ludzi do myślenia funkcyjnego jednak ludzie część ludzi ma inklinacje mocno obiektowe i chociaż na początku było bardzo dużo entuzjazmu bo ja akurat byłem w firmie które Programiści pisali w ruim Rubi jest obiektowy i potem tak sam powiedziałeś Jose valim przeniósł ten powiedzmy wygodę i developer Experience rbi go do eliksir natomiast no eliksir jest bardzo mocno na podłożu erlanga i pod spodem
działa ten Virtual Machine czyli z jednej strony składni rubiego tak z drugiej strony jak już chcesz zadow skomplikowane struktury danych gdzieś punktowo coś zmienić to musisz nagle przyswoić jakąś część matematyki związaną z tym że takie się robi Lami dlatego że struktury dany i robi się to zupełnie inaczej niż to wcześniej więc jeszcze miałem tego typu obserwacje a takie pytanie dygresja jak to jest twojego doświadczenia Michał czy ludzie którzy pracowali w jednym języku funkcyjnym to potem łatwiej jest im przejść w ogó chcą przechodzić adaptować jaką UŁ sobie zarysować bo mnie sprowokował tymi różnymi swoimi opiniami tutaj takie myśli mam nadzieję że to odpowie koniec końców najemy uwagę d montażysty taka czerwona płachta z bykiem rola [Muzyka] prowokować osoby które się w kręcą w programowanie funkcyjne na ogół są potem bardzo takie przekonane one już wiedzą jakie są korzyści z takiego podejścia do modelowania y jakichkolwiek procesów problemów dlaczego ten model mentalny który trzeba sobie zbudować w głowie żeby manipulować jakimś programem jest dla nich łatwiejszy do do przechowywania
w pamięci podręcznej mózgu i potem właśnie zawiadywanie całym tym stanem który próbują modelować m i i w związku z tym przekonanych nie trzeba przekonywać drugi raz oni już będą sami poszukiwać czy to innych języków funkcyjnych Czy w nowych jakichś zadaniach zawodowych też szukać okazji do tego jak wykorzystać taką wiedzę pytanie jest trochę jak w ogóle wyrazić taką gdzie to jest problem Który język funkcyjny faktycznie rozwiązuje bo to nie jest oczywiste Jeżeli patrzymy na dwie implementacje nie wiem obojętnie nie będzie elik i w Rubin one nie będą jakoś znacząco różne więc trochę trudno powiedzieć No to gdzie tu jest ten Smaczek który powinien nas zachęcić do adaptacji jednego adopcji jednego czy drugiego cofnę się teraz bardzo 1977 rok i John Bakus dostaje nagrodę touringa Czyli taki trochę Oskar w branży IT Bakus możecie kojarzyć nazwisko z bnf takiego skrótu Jeżeli ktoś studiował i musiał tworzyć gramatyki języków programowania to pewnie używał notacji bnf Bakus normal form a John Bakus to Autor tej notacji i on w swo tak przemówieniu wykładzie z okazji otrzymania nagrody
krą otrzyma za stworzenie języka for k WCH czasach był najbardziej popularnym językiem zdobył popularność ponieważ był jednym z pierwszych języków który na większym poziomie abstrakcji pozwalały na pisanie programu jego wykład był mniej więcej taki że Przepraszam was za tego fortrana to w ogóle nie tędy droga tytuł tego wykładu Style i cały wykład poszedł w tą stronę czyli że języki w jego takim powi wyobrażeniu imperatywne byśmy dzisiaj powiedzieli koncentrują się na manipulowaniu danymi w taki ograniczony sposób jak ten von New Style komputera Czyli że jest pamięć jest procesor dane muszą być przesyłane cały czas między pamięcią a procesorem i ta szyna przesyłania tych danych to jest taki wąski wąskie gardło wszystkie języki programowania próbują jakoś manipulować tym stanem i go z powrotem zapisywać do pamięci i z powrotem go odczytywać i z powrotem go zapisywać i że to w ogóle nie tędy droga i że żeby móc się oderwać od tego architektury sprzętowej w a zacząć mu modelować programy
bardziej na podborzu takim matematycznym który ma inne zupełnie prawda wtedy też jakość tych praw prawideł twier których się opieramy dlaczego to w ogóle zadziała to trzeba pójść w kierunku modelowania języków funkcyjnych gdzie mamy kompozycję funkcji i i że łatwiej w ten sposób jest modelować I teraz ten wykład pewnie mało kogo przekona jakbym to w ten sposób jakoś próbował wytłumaczyć więc trzeba szukać innych sposobów do tego żeby gdzieś ten ten Smaczek pokazać czasem przywołujemy taki przykład że przecież jak się w unie kiedyś w linii poleceń programował No to są to takie malutkie specjalizowane programy które przy pomocy łączysz z tego można budować bardzo skomplikowane programy ale każdy jeden mały składowy typu nie SET C cokolwiek jest bardzo specjalizowany i prosty wyobrażeniu czyli programista na przykład narzędzia awk nie ma jakiegoś większego problemu psychicznego żeby to ogarnąć ale użytkownicy Tych iluś tam takich narzędzi są budować bardzo skomplikowane już systemy z tych małych składowych ja widziałem polecenia Na które tak
przyprawiał problem psychiczny także tam można cuda zrobić no ale okej Tak No nic trochę tutaj dużo różnych degresji ale mnie sprowokował do tego żeby właśnie spróbować pokazać że nawet tam w latach 70 prawda ktoś taki który otrzymuje nagrodę touringa gdzieś tam taki ma potem później moment Aha że właś to trochę o to chodzi w tym modelowaniu Zresztą jego wykład który był No poniekąd kontrowersyjny ale ale prowokujący wygenerował cały taką jedno pokolenie naukowców które potem w latach 80 zaczęło się zajmować właśnie językami funkcyjnymi i to to dlatego potem mamy Miranda hasel które powstawały bo to trochę jest taki odprysk między innymi tego wykładu Bakus Michał to ty powiedziałeś że sprowokował to teraz ty sprowokował aleś mnie A długo siedziałeś w tym Community i jeszcze organizował konferencję i na tą konferencję nie przyjeżdżali lowcy ale właśnie przyjeżdżali ludzie od skali przyjeżdżali ludzie od Closer od f Sharpa Wiem bo byłem Czy ty nie widzisz w tym pewnej linii podziału że jest jakaś część ludzi która jest bardzo mocno matematyczna bardzo mocno teoretyczna i nigdy w życiu niczego nie
skomercjalizować paradygmat funkcyjny ale to ich w sumie nigdy nie interesowało po prostu tak wyszło dlaczego tak mówię albo skąd ten wniosek ten wniosek to jest stąd że jak ja słuchałem na przykład Roberta wiring albo Joe Armstronga to to miałem takie wrażenie że właśnie to są żadni matematycy to są bardzo Hands on engineers i że im to programowanie funkcyjne wyszło przy okazji i to im wyszło trochę eksperymentalnie i oni w życiu nawet chyba Znaczy oni słyszeli Co to jest monada dobra przesadzam ale ale pewnie o tej monad to się dowiedzieli 10 lat później podczas gdy jest ta druga osoba na przykład właśnie druga grupa z Filipem werem i tak dalej która tak naprawdę tak wjechała w tą matematykę że przysłoniła im wszystko inne i w związku z tym tak Koniec końców to ten hask to się w ogóle nie nadaje do tego żeby cokolwiek wdrożyć na produkcję i teraz ta linia że jest jakieś w ogóle połączenie między tymi hardkorowym matematykami hardkorowym matematycznymi językami funkcyjnymi a tymi bardziej praktycznymi typu to to połączenie to jest trochę przypadkowe nie masz takiego wrażenia tej dychotomii w w tym tym tym landskap świetnie chyba uchwycił temat żeby jakoś go zilustrować to to przytoczę taką historię z poprzedniego roku zostałem zaproszony już rzeczywiście od jakiegoś roku czy dwóch nie angażuje się bezpośrednio w organizację konferencji lambda Days tam pierwsze 9 10 lat byłem takim
przewodniczącym tego Komitetu programowego i mocno Się angażował w organizację na 10 lecie zaproszono mnie żebym wygłosił kin właśnie taki podsumowujący trochę te 10 lat konferencji miałem duży zgryz jak trochę jak to rozegrać bo wcale Ja nie jestem jakimś tęga głowa matematyczna czy funkcyjna ja nie programuj w haskellu nie do końca nawet rozumiem większość tych różnych abstrakcji które w haskellu są i dyskutowane na konferencji rzeczonej a z drugiej strony jakby Rozumiem tą taką podstawową istotę Dlaczego modelowanie przy pomocy funkcji a potem kompozycja funkcji to jest to jest tak proste ale też takie mocne i wygodne Więc ugryzłem temat w ten sposób że parafrazując trochę tytuł bardzo popularnego wykładu Johna h functional programming Matters to jest taka taki znany artykuł który kiedyś popełnił tytuł mojej prelekcji był Fun programming Matters bo no to B od 7 lat się zajmuję też nauką programowania dzieci i nawiązanie współpracę z jakimiś szkołami podstawowymi prowadzę po prostu takie
zajęcia regularnie z dziećmi od siódmego roku życia wzwyż w szkole podstawowej i tam eksperymentował też właśnie z nauczaniem języka funkcyjnego bo dzieci nie wiem w klasie czwartej piątej szóstej mają już intuicję matematyczną bo liczą pole kwadratu obwód trójkąta może nie nazywamy tam tego funkcją bo się odeszło od tego w podstawie programowej żeby nie nazywać tego funkcją ale intuicję matematyczną mają i i robiłem taki projekt na przykład z grupą dziewczyn gdzie przygotowywaliśmy podchody szkolne i modelowy właśnie w języku funkcyjnym tam kolejne jakieś takie stacje zagadek które mieli rozwiązywać nie było absolutnie żadnego problemu z wytłumaczeniem tego co się dzieje Oczywiście mówimy o takim mocno przeze mnie wspieranym procesie uczenia tak Czyli to nie jest tak że ja im dałem książkę one sobie przeczytały i popełniły potem jakiś większy program Ale bardzo łatwo łapałem taki kontakt merytoryczny z nimi odwołując cały tej intuicji prostej matematycznej jaką mają w tym wieku uczniowie czyli mówimy o 10 12 lat No i i tu to mnie na przykład tylko utwierdzały przekonaniu że naprawdę trochę tędy droga bo bo bez
większego wprowadzania jakieś tu dziedziczenie to jakieś modelowanie to jakieś Stan bez takiego po prostu całego tego aparatu który trzeba pochłonąć żeby zacząć programować w jakimś języku takim mainstreamowy współczesnym byliśmy w stanie pisać dosyć skomplikowane programy i to to jest na razie taki mój konik trochę już na na boku w sensie Zawodowo zajmuję się jedną rzeczą ale równolegle zajmuje się nauczaniem tego młodszego pokolenia i cały czas próbuję eksperymentować z wykorzystaniem języków funkcyjnych do tej nauki na razie nie twierdzę że coś odkryłem raczej się inspiruj innymi akademikami którzy podobne próby czynią różnych języków funkcyjnych używając na takim etapie edukacji właśnie i więc próbuję jakoś adaptować do do realiów polskich Ale to jest dla mnie bardzo obiecujący kierunek więc wracając tutaj trochę do tego podziału wykład mój koniec końców trochę właśnie nawiązywał do mojego doświadczenia uczenia dzieci trochę był taką szybką przebiezki po 10 latach co mnie inspirowało w kolejnych edycjach lambda Days starałem się utrzymać ten wykład na poziomie bardzo takie entry w sensie że ktoś kto przyszedł na tą
konferencję jest 9:00 rano wypił jedną kawę żeby dało się to tak wejść w tą konferencje ale przywoływał różne takie właśnie smaczki No i potem każdy prelegent dostaje Feedback od swojej widowni tam są konkretnie ocenione różne aspekty tego co się podobało co nie i feedback dostałem albo skrajnie entuzjastyczny świetne super ciekawe w ogóle niesamowite albo to był wykład na języki funkcji to jest konferencja o językach funkcyjnych prawda gdzie tutaj te wszystkie abstrakcje gdzie to mięsko takie teoretyczne i matematyczne i dostałem więcej po połowie plusów i minusów za taki k otwierający bo ludzie przychodząc na tą konferencję oczekiwali pewnie autora języka hasel że tutaj ich No zmęczy trochę ich umysł jak nie ma teorii kategorii to się nie liczy a tu może jak już opowiedział trochę właśnie o lambda Day o konferencji to No miałeś perspektywę na Community bo jednak to Community się zjeżdżało nie tylko z Polski tam zjeż zjeżdżały osoby z Europy ale też z całego świata i jakbyś powiedział Trochę Jaka jest twoja perspektywa na to Community czy ona według ciebie w jakim on jest etapie on jest stabilne on się rozwija zwija może w jakimś stopniu ewoluuje w jakimś kierunku na pewno są jakieś trendy
trochę tak jak też w naszym szeroko pojętym programowaniu czy branży IT w sensie Jakie rzeczy są bardziej modne potem są mniej modne w kolejnych latach Ciekawe Dla mnie to że pik jeśli chodzi o zainteresowanie konferencją mieliśmy około 2017 roku Może to był akurat zestaw prelegentów których nam się udało ściągnąć może coś innego ale to była najbardziej uczęszczana w sensie najbardziej licznie uczęszczana edycja konferencji i później ona się utrzymuje cały czas na dobrym poziomie ale już nigdy nie osiągnęła tego poziomu z 2017 roku czy to jest jakiś nie wiem sygnał że wtedy to był PiK i już teraz spada Nie sądzę ale było chyba jakieś takie małe przesilenie jeśli chodzi o oczekiwania w stosunku do może skali może haskala może czegoś które powodowało coraz to rosnące zainteresowanie a potem jak w tej takiej typowej krzywej jak jest jakiś Hype to potem jest taki moment prawda Oświecenia i i taki lekkie wypłaszczenie nie wiem czy trafnie interpretuje ten ten moment w historii w ostatniej ale patrzyłem sobie z ciekawości na Google Trends też jak i rzeczywiście około tych lat 2016 17 18 jest pik przeróżnych takich języków funkcyjnych tych Google Trends Lines węc coś musiało
być i jestem w stanie jednoznacznie stwierdzić czy to był jakiś nowy język czy to że na przykład języki typu Swift Kotlin one dostały też te funkcyjne elementy właśnie czy Java Teraz wydaje mi się że powiedzmy nie ma jakiegoś takiego mocnego trendu że że jest Hype na te języki bo coś natomiast jest na pewno stale rosnąca grono użytkowników nie wiem powiedzmy jak to się rozkłada w poszczególnych społecznościach ale jeśli popatrzymy na na przykład widownie lambda Days tam ciągle zjeżdżają się i f sarp nowcy i daow i skalowy i erlang nowcy eliksir nowcy i lisp nowcy i akademicy i dalej jakby miks tych różnych społeczności jest taki jaki od samego początku towarzyszył w ogóle założeniu konferencji czyli żeby nie próbować się koncentrować na jakiejś jednej małej niszy Tylko że próbujemy zderzać wszystkich entj języków funkcyjnych i do tego jeszcze próbujemy zderzać ich z akademickim środowiskiem a Akademickie środowisko próbujemy otwierać na to przemysłowe środowisko to to akurat mi się wydaje że się nieraz całkiem fajnie udało bo wiele osób które z przemysłu przyjechało na tą konferencję potem słuchało wykładów akademików i było zainspirowanych różnymi takimi research
nowymi tematami i w drugą stronę ci research prowadzący akademicy mieli w ogóle okazję zobaczyć się wdraża IT w praktyce więc raz mówiąc nie ma dzisiaj na moje przynajmniej takiej obserwacje jakiegoś jednego silnego trendu a Duch w konferencji M Więcej jest taki jak się chodzi po korytarzu i słucha ludzie przyjeżdżają po to żeby się zainspirować innymi społecznościami więc to nie są też takie plemiona które potem każdy siedzi w swoim narożniku tylko ludzie poszukujący inspiracji na przykład a jak to skalowy robią jak tokow robią i potem próbujący jakoś sobie to głowie łączyć i adaptować do swoich potrzeb to wejdę w swój zwyczaj prowokowania cię A to nie jest tak też że to jest Ta społeczność się starzeje bo to są ludzie którzy się w ten temat Wkręcili wcześniej bo my po tym 2017 roku to Mieliśmy kilka różnych ważnych wydarzeń oczywiście była pandemia ale było też taki moment kiedy rynek pracy był tak totalnie rozjechany że była taka tendencja żeby jak najwięcej pakować neofitów czyli ludzi na przykład przebranżowić z innych branż i też pokazywać pran jest proste ułatwiać to programowanie i teraz języki funkcyjne mają pewnego rodzaju barierę wejścia bo tam jednak trochę tej matematyki jest trochę tego myślenia abstrakcyjnego jest
i teraz pytanie czy to nie spowodowało że akurat w tej części jeżeli chodzi o programowanie tych neofitów było mniej czy nie masz wrażenia że koniec końców w związku z tym Ta społeczność się trochę starzeje trochę zagiąłeś pyt demograf społeczności zastanawiałem nigdy o to powiem Trochę równolegle staram się odpowiedzieć taką anegdotą która może jakoś trafnie spuj to co pytasz jak zaczynałem swoją karierę jeździłem na konferencję stricte poświęconą erlang gowi to było pewnie niszowe wydarzenie w Szwecji w Sztokholmie w siedzibie eriksona na których przyjeżdżał nie może 100 osób i tam w kuluarach była też oczywiście dyskusja Jak zwiększyć adopcję ale ci Old często już siedzący w inżynierowie od wielu lat w temacie mówili ale właści po co nam większe comunity My tu jesteśmy my się znamy my to robimy właściwie po co d teraz więcej tutaj jeszcze speców tej technologii No i to było poy takie spojrzenie rzeczywiście konserwatywne nie nastawione na rozwój po czym powstał język eliksir
który zupełnie inaczej się otworzył na zup in społecz inny przekaz też trochę twórcy tego języka No i nagle cały ten taki Nazwijmy go beton został szybko skruszony No bo się okazało że właśnie ogromnie dużo można zyskać otwierając się na czy to młode pokolenie czy jakieś inne społeczności bo ta myśl tam inaczej kiełkuje inaczej kombinuje i natychmiast okazuje się że zastosowania chociażby rzeczonego erlanga które by do głowy nie przyszło tym inżynierom Oldtimer są są praktyczne są wdrażane firmy tego używają więc wydaje mi się że tak zawsze znajdziesz takich konserwatywnych którzy którzy będą Raczej starali się zostać przy tym co znają i jednak zawsze jakaś taka wymiana pokoleń jest która napędza t t innowację i coś nowego i to jest nie specyficzne dla erlanga czy eliksir na pewno też po innych społecznościach językowych tak samo to działa że jakiś czas Nagle jest jakiś nowy nurt który został sprowokowany przez jakiś zup No niespodziewany zbieg wydarzeń ludzi nowych którzy się pojawili i to to się wtedy Załóżmy że s kręci Natomiast wiem też że niektóre społeczności w sposób taki bardzo
świadomy próbowały budować to Następne pokolenie użytkowników były całe mocne inicjatywy właśnie sponsorujące Open Source nowe projekty sponsorujące takie praktyki darmowe bilety na konferencje dla studentów dla wszystkich takich którzy mają jakieś trudności jeśli chodzi o podróżowanie czy żeby ich nie było stać na bilet drogi więc jest według mnie też taki mocny Trend lambda jest też taki Trend zawsze staraliśmy się promować właśnie obniżania maksymalnie bariery wejścia dla wszystkich innych chętnych żeby spróbować zobaczyć chyba dużo w tym w tym czasie o którym mówimy to było inicjatywy o ile dobrze pamiętam z firm typu Facebook Twitter i Netflix i chyba to też bardzo mocno promowało języki funkcyjne bo bardzo mocno się mówiło że wiecie Giganci korzystają z tego typu technologii budują tego typu rozwiązania i to był chyba właśnie ten czas z tego co pamiętam gdzie tak jak mówisz Michał że zarówno wszyscy się chcieliśmy inspirować tymi firmami z jednej strony a z drugiej strony tak jak mówisz one bardzo wspierały projekty Open sowe pisane w tych językach bardzo często też na przykład skali Chociażby tak jest
taki fajny program Google Code którego byłem nieraz mentorem teraz jako pracownik Google też widzę trochę z drugiej strony jak oni mocno kładą nacisk na sponsorowanie i takie ulepszanie tej tego ekosystemu Open Source który co roku dziesiątki projektów sponsorował właśnie w tych którzy budowali jakieś fery czy jakieś brakujące elementy przez kilka miesięcy wynagradzają za to pieniężnie i to No budowało takie przekonanie że warto inwestować w Open Source czy akurat to jest specyficzne dla języków funkcyjnych Nie sądzę to raczej jest taki ogólny Trend żeby jakoś po pierwsze wzmacniać stabilność tego Open Source nowego ekosystemu a po drugie też budować większą grupę ludzi którzy których potem można zatrudniać na pewno to też jest jakiś argument biznesowy za tym i ja bym powiedział że i na kanwie tego typu trendów tak jak to słusznie zauważyłeś Wojtek też w językach funkcyjnych niektórych społecznościach też ten ten Trend został czyli na przykład były jakieś programy takie ramowe inspirowane przez twórców języka czy przez jakieś firmy wspierające ten Core Development właśnie w kierunku sponsorowania studentów czy jakich
projektów Open sowy No właśnie a okej działasz Teraz Michał w branży meteorologicznej bo w Googlu pracujesz nad chmurą ale Załóżmy że coś Zrobiłbyś hipotetycznego i chciałbyś założyć jakąś firmę jakiś nie wiem startup na przykład Ja wiem że firmy są różne problemy Rozwiązania są różne i te problemy dobrze jest dobierać pod technologię ale czy tak już ogólnie mówiąc gdyby właśnie doszło do tego że trzeba wybrać jakiś stak technologiczny jakiś język programowania i tak dalej to byłbyś More in żeby jednak iść w kierunku funkcyjnym czy raczej z różnych powodów szukałbyś rozwiązania może jednak nie funkcyjnego bo na przykład po tych swoich lekcjach ZL Solutions to widzisz że t więcej minusów niż plusów czyli jaki bas by tutaj w tym momencie u ciebie wszedł Tak jestem teraz na takim stanowisku przetykacz tykam chmury znaczy tak z takiego bardziej
zacietrzewienia jakie może miałem 10 lat temu że to jest to to jest ta technologia tylko tym się zajmujemy pewnie się odzywają wtedy jakieś takie atawistyczne ludzkie potrzeby tego żeby być przynależnym do jakiegoś plemienia jakiegoś społeczeństwa jakiegoś takiego sobie znanego sobie znanej grupy ludzi z tego Już wyrosłem i stałem się takim bardziej pragmatykiem próbującym oceniać rż więc widząc też te procesy decyzyjne w firmach to już parę razy o tym wspomnieliśmy prawda że często te czynniki biznesowe będą decydować to wydaje mi się że zmierzył bym trochę apetyt na taki na taką trochę trochę ryzyko z tym związane Czyli że byłoby mniejszy zespół jest w stanie wytworzyć szybciej złożony system mniejszy zespół jest w stanie pozyskać pewnie na początek osoby które już się interesują takimi technologiami A często to są osoby o też pewnym skillu inżynieryjnym bo skoro już same poszukują i znajdują takie technologie często to jest No właśnie ktoś z takim z
ciekawością A gdybym ja chciał dzisiaj Zbudować swój zespół od zera pewnie bym przede wszystkim szukał ludzi którzy są ciekawi szeroko pojętego świata ale też różnych technologii którzy są otwarci bo wtedy wiem że byłbym ich w stanie przekonać albo nauczyć dowolnej technologii czy języka którego byśmy potrzebowali użyć i wśród tych społeczności języków funkcyjnych bardzo często właśnie takich ludzi spotykałem otwartych ciekawych bardzo nowości świata i to to to byłby dla mnie taki czynnik decydujący Jak zbudować zespół No a w biznesowi musiałbym trochę wytłumaczyć Jakie są ryzyka za i przeciw i ja tych Ryzyk Nie oceniam jako jakiś krytycznych bo tak jakby moje doświadczenie uczenia i budowanie zespołów jest pozytywne nigdy nie mieliśmy problemu żeby zrealizować projekt który gdzieś byliśmy zakontraktowani do realizacji nie przypominam sobie jakiś większych wpadek związanych z tym że coś mocno przeszacowaniu i były albo wdrażane albo przynajmniej zrealizowane tak jak zakontraktowany więc podpierał bym się pewnie takimi przykładami biznesowymi w
których to się udało czy nie ma ryzyka związanego z samą technologią tak jak to już się powtarzam szukałbym ludzi otwartych na nowości No i na końcu ci co decydują Często też mają jakieś swoje doświadczenie i ono wpływa na ich też intuicję więc pewnie łatwiej jest wdrażać te technologie w firmach których na przykład ktoś już przeszedł podobną ścieżkę i sam mając za sobą na przykład jakąś karierę weiki że teraz będąc na stanowisku jakimś decydenta po prostu wie na co się mierzy No i czy czy to jest ten ten przepis na sukces nie wiem ale Odpowiadając na Twoje pytanie tak sobie to wyobrażam mhm ludzie lubią podglądać w czym działają inne firmy ja nie wiem czy ty możesz o tym mówić czy to w ogóle jest jakiś oficjalny Stens na ten temat natomiast Czy Google chwali się właśnie jakąś adopcją języków funkcyjnych i tym czy języków funkcyjnych używa się wewnętrznie wewnątrz Google nie Google się nie chwali nie nie mówi na zewnątrz za dużo o tym jak jakich technologii się używa do produkcji chmury czy innych produktów Google a z drugiej strony mamy
bardzo bogaty taki archiwum artykułów naukowych które są publikowane i z nich można bardzo wiele wyczytać przecież prawda powstały języki w Googlu typu go czy Dart i o tym jest dużo publikacji więc można mniemać że te języki są gdzieś używane też wewnętrznie można też patrzeć pewnie po ofertach pracy jaki rodzaju się szuka Skil znaczy ja sam na początku jak dołączyłem do Google oczywiście bardzo się interesowałem tym tematem to czy moje doświadczenie takie erl langowo eliksir nowe jestem w stanie to jakoś wtórnie wykorzystać w nowej roli więc Rozmawiałem z różnymi inżynierami którzy na przykład podobnie próbowali tą ścieżkę przejść i na pewno z tych publicznie widocznych repozytoriów widać że Google traktuje eliksir jako jeden z takich języków dla którego na przykład są automatycznie budowane wszystkie biblioteki do sdk do do chmury więc jest w tym sensie na przykład to wspierane czy to jest wdrażane No o tym ja nie mogę mówić ani nikt tutaj jakby się nie wychyli natomiast zupełnie inne jednak decydują na końcu kryteria niż to czy to jest język funkcyjny czy nie funkcyjny bardziej
chodzi o bezpieczeństwo tych technologii czy na przykład możliwość potem jakieś statycznej weryfikacji tych systemów więc jak Pewnie wszyscy pracujecie Przecież przy ogromnych wdrożeniach zdajecie sobie sprawę że im większy codebase Im większa grupa ludzi która nad tym pracuje to tym większe ryzyko Właśnie jakś takiej drobnej głupiej pomyłki która zaważy mocno o jakimś jakieś wpadce więc kładzie się duży nacisk na bezpieczeństwo właśnie analizę statyczną kodu na analizę potem tego J czy cokolwiek na czym to jest wykonywane po prostu Google ma już taką tradycję ogromne technologie z tym związane z bezpieczeństwem produkcji oprogramowania że że wdrożenie na przykład języka typu No nie wiem hask czy czy eliksir wymagałoby zbudowania też takiego aparatu produkcyjnego No i to jest to jest jakaś tam bariera Pewnie przy odpowiedniej skali dużej firmie może się nie opłacać ciekawe jest też to że te nowe rzeczy które wychodzą od Google ja to tak będę cię prowokował ciągle że d Gang czy ten ostatni język systemowy już nie p Jak się nazywa który którym też jeszcze nie produkcyjnie się tam Google gdzie gdzie chwali to to one nie idą mocno w tym kierunku funkcyjny tylko w trochę innych kierunkach tak miałem kiedyś taką rozmowę z profesorem z Oxfordu który się
specjalizował w językach programowania i No był na konferencji poświęconej językom funkcyjnym więc byłem trochę przekonany że on pewnie mnie utwierdzi w tym moim takim mniemaniu że języki funkcyjne górą No i zadałem właśnie pytanie Trochę tak jak ty mnie tutaj teraz Prowokujesz czy byś wybrał taki czy inny język i on mi powiedział że to absolutnie nie ma żadnego znaczenia co było dla mnie dużym szokiem bo jednak ciągle sobie próbuję prawda pokazywać że jednak ten funkcyjny paradygmat to to jest Nie wiem lepszy takie chwytliwe hasła jak Filip kiedyś naam Days powiedział że języki funkcyjne języki imperatywne zostały wymyślone a języki funkcyjne zostały odkryte No i to takie są slogany które oczywiście służą tylko jakiemuś tam Takiemu bardziej przykuci uwagi nie należy się do nich przywiązywać jakoś merytorycznie ale to mnie przez wiele lat karmiłowicz on w tym kontekście naszej rozmowy Wedy miał na myśli to że jeżeli Próbujemy uczyć kogoś w ogóle takiej gimnastyki umysłowej związanej z programowaniem modelowaniem takim abstrakcyjnym jakiegoś procesu to trochę Nieważne w
jakim paradygmacie to się odbywa to to wystarczy jako powiedzmy taki powód żeby kogoś nauczyć i oswoić się z szeroko pojętym programowaniem pewnie miał rację Ja Pozostaję przy swoim twierdzeniu że jednak łatwiej mi się modeluje w mojej głowie w takim funkcyjnym paradygmacie czyli taki małych funkcji i ich kompozycji później w jakieś większe struktury to jest Ja przy tym Pozostaję czas nam się powoli kończy ale mam jeszcze jedno pytanie zaparkowane które mnie szczerze mówiąc mocno nurtuje a o którym się chyba jakoś mało mówi hybrydy wspomniałeś o językach hybrydowych czyli na przykład językach które z definicji od początku były hybrydowe bo chyba skala była od początku hybrydowa a także o hybrydyzacji czyli na przykład wprowadzaniu funkcyjnego paradygmatu do języków imperatywnych które wcześniej były obiektowe albo nawet po prostu imperatywne czy to jest według ciebie teraz właściwe pytanie czy to jest według ciebie dobry Trend czy to nie jest Trend który na przykład zabił trochę języki funkcyjne albo sens inwestowania w języki funkcyjne i czy to jest dobry Trend Nie tylko z punktu widzenia ogólnie tego Community ale też rozwiązań na końcu No wyobraź sobie że masz szwajcarski taki nóż i potrzebujesz
pokroić chleb i teraz który którego ostrza użyjesz załóżmy jest tam sześć No spróbuję najdłuższego ale też żeby było ostre w miarę tak no ale ale jest jeszcze pięć innych O ty byś użył tego takiego bardziej jak Piła to jest wydaje mi się pewno wyzwanie związane z takim hybrydowym podejściem Czyli że ten sam problem można chle ugry na różne sposoby i i to jest na początku Jest to ciekawa perspektywa kusząca może nawet wygodna w jakimś sensie a później się zaczyna problem pewnych konwencji czy czy C jesteśmy w stanie utrzymać jakąś konwencję stylu programowania konwencję projektowania też jakieś API czegokolwiek co później jest dodatkowym takim Mental Tol jak jak wnioskujesz na temat zachowania się tego systemu czy jesteśmy w stanie utrzymać tą jedną konwencję w grupie ciągle rosnących programistów którzy przy tym pracują tak to słynne pytanie C istnie idiomatyczna skala No dokładnie i teraz w językach o niedużych gramatyk to się w jakim sensie bez potrzeby samo dzieje bo po prostu tak mało jest środków wyrazu że wszyscy mówią tak bardzo prymitywnymi zdaniami ale to jest
zaletą w momencie kiedy musimy utrzymać większy Code przez wiele osób czytany przeglądany poprawiany hybrydy tak O ile zespół świadomie od początku narzuci sobie jakąś konwencję która jest utrwal rozj projektu problemem już nie jest to czy zrobimy Dest czy to jest to jest takie trochę dzielenie włosa na C czy ten paradygmat czy tamten wydaje się że w perspektywie dużych projektów to jest dużo bardziej znaczące Jaki koszt taki mentalny będzie ponoszony czytając dziesiątki stron tego kodu kiedyś w przyszłości próbując zrozumieć jego zachowanie wnioskować na temat jakiegoś zachowania jesteśmy stanie utrzymać konwencję którą jak już raz oswo imy się no to potem nasz mózg szuka takich wzorców już obeznanych No prawda i jeżeli te wzorce Jest ich kilka i ciągle te same wzorce czytasz to szybko czytasz ten kod szybko go modyfikuj jesteś bardziej przekonany jakie konsekwencje ma modyfikacja którą wprowadzasz w hybrydzie jeżeli jest tu paradygmat J tu drugi taka konwencja to to myślę że jest duży Mental się specjalnie o to zapytałem bo ja mam akurat bardzo
negatywne wrażenia z tych języków rozwiązań stworzonych w językach hybrydowych bo raz to co powiedziałeś na temat tej większej dowolności z którą nie wszyscy są comfortable ale też to że przede wszystkim rozmywający w jakichś miejscach to nagle okazuje się że my wprowadziliśmy te języki funkcyjne tylko dla syntactic Sugar bo się komuś podoba foldie na przykład co moim zdaniem jest w ogóle jakąś Aber rcj nie foldie tylko tylko kierowanie się kryteriami Powiedzmy wizualnymi w takim przypadku a druga drugi problem który ja widziałem osobiście to jest to że czasami nasze to co nam przyświeca to jest bardzo dobry pomysł czyli na przykład mamy starą bazę kodu w języku obiektowym ale teraz chcemy ewoluować w kierunku języka funkcyjnego i po prostu przechodzić stopniowo i potrzebujemy brid nować potrzebujemy to łączyć w relatywnie łatwy sposób żeby to przejście w ogóle było możliwe Tylko niestety problem jest taki że w związku z tym przejściem my dodajemy bardzo dużo Boiler Plate kodu który nam brid właśnie pomiędzy tymi paradygmatami w związku z tym znacząco rośnie koszt utrzymania tego i jeszcze complexity całego tego rozwiązania dobrze rozgadani miy się trochę ale już pora kończyć wszystko co
może mam jesze Słuchaj jeżeli Michał pozwolisz to jeszcze jed jedno ostatnie pytanie bo tak rozmawialiśmy i to trochę brzmiało tak jakbyśmy faktycznie wiecie zamykali pewien etap łącznie z powoli Planując emerytury i tu was troszeczkę oczywiście mam nadziej podkręcić jakie dałbyś rady programistom którzy zainteresowani językami funkcyjnymi chcieliby zacząć tą przygodę w 2 wiesz 24 2025 roku jest dla mnie ciekawe to jak wychodzą ankiety st overflow one mierzą już nie tylko popularność języków ale mierzą też satysfakcję używania różnych technologii języków to jest dla mnie dosyć ciekawy indeks ja nie wiem czy ta grupa jest reprezentatywna czy czy nie jakby tutaj może Odejdź na chwilę od kwestii tego czy statystycznie to jest dobry dobra próbka ale dla kogoś kto zupełnie spróbuje się zorientować to chyba bym sobie przeczytał właśnie taki najświeższy stu overflow już nie pamiętam jaki jest tytuł tego tej ankiety ale ona traktuje o tym jak czy na przykład technologia której użyłeś w zeszłym roku dalej byś chciał jej używać No i z tego budowany jest jakiś ranking i różne Morki czy
języki gdzieś tam bąbelkują wyżej a niektóre nie tak bym na to odpowiedział bo akurat też jak czytam wyniki to to wtedy one mnie prowokują do takiego trochę zastanowienia się z mojej perspektywy czy faktycznie no zgadzam się na przykład z kolejnością w tym rankingu poza tym rankingi mają tą też cechę że łatwiej wtedy jest właśnie pokazać prawda że jest top 5 a nie jest że jest 10 20 pamiętajmy że nasza pamięć podręczna w mózgu jest w stanie zmieścić tam pi do S elementów więc jak sobie poczytać jakiekolwiek nie książki jakieś wytłumaczone skomplikowane sprawy to Zauważcie że zawsze prawie wszystko jest redukowane do około pięciu elementów trzech do pięciu elementów Dlaczego nie dlatego że tak świat jest skonstruowany tylko bo Nasze mózgi tyle informacji w pamięci podręcznej są w stanie przechować No dobrze wpadło dużo informacji którą nie wiem czy wszyscy przechowaj ale ja jako człowiek który nie siedział w trochę na spok sprawdzałem to co mówiłeś więc czegoś się dowiedziałem Mam nadzieję że inni też Jakby ktoś chciał zrobić WhatsAppa Tol to tak tylko powiem ja w 5g już mocno nie wierzę to nie będę zachęcał No ale ogóle to ciekawe Nie bo się okazuje
że gdzieś tam jest jednak działająca nisza w której ludzie się poruszają której może tak zewnątrz nie widać no i ma swoje zastosowania i się okazuje że da się zbudować karierę na niej chyba powinniśmy ci wcześniej znaczy więcej pociągnąć też na temat tego tam trafiłeś do tego Google i tak dalej ale to może potem i najpierw z prawnikami bo my nie mamy prawnika który powie czy dalej nie mam prawnika od początku co tam możesz mówić a co nie żeby nie było czasami o Googlu się wypowiadali miy to jak ktoś nie wie To niech zajrzy na bru niestety nie zawsze pozytywnie tylko tak powiem dla ciebie ale może nie o chmurze nie wiem Dobra dzięki że poświęciłeś czas zeszło chwilę także długi odcinek kolejny gr Jeżeli ktoś jeszcze Nie przekonał to tutoriale do Ora podlinkuj podem też koderki czyli inicjatywę prywatną o której Mówi Michał podlinkuj też Jakby ktoś chciał lambda Days Jeżeli ktoś chce wejść trochę w Community dotknąć tego Community to to cały czas jest chyba najlepsze miejsce gdzie można to zrobić nie dotknęli mocno tego tematu szkolnego tam go wspomniał zadzie zainteresował bo miałem taki pomysł i nigdy nie wpadłem na to jak to zacząć
więc może się kiedyś do ciebie odezw Jak zacząć pracować z dzieciakami bo to gdzieś tam mi w tyle głowy siedzi dzięki Michał zawijamy kolejny grind kawy ci nie dostarczyliśmy ale może coś wymyślimy A tych którzy chcieliby pamiętać o kolejnych to tam taki Dzwoneczek wszystkie linki do Michała i podobnych wiadomości znajdziecie w opisie No i co do następnego Dzięki bardzo Michał za przyjęcie zaproszenia Dzięki wszystkim za przesłuchanie dzięki

Polecane z serii Grind

Cały katalog