Jak podobne są języki programowania?

Поділитися
Вставка
  • Опубліковано 7 вер 2024
  • Co to znaczy, że języki programowania są do siebie podobne? Na czym polega i jak duże jest to podobieństwo? Zobaczymy konkretny przykład - implementację algorytmu FizzBuzz w piętnastu różnych językach.
    ➡️ Roadmapa programisty - Czego, kiedy i dlaczego się uczyć, żeby zostać programistą: roadmapaprogra...
    ➡️ Pobierz darmowego ebooka "Jak zostać programistą - krok po kroku": www.jaknauczyc...
    🔥 Subskrybuj kanał: www.youtube.co...
    📸 Instagram: / jaknauczycsieprogramow...
    📘 Grupa na Facebooku: / jaknauczycsieprogramow...
    ✉️ Mail: kamil.brzezinski@gmail.com

КОМЕНТАРІ • 49

  • @wojtekkubitzki7503
    @wojtekkubitzki7503 3 роки тому +3

    Bez C#? 😥

  • @vxsniffer
    @vxsniffer 3 роки тому +1

    chcesz udowodnić wizualne podobieństwo to pętle i instrukcje sterujące są dobrym wyborem, jednak są różnice, które widać nawet w takich prostych przykładach, ale nie słychać Twojego komentarza do nich... np. kwestia wymuszania OOP w Java z "paskudnym" wołaniem println, czy obowiązkowy start programu od funkcji Main w C... itd. przydałby się pogłębiony materiał, bo to może być bardzo ciekawe dla osób zastanawiających się co dalej ;-) poza tym na przykładzie Pythona pozornie podobna pętla "for" kryje pod spodem zupełnie inną logikę, która jest bliższa pętlom "for each" w innych językach, nie wspominając już od kwestii iteratorów i protokołów... to wizualnie podobne ale zupełnie inne niż "for" w Java!

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  3 роки тому

      Jasne, im bardziej będziemy zagłębiać się w różne języki, tym więcej różnic między nimi będziemy dostrzegać. I dobrze, że te różnice są, bo dzięki temu mamy różne narzędzia do różnych zastosowań :)
      Istotą tego odcinka było pokazanie, że podobieństwo jest na tym elementarnym poziomie - bo praktycznie jakiegokolwiek języka byśmy nie wzięli, to na pewnej płaszczyźnie logika będzie wyglądać tak samo, a klocki, z których budujemy nasze aplikacje, gdy spojrzymy na nie z bliska, skrywać będą te same konstrukcje - instrukcje warunkowe, pętle oraz instrukcje do wykonania. I z tego powodu nie ma co się bać próbować różnych języków, a także - gdy stawiamy pierwsze kroki w programowaniu - nie ma sensu zbyt mocno skupiać się na wyborze tego pierwszego języka, tylko po prostu trzeba nauczyć się, o co w tym programowaniu w ogóle chodzi.
      A myślę też na pokazaniu różnic i podobieństw różnych języków (może nie piętnastu, ale wybiorę tak ze 3-5) na jakimś konkretnym, bardziej rozbudowanym przykładzie - myślałem o jakimś prostym REST API z komunikacją z bazą danych :)

    • @vxsniffer
      @vxsniffer 3 роки тому

      @@JakNauczycSieProgramowania - dobry pomysł, czekam na efekty :-)

  • @Gabobasista
    @Gabobasista 3 роки тому +3

    Wiem, że to, co napiszę jest naiwne, ale naprawdę szkoda, że pewne składnie, sposoby zapisu, wyświetlania itp. nie są ustandaryzowane. Ja wiem, że to nie problem ogarnąć że w jednym języku będzie print(), w innym echo(), a w innym system.out.println() (piszę z pamięci, może być błąd), ale już np. po przesiadce z javascript na naukę pythona pewne małe rzeczy irytują. Ile to razy miałem na czerwono, bo postawiłem średnik, dałem klamry, albo zamiast 'and' wpisałem &&. Nie wszystko się da, ale myślę, że silnik pythona mógły zinterpretować &&, jako 'and' i odwrotnie, a edytor dałby tylko żółty wykrzyknik z informacją "chłopie, mieszasz składnie", a nie zaraz na czerwono :)
    Aż mi się przypomniało, jak się zrobiłem w konia. Dawno temu, jeszcze w szkole omawialiśmy javę. Kod z rzutnika przepisałem IDEALNIE linijkę po linijce i nie działa. W końcu znalazłem błąd.
    zamiast
    System.out.println()
    miałem:
    System.out.printIn()
    A ty widzisz błąd?
    Rozwiązanie niżej
    .
    .
    .
    .
    .
    .
    .
    .
    Pisząc z dużych liter dla zobrazowania, ma być: System.out.PRINTLN(), a z racji że wyglądało to dokładnie tak samo, to ja miałem System.out.PRINTIN()

    • @Dimetrooff
      @Dimetrooff 3 роки тому

      Bez wyjaśnienia sam nie zauważyłem hah. Masz w zupełności rację.

  • @mariuszdrabik7119
    @mariuszdrabik7119 3 роки тому +3

    Clojure jest dziwny na pierwszy rzut oka, reszta bardzo podobna do siebie. Można się uczyć :D

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  3 роки тому

      Clojure jest na pewno interesujący ; ) Uncle Bob jest ogromnym fanem:
      blog.cleancoder.com/uncle-bob/2019/08/22/WhyClojure.html
      blog.cleancoder.com/uncle-bob/2020/04/09/ALittleMoreClojure.html
      I niesamowite jest na ile sposobów można w nim napisać tak prostą rzecz jak FizzBuzz: eddmann.com/posts/fizzbuzz-in-clojure/

    • @mariuszdrabik7119
      @mariuszdrabik7119 3 роки тому

      @@JakNauczycSieProgramowania Przeczytałem pierwszy artykuł - jestem pod wrażniem. Natomiast w Twoim kodzie chyba powinno być range 1 101 :D. Pytanie czym jesty doseq i zero?. a po :let to co tam jest wygląda jak lista składana :D

  • @PixelozaurusRex
    @PixelozaurusRex 3 роки тому

    Mało było o Clojure (a tylko ten przykład znacząco się różni), gdyby nie zatwardziały fan wykładowca na uczelni, to małobym wiedział o sensie używania języków funkcyjnych. Zdaje się że Haskell byłby w tym aspekcie ciekawy :)

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  3 роки тому +1

      Clojure to jest przygoda :D Ja autentycznie ten kod pisałem 2h, bo nie chciałem przepisywać rozwiązania z internetu (a była cała masa różnych implementacji), tylko stwierdziłem, że zrobię to po swojemu. I pomimo tylu lat doświadczenia, pisania w różnych językach, czułem się jakbym pierwszy raz w życiu pisał kod ; )
      Będę musiał coś nagrać o językach funkcyjnych :)
      A co do Clojure, to Uncle Bob jest nim zachwycony:
      blog.cleancoder.com/uncle-bob/2019/08/22/WhyClojure.html
      blog.cleancoder.com/uncle-bob/2020/04/09/ALittleMoreClojure.html
      I polecam też kod projektu, który stworzył właśnie przy użyciu Clojure: github.com/unclebob/spacewar

  • @Dimetrooff
    @Dimetrooff 3 роки тому +3

    Czyli jak zacząłem od C++ to nie spieprzyłem nic?

    • @JEsterCW
      @JEsterCW 3 роки тому

      Jeśli w c++ będziesz w stanie coś więcej napisać, to inny język nie będzie dla Ciebie najmniejszym problemem, bo wystarczy poznać jego ekosystem, a c++ w moim mniemaniu to jeden z cięższych języków głównie przez aspekt tego, ze jest typowym low level językiem i jest dosyć stary, ale po dziś dzień używany głównie z takich aspektów jak wydajność i low level.

    • @glaniarz123
      @glaniarz123 3 роки тому +2

      W C++ mozesz sie zakopac i miec problemy z przeskoczeniem na inne jezyki, dodatkowo duzo rzeczy tam sie rozwiazuje samemu, dlugi czas sie trzaska "kalkulatory" w konsoli i jezyk nie determinuje do zaciagania jakichs paczek i innych tego typu rzeczy, jak to jest w przypadku jezykow wyzszego poziomu. Piszac w C++ latwo popasc w puapke pt "nauczylem sie zeby wszystko robic samemu.". Jest to niewydajne z punktu widzenia komercyjnego. Programowanie to przede wszystkim umiejetnosc znajdowania i laczenia komponentow, ktore ktos wykonal juz wczesniej. Podejscie ala poznam komputer od srodka (c++) bardzo dokladnie nie do konca sie u mnie sprawdzilo, polecam zaczac od wspomnianycb jezykow wyzszego poziomu. Moze byc ciezej na poczatku, ale to chyba wyrobi dobre nawyki i skroci droge do celu. Piszac w c++ latwo jest zakopac sie w dlugim dlubaniu od podstaw programow, ktore w innych jezykach sa bardziej uzytkowe i pisze sie wielokrotnie krocej. Chyba ze chcesz polaczyc c++ z elektronika, automatyka, czy urzadzeniami embedded, czyli takimi, ktore zawieraja cos w rodzaju minikomputery. Wtedy polecam C++, jesli choc troche interesuja Cie prad, napiecie itp. W przeciwnym wypadku raczej polecalbym jakies python, javascript, c#. Uwazam, ze C++ ma niski prog wejscia, ale w pozostalych jezykach zdobywa sie szybciej wiedze, podczas gdy w C++ nieraz rozwiazuje sie lamigowki. Z punktu widzenia komercyjnego, C++na start moze wcale nie byc najlepszym wyborem.

  • @zuku05
    @zuku05 3 роки тому +1

    W przykładzie z JAVY, PHP i GO jest od zera wypisywane co może wprowadzić w błąd, że pętle w tych językach działają inaczej.

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  3 роки тому +1

      Faktycznie, mój błąd! Efekt przyzwyczajenia, bo jednak w 99% sytuacji pętlę for zaczynam od 0, także ten początek "for (int i = 0..." to w zasadzie pełen automatyzm, palce same to piszą ; ) Dzięki za zwrócenie na to uwagi!

    • @zuku05
      @zuku05 3 роки тому

      @@JakNauczycSieProgramowania Tak, właśnie myślałem, że przez automatyzm. Chciałem tylko o tym wspomnieć, żeby nie było niejasności.

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  3 роки тому

      @@zuku05 To framework, do tego mam zainstalowany motyw Powerlevel10k, tutaj jest fajny artykuł na ten temat: medium.com/macoclock/how-to-make-your-terminal-pretty-using-ohmyzsh-and-powerlevel10k-19484f2a48b7

  • @michapawlak5698
    @michapawlak5698 2 роки тому

    Jestem ciekaw jak wyglądałby ten kod w assemblerze :)

  • @psychotechniczne
    @psychotechniczne Рік тому

    12.20 Dlaczego tłumacząc kod mówisz procent 15? To nie jest procent. To jest modulo lub mod i nie ma nic wspólnego z procentem. Można tez nadmienić ze mod wyrzuca 1 gdy jest reszta i 0 gdy jej nie ma. Nie wyrzuca natomiast ile wynosi reszta.

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  Рік тому

      Mówię procent, ponieważ w JavaScript operator modulo zapisujemy przy użyciu znaku procenta. A czym jest operator modulo tłumaczę wcześniej, w 6:05.
      I nie jest tak jak piszesz, że operator modulo zwraca 1 lub 0. Operator modulo zawsze zwraca resztę z dzielenia czyli 10 % 5 zwróci 0, 11 % 5 zwróci 1, a 13 % 5 zwróci 3.

    • @psychotechniczne
      @psychotechniczne Рік тому

      @@JakNauczycSieProgramowania Co do reszty zwracam honor (miałem na myśli dzielenie przez 2, zawsze 0 lub 1), ale co do tego procenta to znak procent występuje w matematyce, lub jako znak ASCII 37,w zmiennej string. Tutaj nie powinno paść to słowo ponieważ od strony kodu i w tym miejscu to już nie jest znak, a jest to operator i oczywiście jest podobny do procenta w edytorze tekstu, ale jego znaczenie jest tu całkiem inne. Chodzi mi o pewny brak konsekwencji i mieszanie znaczeń. Dla ucznia moim zdaniem to bardzo ważne aby od razu nabierać dobrych manier programisty. Czy skorupka za młodu nasiąknie... itd

    • @kozo7008
      @kozo7008 Рік тому

      @@psychotechniczne straszne, jeszcze ktos nie zrozumie o co chodzi z tym procentem, sprawdzi w google co robi i poszerzy wiedze

  • @kamilbonkowski3606
    @kamilbonkowski3606 3 роки тому

    Czy będzie jakiś odcinek o mockowaniu np. z wykorzystaniem Mockito i JUnit5 oraz zasadach związanych z BDD ?

  • @NeoBTK
    @NeoBTK 2 роки тому

    Tak z ciekawości, czemu w Go nie sprawdzamy %15 tylko %3 && %5?

  • @szoppracz8160
    @szoppracz8160 3 роки тому +1

    Bez C++ na miniaturce? 🤔
    Odcinek super

  • @krixwell5132
    @krixwell5132 3 роки тому

    Siema, czy np. PL/SQL zaliczasz do programowania?

  • @JACPIO
    @JACPIO 3 роки тому

    Hej może coś z innego tematu ale czy mógłbyś mi ocenić kanał i czy w dobrym kierunku idę, jest on też o programowaniu z góry dziękuje.
    PS: Mam 14 lat i nie wszystko niestety wiem

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  3 роки тому +1

      Siema, bardzo fajne materiały! Dałem suba i będę obserwował jak się kanał rozwija :)
      Jaki masz na niego plan? Jak często planujesz publikować nowe materiały?
      Odezwij się do mnie na maila: kamil.brzezinski@gmail.com albo na instagramie: instagram.com/jaknauczycsieprogramowania/ to podzielę się z Tobą jeszcze kilkoma drobnymi uwagami :)

  • @QuQu545
    @QuQu545 3 роки тому

    W każdym wieku człowiek jest w stanie się nauczyć programowania ? Czy to będzię trudne ?

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  3 роки тому +3

      Generalnie tak, ja się zaczynałem uczyć mając jakieś 12 lat, znam też osoby, które nauczyły się programowania mając >35 lat. To czy będzie trudne, zależy w dużym stopniu jak definiujemy trudność. Na pewno nauka programowania wymaga dużo nauki, wielu godzin spędzonych na pisaniu kodu i rozwiązywaniu problemów. Często ta nauka wiąże się jednak z dużą dawką satysfakcji wynikającej z tworzenia rzeczy od zera, także w takich momentach człowiek nie myśli za bardzo o tym, że jest trudno, tylko wkręca się w to coraz bardziej i chce uczyć się dalej. A Ty ile masz lat i w jaki sposób zainteresowałeś się programowaniem?

    • @QuQu545
      @QuQu545 3 роки тому

      @@JakNauczycSieProgramowania Kończę niedługo 25 lat. Mam chęć aby zmienić pracę i otoczenie swoje. Lubię siedzieć przed komuterem i tworzyć coś nowego więc zacząłem myśleć o programowaniu. Zaczałęm uczyć się troche Java i Python z kursów online z Udemy.

    • @sylwiaqu9837
      @sylwiaqu9837 3 роки тому +1

      @@QuQu545 pozdrawiam, 33 lata na karku kilka miesięcy temu zaczęłam się uczyć programowania z myślą o zmianie pracy :)

    • @maciek7378
      @maciek7378 2 роки тому +1

      Ja mam 38 lat i 3 lata temu skusiłem się na naukę programowania. Teraz pracuję już w IT od pół roku i kończę studia. Co prawda pracuję jako tester automatyczny, a nie programista, ale dojdziemy i do tego:) Można się tego nauczyć w każdym wieku, ale trzeba wygospodarować sobie sporo czasu na naukę. Chyba, że tak jak ja nie śpieszysz się za bardzo :)

    • @luckylucker932
      @luckylucker932 2 роки тому

      Ja studia zacząłem w wieku 29, teraz mam 30, dobrze pierwszego roku nie skończyłem a będę rozpoczynał staż jako DevOps także nigdy nie jest za późno:)

  • @DRX183
    @DRX183 3 роки тому

    Nie zostal wymieniony język C#
    No może jeśli F# i C# to to samo.
    Jestem zielony jeśli chodzi o te rzeczy dopiero zaczynam

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  3 роки тому

      Nie, to różne języki. W C# kod będzie bardzo podobny do kodu w Javie. A od jakiego języka zaczynasz?

    • @DRX183
      @DRX183 3 роки тому

      @@JakNauczycSieProgramowania osobiście zaczynałem w szkole, a później kontynuowałem dla siebie Pythona. Korzystałem także z Pańskich filmów na ten temat. Znając już pewne podstawy, chciałem pójść o krok dalej i zacząć się uczyć języka wykorzystywanych najczęściej do tworzenia gier (programuje jako hobby zaczynam tworzyć proste gierki, nie wiąże z tym przyszłości). Wyskoczyło mi C++ i C# do silników takich jak Unity czy Unreal Engine. Stąd to pytanie :D.

  • @kaynhvh
    @kaynhvh 3 роки тому

    rust to najlepszy jezyk wedlug mnie

    • @kaynhvh
      @kaynhvh 3 роки тому

      pisze w nim btw

    • @EmilDworniczak
      @EmilDworniczak 3 роки тому

      Pisze w php oraz trochę w node. Ostatnio próbowałem w rust :P jednak różnica jest duża

  • @kacper_robloks
    @kacper_robloks 3 роки тому

    czy bedzie odcinek o trudniejszych zagadnieniach niż fizzbuzz?

    • @JakNauczycSieProgramowania
      @JakNauczycSieProgramowania  3 роки тому +6

      Myślę o tym, żeby zrobić odcinek, w którym postawimy REST API w kilku różnych językach, nie będzie to może jakieś wyjątkowo rozbudowane API, ale na pewno da to pewne spojrzenie na możliwości różnych języków w tym temacie.

  • @YoshiYoshiyuki
    @YoshiYoshiyuki 3 роки тому

    Zajesmerfny kontent, dobre info, fajne poradniki... Ale mam jedno ale... Gadaj 2x wolniej :D