Nauka C# i problemy z nauką


#1

Dzień dobry,
Chciałbym zapytać czy jest ktoś w stanie podać jakieś dobre kursy na C#? Próbowałem znaleźć jakieś na yt i jak już znalazłem to nie zrozumiałem zupełnie nic. Osoba prowadząca te lekcje na yt tłumaczy bardzo starannie, powoli i dokładnie ale mimo to nie wszystko rozumiem. A jeśli dochodzi do pisania jakiegokolwiek pisania programu to jest “ALE DLACZEGO TAK?! SKAD ON TO WGL WZIĄŁ?!?!?!”. Nie chce się poddawać zanim zacznę bo to naprawdę wydaje się czymś dla mnie i chciałbym się tego nauczyć ale po prostu nie umiem. Nawet siedziałem nad poradnikami, które były napisane łopatologicznie wrecz żeby zrozumieć ale ja i tak nic nie rozumiem. Jest mi ktoś w stanie powiedzieć co miałbym zrobić? Później chciałem zacząć coś więcej działac w Unity (je już trochę ogarniam). Z góry dziękuję bardzo za pomoc.


#2
  1. Nie każdy może się nauczyć programować tak jak nie każdy może nauczyć się śpiewać czy prowadzić samochód (niektórym się tylko wydaje, ze umieją)
  2. Jeśli nie przeraża cię punkt 1 to próbuj dalej, z obserwacji wiem, że może z tym trochę zejść, ale w pewnym momencie mózg ‘zaskoczy’ a ty poczujesz coś w rodzaju olśnienia.
  3. Poszukaj płatnych na Udemy albo kup książkę. Nie wystarczy być specjalistą w danej dziedzinie, trzeba jeszcze mieć tego konkretnego skilla, dzięki któremu w łatwy sposób przekazuje się wiedzę. Na YT może wrzucić każdy, na Udemy już chyba nie bardzo a wydanie książki to jeszcze trudniejsza sprawa. Można się więc spodziewać, że jakościowo przeciętna książka będzie lepsza od losowego kursu z jutuba.
  4. Jeśli wszystko zawiedzie to poszukaj w sobie innych talentów, gdyby programowanie było takie łatwe to każdy na świecie był by programistą (analogicznie mieli bysmy swiat pełen sławnych piosenkarzy - a tak nie jest)

#3

@frozenshade kompletnie się z Tobą nie zgadzam. Mam inny pogląd na ten temat :slight_smile:

Każdy może się nauczyć programowania. Niektórym to będzie przychodziło prościej, innym trudniej, ale się da. Sam prowadziłem wewnętrzne szkolenia w firmie i to widać czy ktoś ma predyspozycje czy nie, ale nawet tych najbardziej opornych szło nauczyć.

Kosztowało to o wiele więcej czasu i nerwów niż w przypadku tych ze “statami programisty” ale dawało radę.

Szkoląc innych zauważyłem kilka blokad, które skutecznie uniemożliwiają pojęcie programowania. Głównie z podstaw inżynierii m.in:

-cyfrowa reprezentacja danych: co to jest bit i bajt? Jak można zapisać dane na bajtach? Czym się różnią dane cyfrowe od analogowych?

-podstawy logiki: co to jest prawda i fałsz? Jakie operacje można na nich wykonywać? Podstawy algebry booleowskiej

-podstawy elektroniki i architektury komputerów: jak działa prąd? Co się składa na komputer? Co to jest procesor i po co jest? Co to jest pamięć?

-podstawy matematyki: dzielenie, liczby zmiennoprzecinkowe, funkcje

-podstawy rozumienia abstrakcji: tu głównie inteligencja abstrakcyjna i wiedza, którą też da się ćwiczyć (przenoszenie uogólnienie, wyszukiwanie wzorców, uszczegółowianie- poruszanie się pomiędzy warstwami abstrakcji)

itp

Było kilka takich rzeczy, które wydawały się oczywiste i niewarte tłumaczenia, ale okazywało się, że nie każdy jest na tym samym poziomie wiedzy w podstawach. To zazwyczaj one sprawiają, że przyswajanie kolejnych informacji przy nauce programowania jest trudne :slight_smile:


#4

Może mylisz nauczenie z przyuczeniem, ewentualnie nauczeniem się pisania kodu. Wracając do prowadzenia samochodu - czasem widać jak pewne panie, niby nauczone, ale jednak wyczyniają cuda w miejscach do parkowania.

Jeśli potraktować, że jak ktoś umie przejechać samochodem od punktu A do punktu B już jest kierowcą, mimo, ze po drodze potrącił psa, wjechał na trawnik, jechał kawałek pod prąd, wszystko na jedynce bo nie umie zmienić biegów i jeszcze miał stłuczkę to tak, każdy może być kierowcą.
Tak samo osoba programująca: wyuczy się pewnych rozwiązań, napisze pętlę for, zrobi klasę, w niej funkcje. I teoretycznie będzie w stanie rozwiązać problem, tj napisać kod, który wykonuje daną czynność. Ale przyrównując ten kod do jazdy samochodem może to być większa zagłada niż to, co opisałem powyżej.
Piszę to z doświadczenia. Znam ludzi, którzy piszą kod, ba, nawet zarabiają jakoś na tym, czasem kompletnie nie rozumiejąc co robią, widziałem projekty takich ‘programistów’, poważnie, im lepiej by pewnie śpiewanie poszło albo inne występy artystyczne. Ich programistyczny rozwój zatrzymał się na etapie parsowania stringów albo czymś równie podstawowym. Tam, gdzie trzeba zdeserializować obiekt, pisząc własną bibliotekę lub używając gotowej, w zależności od potrzeb, ktoś taki ręcznie wyszuka interesujący go kawałek w stringu, powielając te czynności poprzez copy-paste w dziesiątkach miejsc w programie, bo nie rozumie, że można lepiej. Działa? Działa. Dojechał na miejsce. To jeden z autentycznych przykładów, osoba ‘programująca’ ponad 5 lat.

EDIT: jeśli takiemu powiesz, ze tu jest biblioteka, na guthubie, ściągnij sobie, zamiast wrzucać tego stringa wszędzie i tam go przeglądać to zdeserializuj sobie obiekt i jego dalej przekazuj, on to zrobi. Przyuczy się, będzie następnym razem (bezmyślnie) robił to, co się mu powie. Ja programowanie traktuję jako specyficzny rodzaj myślenia, podchodzenia do problemów. I tego właśnie brakuje niektórym, w rożnym stopniu.


#5

Może poczytaj sobie ten ( https://www.w3schools.com/js/DEFAULT.asp ) tutorial.
Wprawdzie odnosi się do JavaScriptu, ale są w nim fajnie pokazane podstawowe zagadnienia (funkcje, pętle, warunki…), które potem łatwo przeniesiesz na inne języki podczas ich nauki (o ile przyswoisz to co jest tam napisane) :smiley:

Odnosząc się do waszej rozmowy @frozenshade @ByerN
Myślę, że predyspozycje odgrywają dużą rolę w nauce programowania.
Z drugiej strony jeżeli są ludzie, którzy “klepią” kod nie rozumiejąc go, to wychodzi na to, że można “nauczyć” każdego :stuck_out_tongue:


#6

zaproponowałbym Tobie Construct 2/3 dla ogólnego zrozumienia programowania. Kompletnie nie rozumiałem nic z tej dziedziny, a dopiero Construct otworzył mi oczy. Tez próbowałem c# i było koszmarnie. Musisz ogarnąć podstawy, a Construct świetnie to tłumaczy. Dzięki temu i w Godot’ cie moge teraz troszke podłubać…
Tutoriali jest masa na yt, a i całkiem ciekawe gry mozna robić.


#7

Jako osoba, która rozpoczęła przygodę z programowaniem od C# - Unity mogę doradzić - Nie zaczynaj od C# i od Unity. Zacznij od czegoś bardziej przyjaznego JavaScript / Python - jak ogarniesz podstawy to możesz się przesiadać na C#. Jak już będziesz myślał, że umiesz programować - przeczytaj “Czysty Kod” i zacznij się uczyć od nowa :smiley:


#8

Programuje już 15 lat i nie ma nic gorszego niż programista korzystający non stop z gotowych bibliotek, bo mu się nie chce zastanowić i dwóch klas napisać. Sztuką jest umiejętność samodzielnego myślenia i umiejętność stworzenia czegoś poprawnie działającego.
Kopiowanie czyjchś rozwiązań czy bibliotek by wykorzystać tylko 1% tego co oferuje. Mam awersję do takich pseudoprogramistów co jedyne co umie to polaczyc gotowe rozwiazania. Zdecydowanie bardziej cenie kogos kto 15 razy napisze ten sam kod nawet przez kopiuj wklej i nie jest tego świadom że to źle niż bezmozga co uwaza ze jak cos jest gotowe to nie warto sie meczyc i napisac cos swojego.

Przez takich co uwazali podobnie ze jest biblioteka to korzystam to grozilo mi jako firmie 2 mln zlotych kary. Zlecenie na 500 tysiecy zlotych zatrudnilem 5 programistow i dwoch takich zdolniakow sie znalazli co oni to biblioteke do tego widzialo. Efekt wykorzystanie nielegalnie źrodel co wykryto przez zlecajacego. Po pol roku udalo sie dogadac ze projekt zostanie przepisany bez tych zrodel ale bez jakiejkolwiek zaplaty. W efekcie poplynela moja firma na 250 tysiecy zlotych.

Każdy może nauczyć się programować, trzeba mieć czasem więcej cierpliwości. Nikt nie musi byc wybitnie uzdolniony, w programowaniu liczy sie przede wszystkim dobre dzialanie. W mojej karierze spotkalem moze kilku programistów, których porównałbym do swojego poziomu. Ktorzy potrafia napisac wszystko. 80% z nich pracuje u mnie regularnie. Zdecydowanie wieksza czesc programistow jest łasych na czyiś kod, twierdzac że przyspieszają pracę, w rzeczywistości kryjąc swój brak umiejętności napisania czegoś. Najmniejsza czesc zajmuja programisci piszacy kilka razy ten sam kod, gubiacy sie w swoich rozwiazaniach i nie umiejący korzystac z modyfikatorów dostępu. Ci programiści albo szybko rezygnuja z programowania albo ucza sie ze szybciej cos zaplanowac niz pisac kilka razy.

U mnie testem na programiste do pracy byl przez dlugi czas napisanie programu do komunikacji sieciowej. Uzycie zewnetrznych bibliotek - u mnie pracy nie dostawał. Jak w C# nie umiesz sobie poradzic z warstwa sieciowa to niestety ale won! Teraz mam bardziej skomplikowany test umiejetnosci. Widzialem juniorow co pisali kilkukrotnie ta sama klase, ale i takich co do napisania tetrisa sciagneli tyle bibliotek ze projekt wazyl 200 MB.

Wracajac do kursow to osobiscie polecam od zera do gier kodera. Sam kiedys prowadzilem szkolenia, dzis na podstawie tych szkolen pisze ksiazke. To tez nie prawda ze wydanie ksiazki jest trudniejsze. Napisanie zajmuje czas wiekszy niz nagranie na youtube, ale w ksiazce nie zawrzesz etapow tworzenia rozwiazania i skupia sie na zrozuminiu elementów programowania. W polskim internecie jest malo dobrych kursow stad widze szanse dla siebie. W angielskim takze. W polskim internecie mozna znalezc bardzo zle przedstawienie chocby wzorca projektowego pyłek, który to w polsce jest tlumaczony na ten znany bardziej z baz danych.

Juz odchodzac znow od tematu, to programiści nie bardzo rozumieja wzorce projektowe. Jedyny wzorzec jaki umieja to singleton. Nawet fasady nie umieja zastosowac bo nie umieja korzystac z modyfikatorow dostepu.

Jeżeli mogę coś doradzić to nigdy ale to nigdy nie korzystaj z bibliotek innych jak nie wykorzystujesz minimum 50% tego co ona oferuje. Znam historie jak goscia wypierniczyli z roboty bo korzystal z bibliotek kiedy tylko cos mial stworzyc. Projekt z 20 MB urosl po roku pod jego opieka do 500 MB i wiekszosc bibliotek z ktorych skorzystal byly jedynie do uzycia niekomercyjnego. Jak znajomy opowiadal to po otrzymaniu wypowiedzenia opowiadal ze on to najlepszy programista i jeszcze beda tego zalowac. Szef sie wkurwil w koncu i mu powiedzial : „Nie przychodz juz wiecej i ciesz sie ze nie zaplacisz za to co zrobiles”. Podobno czerwony sie zrobil i nigdy juz sie w firmie nie pojawil.


#9

Nieumiejętność czytania licencji to jedno, ale z tego co piszesz wynika, ze nie ma nic złego w wyważaniu otwartych drzwi. Rozumując po twojemu to nawet użycie biblioteki do głupich JSONów jest zbrodnią :wink:
Jest masa gotowych, ‘wygrzanych’ bibliotek które ułatwiają pracę, pisząc wszystko od nowa samemu teoretycznie zwiększasz ilość możliwych błędów, twój kod trzeba będzie przecież wytestować. Opisujesz i krytykujesz jedno skrajne podejście a sam popadasz w skrajność po drugiej stronie. IMO rozsądne podejście, takie ‘z głową’ to bycie mniej więcej po środku (± w jedna lub drugą stronę, ale to też zależy od tego co robisz).


#10

Jednocześnie się zgodzę i nie… Faktycznie takie wykorzystanie gotowych bibliotek jest po prostu absurdalne (to tak jakby kupić młot pneumatyczny by wbić gwoździa). Lecz moim zdaniem korzystanie z gotowego kodu nie jest złe dopóki nie próbuje się zarabiać bez licencji na niego i wie co on robi. Jeśli ktoś wie że potrafi wykonać jakieś proste zadanie to czasem po prostu lepiej skorzystać z rozwiązania gotowego i nie wynajdować koła na nowo poświęcając zaoszczędzony czas na polerowanie karoserii, zwłaszcza jeśli jest to projekt non-profit. Lecz nawet w momencie gdy ktoś się dopiero uczy i bawi z językiem ale nie ma pojęcia jak coś wykonać i tkwi z danym problemem dniami i nocami to lepiej jest skorzystać z gotowca niż próbować za wszelką cenę zrobić to samemu lub go zrozumieć od podszewki. Sam się spotykałem z sytuacjami gdy siedziałem tydzień nie rozumiejąc “jak to działa?!” by wrócić po 2 miesiącach i zobaczyć jakie to było jasne.


#11

Radzę przeczytać jeszcze raz to co napisałem. Używanie bibliotek bo coś już jest gotowe jest głupie jeżeli możesz napisać te klasy sam. Json jest akurat slabym przykladem bo parser sam jest 80% takich bibliotek.
Ja skupilem się na głupocie i udawaniu, że jest się dobrym programistą jak na każde zadanie reaguje sie wyszukiwaniem w google rozwiazania. Do narysowania wykresu na ekranie nie potrzebujesz OpenGL albo DirectX.

Ja nie wyważam otwartych drzwi, uwazam ze nie ciągnie się za soba ogromnych bibliotek bo samemu nie chcialo sie poswiecic godziny na napisanie rozwiazania.

Dodatkowo mialem kontakt z duza iloscia takich osob co twierdza ze jak gotowe to czemu nie korzystac. Tylko najczesciej jak stwierdzalem ze nie korzystamy z tego i dasz rade napisac to w 2 dni to nagle sie okazywalo, ze odbierajacy zlecenie ma inne plany albo dostal inna super oferte. Mozesz miec inne doswiadczenia, ja widze ze czesto twierdzenie ze biblioteka jest to wykorzysta jest zapora bo brak umiejetnosci.

W mojej firmie korzysta sie z bibliotek jezeli jest to zasadne. Chcesz zrobic tetris to nie potrzebujesz silnika fizycznego. Wystarczy prosty system kolizji.


#12

Może całego .NETa nie używajmy? :slight_smile: Json to właśnie świetny przykład, owszem, mógł bym napisać serializację i deserializacje samemu, dla prostych danych było by to łatwe, trywialne, dla bardzo złożonych trudniejsze, ale nadal możliwe. Koniec końców skończył bym ze swoją własną dużą, uniwersalną biblioteką do serializacji czegokolwiek, którą pewnie używał bym w tych wszystkich miejscach, gdzie teraz używam tej gotowej, nawet w prostych projektach, bo przecież skoro raz napisałem, wygrzało się i działa to czemu nie. Różnica jest tylko taka, że musiał bym poświęcić czas na wyważenie otwartych drzwi, moja biblioteka na pewno zawierała by więcej błędów niż taka używana i testowana przez tysiące osób. No i zamiast wykonywać faktyczna pracę to skupiał bym się tak na prawdę na pierdołach.

Ja jestem dobrym programistą. Nie waham się czasem odpytać googli bo może ktoś lepszy w danej tematyce ode mnie rozwiązał podobny problem który akurat mam na warsztacie.

To wszystko zależy od skali i aktualnej potrzeby, od czasu i od tego co jest faktycznym celem. Tu, tak jak wszędzie potrzebny jest rozsądek i doświadczenie zamiast zwyczajnego przekreślania zewnętrznych bibliotek.


#13

Oczywiście jak nie wiesz jak coś zrobić możesz skorzystać. Tylko jeżeli się uczysz, to wszystko wymaga od Ciebie wysiłku i przezwyciężenia problemu.
Myślę, że część programistów lepiących biblioteki „wychowało” się na takim podejściu, że trudność to może jest gotowe.
Czasem samo wykorzystanie jakiejs biblioteki wymaga opracowania więcej czasu by ona działała niż napisanie rozwiązania. Wbrew pozorom walka o wynalezienie kola na nowo duzo uczy.

Trzeba wiedzieć kiedy warto biblioteke zaciągnąć a kiedy nie. Umiejętność znalezienia dobrej biblioteki jest cenna, ale to nie sa umiejetnosci programisty. Jak ktos składa meble z IKEI to nie jest stolarzem. Tak samo programista, jeżeli nie umie czegoś stworzyć w podstawowej formie to ciężko nazwać go programista.
Niektore biblioteki ciezko tez napisac samemu jak konstrukcja .docx czy innego microsofskiego oprogramowania.

Absurdy jakie spotkałem w kodach jakie przyszło mi widzieć. Czasem u moich pracowników, w większości zaś w rozwijanych aplikacjach:
a) Biblioteka do zapisu i odczytu plików. Wykorzystana do odczytania pliku tekstowego
b) Wspomniany tetris na silniku fizycznym
c) Strona WWW statyczna wizytówka postawiona na Wordpressie
d) Pingowanie do strony www zrobione na 3 bibliotekach. Cel : pokazanie ogromnego powiadomienia na ekranie gdy strona padnie. Do zrobienia w 2h
Na koniec coś absurdalnego:
e) W pewnym projekcie ktory mial sciagac zrodla z neta w formie pdf, jpeg, zip oraz docx. Znalazło się 8 bibliotek z czego: 2 do odczytu pdf, jedna do odczytu jpeg, jedna do zip oraz dwie do docx. Pozostale do obslugi protokolow sieciowych. Co program robil? Sciagal i pozwalal zapisac plik w dowolnym miejscu. Nie mial podgladu ani niczego takiego. Do projektu to dodano calkowicie bez powodu.

Ja nie jestem przeciwnikiem bibliotek, moje biblioteki pobrano kilka tysiecy razy, moje projekty z okolo tysiac. Boli ze wiekszosc pobralo te biblioteki tylko po to by skorzystac z czegos co mozna zrobic samemu krocej niz znalezienie mojej biblioteki i przeczytanie jej uzycia. Jak ktos sie obawia ze zle napisze no to trzeba popracowac nad planowaniem.

Korzystanie z bibliotek jest dobre w chwili, gdy potrzebujesz dużej części funkcjonalności tej biblioteki lub też nie możesz sam jej stworzyć. Średnio dobre jest to w sytuacji gdy nie chce Ci się i uzywasz gotowca. Lecz gdy czas na napisanie czegos jest rownowazny z zapoznaniem z dokumentacja lub tez wlasnie sie uczysz to z pewnoscia nie jest to czas na uzywanie bibliotek bez potrzeby.

Mozesz wziac biblioteke do komunikacji sieciowej co pozwala przesylac obiekty miedzy komputerami ale nie czyni to Cie kims kto umie to zaprogramowac. Umiesz wykorzystac to co gotowe. Nie jestem programista gier grajac w gry.


#14

Nie rozumiem troszkę Twojej postawy. Ja nie atakuje Ciebie, może poczułeś się urażony tym, że korzystasz. Spoko ja też korzystam, ale dla mnie to ostateczność. Jest pewna zasada zwana KISS, warto ją pamiętać w programowaniu.

Wiesz sprowadzenie problemu do absurdu to pewien rodzaj manipulacji, nie wiem kto się na to łapie ale nie ja. To co zacytowałeś miało swój kontekst i w tym kontekście należy to osadzić. Z mojego doświadczenia korzystanie z bibliotek jest często objawem lenistwa i braku umiejętności, często nie zdając sobie sprawy, że dodawanie biblioteki nie jest obojętne dla oprogramowania.

Jeżeli wstawiasz do swojego kodu obcy kod to bierzesz za niego odpowiedzialność a jednocześnie nie zawsze spełnia on to co chcesz Ty zrobić. Czasem dodanie biblioteki to zabieranie sie do problemu jak pies do jeża, spotkałem takie rozwiązania w stylu, ta biblioteka rozwiazuje taki problem ale by do niej wrzucic dane musze miec jeszcze inna, a tam wymagana jeszcze konwersja danych to jeszcze inna wezme.

Tutaj młody programista pyta czy znamy jakieś kursy dobre. Polecanie mu korzystania z bibliotek nie jest dla niego dobre. Jakieś podstawy musi znac oraz nie powinny jego projekty w portfolio zawierać ze współtwórcami są x, y i z. Bo czesto licencje sa oparte o uwzglednienie autorstwa, o czym pewnie wiesz i z pewnością dodajesz w kodzie i w dokumentacji, ewentualnie creditsach. Jak już się nauczy sam stawiać czoła problemom to wtedy może zacząć zastanawiać się w swoich projektach czy coś wymaga wiecej czasu niz uzycie gotowca, ale do tego trzeba doświadczenia.

Ja nie jestem Tobie ani nikomu tu przeciwny. Biblioteki tak, ale nie z powodu wlasnego lenistwa i minimalnego wykorzystania. Przez minimalne wykorzystanie rozumiem np wykorzystanie biblioteki do odczytu plikow, gdy w C# 4 linijki kodu zalatwiaja odczyt pliku tekstowego.

Mam nadzieję, że kwestia wyjaśniona. Nie róbmy dalej offtopu.

Co do autora tematu:
Mozesz jeszcze sprobowac ze starozytnym juz jezykiem PASCAL. On jest bardzo intuicyjny i w polskim internecie znajdziesz mnóstwo darmowej wiedzy. Bardzo dobrej, bo wiele uczelni wyzszych nadal do 2010 roku uczyła Pascala ( szok, ale tak było ). Popisz w nim proste gierki to przejscie na C# nie powinno stanowic problemu.


#15

Morał z tej bajki jest taki, że do wszystkiego trzeba podchodzić z głową. Zrobisz overkilla używając niepotrzebnej biblioteki, to się może zemścić (np. rozmiarem). Nie jesteś w stanie rozwiązać problemu bez użycia biblioteki? Użyj biblioteki :smiley:

Wszak u podstaw programowania leży rozwiązywanie problemów :smiley:

PS. Z tej konwersacji płynie jeszcze jeden ważny morał:
Jeżeli pracujesz dla kogoś i natrafisz na ścianę, to zanim użyjesz jakiegoś zewnętrznego kodu, skonsultuj się z szefem, bo możesz narobić ambarasu :smiley:


#16

Nie poczułem się urażony, na samym wstępnie zaznaczyłem, że twój problem był spowodowany tym, że programiści nie czytali licencji. Samo używanie bibliotek to inna sprawa i cały czas podkreślam, że trzeba się po prostu kierować rozsądkiem. A argument, ze skoro umiem coś sam napisać to powinienem to zrobić zamiast korzystać z bibliotek nie zawsze jest słuszny, z wielu powodów, nie tylko tych, które wymieniłem.

Co do sprowadzenia do absurdu, po prostu poszedłem w drugą skrajność. Nic więcej. Gdzież bym śmiał manipulować…

A z mojego nie, mamy więc inne doświadczenia i tu można by zakończyć temat bo nie widzę sensu w nawracaniu kogokolwiek na używanie bibliotek w celu zwyczajnego ułatwienia sobie pracy. Skoro nie chce to widocznie tak lubi.


#17

Programista musi być w stanie rozwiązywać problemy :slight_smile: I poruszać się pomiędzy poziomami abstrakcji. Przewinęło się gdzieś tam KISS. Ja dorzucę np DRY. Przeczytałem dyskusję i wydaje mi się, że nie można popadać w takie skrajności. Wciąganie całego internetu po to by sparsować głupiego JSONa to błąd. Pisanie własnego parsera JSONów to jeszcze większy błąd. Wiem, że podane przykłady są absurdalne, no ale bywa różnie. Zazwyczaj frameworki, w których pracujemy mają gotowy zestaw tego co trzeba do danego zadania.

Pisanie własnego parsera JSONów w ramach nauki to ćwiczenie :stuck_out_tongue: Ale gdybym zobaczył, że któryś z moich podopiecznych lub współpracowników pisze sobie sam w produkcyjnym kodzie parser JSONów albo skleja je ręcznie w kodzie, to by nie miał za lekko :stuck_out_tongue:

Negowanie sensowności używania gotowych bibliotek uważam za szkodliwe i wolałbym by żaden młody developer nie wziął sobie takiej myśli do serca. Wszystko trzeba robić z głową, a odpowiedni dobór bibliotek to jedna z cech, która powinna towarzyszyć każdemu programiście.