Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.programming > #33951 > unrolled thread
| Started by | Maciej Sobczak <see.my.homepage@gmail.com> |
|---|---|
| First post | 2020-05-18 13:19 -0700 |
| Last post | 2020-05-21 12:03 -0700 |
| Articles | 8 — 3 participants |
Back to article view | Back to pl.comp.programming
Web development Maciej Sobczak <see.my.homepage@gmail.com> - 2020-05-18 13:19 -0700
Re: Web development Mateusz Viste <mateusz@xyz.invalid> - 2020-05-19 11:30 +0200
Re: Web development Maciej Sobczak <see.my.homepage@gmail.com> - 2020-05-19 13:32 -0700
Re: Web development Mateusz Viste <mateusz@xyz.invalid> - 2020-05-19 23:01 +0200
Re: Web development Roman Tyczka <noemail@because.no> - 2020-05-20 08:07 +0200
Re: Web development Maciej Sobczak <see.my.homepage@gmail.com> - 2020-05-20 11:46 -0700
Re: Web development Roman Tyczka <noemail@because.no> - 2020-05-21 12:42 +0200
Re: Web development Maciej Sobczak <see.my.homepage@gmail.com> - 2020-05-21 12:03 -0700
| From | Maciej Sobczak <see.my.homepage@gmail.com> |
|---|---|
| Date | 2020-05-18 13:19 -0700 |
| Subject | Web development |
| Message-ID | <2ee1f3e1-980c-4d1a-aecc-2cadeb08b91a@googlegroups.com> |
Trochę mało tu wątków tego typu. Chciałem zapytać szanowne grono, czy uprawiacie taką aktywność świadomie *bez* użycia popularnych frameworków. Pod pojęciem "świadomie" rozumiem, że wiecie o ich istnieniu a może nawet je znacie, ale pomimo tego podjęliście decyzję, żeby ich nie używać (może właśnie dlatego, że je znacie). Chciałbym to skonfrontować z ogólnym obrazem rynku, gdzie pojęcia "web development" oraz "framework do JSa" wydają się być powszechnie tożsame. Po stronie serwerowej też mógłbym zapytać, czy ktoś z Was praktykuje web development wykorzystując języki natywnie kompilowane, czyli np. C++ - tzn. nie jako dalszy w szeregu komponent back-endu, tylko jako wiodące (albo jedyne) rozwiązanie. Wiem o kilku takich serwisach i sam kiedyś taki zrobiłem, ale chciałbym wiedzieć, czy te koncepcje są jeszcze praktykowane. -- Maciej Sobczak * http://www.inspirel.com
[toc] | [next] | [standalone]
| From | Mateusz Viste <mateusz@xyz.invalid> |
|---|---|
| Date | 2020-05-19 11:30 +0200 |
| Message-ID | <20200519113017.4d559ff4@mateusz> |
| In reply to | #33951 |
2020-05-18 o 13:19 -0700, Maciej Sobczak napisał: > Chciałem zapytać szanowne grono, czy uprawiacie taką aktywność > świadomie *bez* użycia popularnych frameworków. Do poważnych rzeczy? Nie. Ale jeśli chodzi o jakiś prosty serwis informacyjny dla firemki lub samorządu, tj. coś, co można naskrobać w kilkunastu linijkach php, to jak najbardziej. Tutaj dwa luźne przykłady moich ostatnich prac: https://abibio.fr/ http://soay.fr/ > Po stronie serwerowej też mógłbym zapytać, czy ktoś z Was praktykuje > web development wykorzystując języki natywnie kompilowane, czyli np. > C++ - tzn. nie jako dalszy w szeregu komponent back-endu, tylko jako > wiodące (albo jedyne) rozwiązanie. Raz mi się zdarzyło, niejako dla eksperymentu: http://poludnitsa.sourceforge.net/ Gdybym miał znów coś takiego robić, to użyłbym gołego php. Dodam, że ja absolutnie nie jestem żadnym "web developerem", zdarzy mi się czasem coś popełnić, ale to raczej w ramach wieczornej rozrywki. Mateusz
[toc] | [prev] | [next] | [standalone]
| From | Maciej Sobczak <see.my.homepage@gmail.com> |
|---|---|
| Date | 2020-05-19 13:32 -0700 |
| Message-ID | <3c0d45ed-2c20-4431-b007-1b4a13c78574@googlegroups.com> |
| In reply to | #33952 |
W dniu wtorek, 19 maja 2020 11:30:21 UTC+2 użytkownik Mateusz Viste napisał: > Do poważnych rzeczy? Nie. A dlaczego? Bo w ogóle nie robiłeś "poważnych rzeczy", czy te poważne koniecznie robiłeś/robiłbyś z frameworkami? To jest pytanie o granice stosowalności tego pomysłu - tzn. nie-frameworkowego web-developmentu. Oczywiście można sobie porozważać, że w odpowiednio dużym projekcie, praktykowanym odpowiednio długo, przez sam fakt refaktoryzacji istniejącego kodu jakiś framework mógłby się spontanicznie sam wyłonić a skoro tak, to czemu od razu nie zacząć z istniejącym już frameworkiem. Ale wtedy kolejnym pytaniem byłoby, czy w takim projekcie warto mieć własne rozwiązanie, naturalnie dopasowane do projektu, w ramach którego powstało, czy też obce, do którego trzeba od poczatku naciągać projekt. (teoretycznie można ten argument zastosować do każdego frameworku lub biblioteki, nie tylko w tej dziedzinie) Czyli: bierzemy HTML+CSS+JS (bo powiedzmy, że się uzupełniają i żadnego z tych trzech nie może zabraknąć) i... tylko tyle, przynajmniej po stronie klienckiej. Czy jest granica stosowalności tego podejścia i dlaczego jest właśnie tam? > > Po stronie serwerowej też mógłbym zapytać, czy ktoś z Was praktykuje > > web development wykorzystując języki natywnie kompilowane, czyli np. > > C++ - tzn. nie jako dalszy w szeregu komponent back-endu, tylko jako > > wiodące (albo jedyne) rozwiązanie. > > Raz mi się zdarzyło, niejako dla eksperymentu: > http://poludnitsa.sourceforge.net/ > > Gdybym miał znów coś takiego robić, to użyłbym gołego php. Eksperyment się nie udał? Czy udał się, ale dostarczył argumentów przeciw? -- Maciej Sobczak * http://www.inspirel.com
[toc] | [prev] | [next] | [standalone]
| From | Mateusz Viste <mateusz@xyz.invalid> |
|---|---|
| Date | 2020-05-19 23:01 +0200 |
| Message-ID | <20200519230128.50900fd8@mateusz> |
| In reply to | #33953 |
2020-05-19 o 13:32 -0700, Maciej Sobczak napisał: > > Do poważnych rzeczy? Nie. > > A dlaczego? Bo w ogóle nie robiłeś "poważnych rzeczy", czy te poważne > koniecznie robiłeś/robiłbyś z frameworkami? Nie jestem web deweloperem, ale zdarzało mi się zarządzać takimi projektami - w praktyce zawsze kończyło się na jakimś Symfony, CakePHP czy innym NodeJS. > To jest pytanie o granice stosowalności tego pomysłu - tzn. > nie-frameworkowego web-developmentu. Granica - w moim skromnym mniemaniu - jest tylko jedna: koszt. > Ale wtedy kolejnym pytaniem byłoby, czy w takim projekcie warto mieć > własne rozwiązanie, naturalnie dopasowane do projektu, w ramach > którego powstało, czy też obce, do którego trzeba od poczatku naciągać > projekt. Z (mojej) praktyki raczej wynika, że jest wręcz odwrotnie - przy jakimś in-house potworku szybko okazuje się, że ten potworek nie umie tego albo tamtego (bo w początkowych specyfikacjach tego nie było), i trzeba strugać go na bieżąco, dodawać wyjątki, itd. Natomiast gotowiec ma ten etap z reguły już za sobą. Korzystają z niego rzesze programistów w bardzo wielu projektach i dzięki inkrementalnym ulepszeniom daje radę, jednocześnie zapewniając spójne API, przemyślane nazwy klas/funkcji/zmiennych, itp. > Czyli: bierzemy HTML+CSS+JS (bo powiedzmy, że się uzupełniają i > żadnego z tych trzech nie może zabraknąć) i... tylko tyle, > przynajmniej po stronie klienckiej. Czy jest granica stosowalności > tego podejścia i dlaczego jest właśnie tam? Koszt. Dlaczego? Bo wymyślanie koła na nowo kosztuje. Jeśli robisz to w ramach hobby to spoko - ale w biznesowym świecie mało który klient (z tych których znam przynajmniej) zgodzi się opłacać takie przedsięwzięcie. Bo frontend ma działać, być gotowy na wczoraj, i ma być tanio (tj. taniej niż konkurencja, przy tych samych wymaganiach). > Eksperyment się nie udał? Czy udał się, ale dostarczył argumentów > przeciw? Udał się w sensie, że zapewnił mi rozrywkę na kilka wieczorów. Argument przeciw jest taki, że kompilowanie dziada za każdym razem kiedy chcę go wgrać na nową platformę (+instalacja gcc +ew. walki z linkerem) jest po drugim razie... nużące. Plik PHP natomiast wystarczy wrzucić i po prostu działa. Do tego C nie proponuje wielu "oczywistych" (w świecie web) usprawnień, które w PHP są niejako od zawsze - i wraca leitmotiv odkrywania koła na nowo (tak głupie rzeczy jak np. "odczytaj wartość pola z formularza"). No i PHP jednak dużo potrafi wybaczyć, a w C jedna literówka potrafi zakończyć się core dumpem. W trakcie pracy dużo łatwiej zlokalizować problem z logów php aniżeli analizować wypis z gdb. W końcu po coś te technologie "webowe" ktoś wymyślił. :) Mateusz
[toc] | [prev] | [next] | [standalone]
| From | Roman Tyczka <noemail@because.no> |
|---|---|
| Date | 2020-05-20 08:07 +0200 |
| Message-ID | <1q7o2oicjcgwk.dlg@tyczka.com> |
| In reply to | #33953 |
On Tue, 19 May 2020 13:32:30 -0700 (PDT), Maciej Sobczak wrote: >> Do poważnych rzeczy? Nie. > > A dlaczego? Bo w ogóle nie robiłeś "poważnych rzeczy", czy te poważne koniecznie robiłeś/robiłbyś z frameworkami? > > To jest pytanie o granice stosowalności tego pomysłu - tzn. nie-frameworkowego web-developmentu. > Oczywiście można sobie porozważać, że w odpowiednio dużym projekcie, praktykowanym odpowiednio długo, przez sam fakt refaktoryzacji istniejącego kodu jakiś framework mógłby się spontanicznie sam wyłonić a skoro tak, to czemu od razu nie zacząć z istniejącym już frameworkiem. Ale wtedy kolejnym pytaniem byłoby, czy w takim projekcie warto mieć własne rozwiązanie, naturalnie dopasowane do projektu, w ramach którego powstało, czy też obce, do którego trzeba od poczatku naciągać projekt. > > (teoretycznie można ten argument zastosować do każdego frameworku lub biblioteki, nie tylko w tej dziedzinie) > > Czyli: bierzemy HTML+CSS+JS (bo powiedzmy, że się uzupełniają i żadnego z tych trzech nie może zabraknąć) i... tylko tyle, przynajmniej po stronie klienckiej. Czy jest granica stosowalności tego podejścia i dlaczego jest właśnie tam? Jest wiele powodów by nie robić tego w ten sposób. Goły HTML, JS i CSS oznacza, że trzeba narąbać tony (istniejącego już) kodu, który załata wiele braków i niedoróbek tej golizny. Wymyślając te swoje ficzery tworzysz de facto kolejnego frameworka, z tym, że nikt poza Tobą i Twoim zespołem go nie zna. Zatrudnij teraz do zespołu nowego developera i każ mu to zrozumieć, rzeźnia. Dodatkowo musisz pisać dokumentację. Używając frameworka open source masz produkt rozwijany za darmolca przez setki/tysiące developerów, udokumentowany, wytestowany na olbrzymiej liczbie platform i środowisk, autonaprawiający się (bugi naprawia core team). Dodatkowo, gdy potrzebujesz zmienić kogoś w zespole lub nawet cały zespół to szukasz developerów znających X, Y lub Z i masz niemal od strzału gotowego programistę, który widzi kod i rozumie co się w nim dzieje. Ponadto popularne frameworki mają masę dodatkowych narzędzi wspomagających typu pluginy do edytorów, powiązane biblioteki rozwiązujące problemy nie ujęte w samym frameworku, itd. Masz też często literaturę na ich tenat. Oraz olbrzymią bazę społecznościową, gdzie możesz zadawać pytania i niemal od ręki dostawać pomoc. -- pozdrawiam Roman Tyczka
[toc] | [prev] | [next] | [standalone]
| From | Maciej Sobczak <see.my.homepage@gmail.com> |
|---|---|
| Date | 2020-05-20 11:46 -0700 |
| Message-ID | <3b428b31-f46f-443d-89d1-15e881876f58@googlegroups.com> |
| In reply to | #33955 |
> Jest wiele powodów by nie robić tego w ten sposób. A jednak pobawię się w adwokata diabła i spróbuję znaleźć kontr-argumenty. > Goły HTML, JS i CSS > oznacza, że trzeba narąbać tony (istniejącego już) kodu, który załata wiele > braków i niedoróbek tej golizny. Np. jakich braków i niedoróbek? Myślałem, że kolejne standardy tychże były opracowywane właśnie z myślą o usprawnieniach. Rozumiem, że 20 lat temu czegoś mogło tam nie być, ale czego tam nie ma w 2020 roku? > Wymyślając te swoje ficzery tworzysz de > facto kolejnego frameworka, Tak. Prawdę mówiąc każdy projekt, jeśli jest właściwie i na bieżąco refaktoryzowany, wyłania coś, co ma szensę istnieć odrębnie. To może być jedna funkcja pomocnicza, a może być framework. Albo cokolwiek pomiędzy. > z tym, że nikt poza Tobą i Twoim zespołem go > nie zna. Ale za to ja i mój zespół znamy go w 100%. > Zatrudnij teraz do zespołu nowego developera i każ mu to > zrozumieć, rzeźnia. Z moich doświadczeń wynika, że nowy developer najwięcej problemów ma ze zrozumieniem dziedziny problemu, czyli przedmiotu realizowanego projektu. Ogarnięcie się w samym kodzie i rozwiązywanie kolejnych wyzwań przez analogię z istniejącym kodem jest najmniejszym problemem. > Dodatkowo musisz pisać dokumentację. Od kiedy pisanie dokumentacji jest złe? :-) > Używając > frameworka open source masz produkt rozwijany za darmolca przez > setki/tysiące developerów, Z pierdylionem rzeczy, których nie potrzebuję, ale które muszę zintegrować, i zapłacić za nie pamięcią, pasmem, itp. > Dodatkowo, gdy potrzebujesz zmienić kogoś w zespole lub nawet cały > zespół to szukasz developerów znających X, Y lub Z i masz niemal od strzału > gotowego programistę, I tu mam przeciwne spotrzeżenie. Ilość dostępnych frameworków oznacza, że ten ekosystem jest niesamowicie sfragmentowany, więc pula "talentów" jest mniejsza, niż mogłaby być, gdybyśmy celowani w bardziej podstawowe rozwiązania. Konkretnie: jak byś nie liczył, ilość developerów znających jakiś wybrany framework do JSa jest mniejsza, niż ilość developerów znających JSa. A to oznacza, że developer znający framework X sam siebie uzna za bardziej wyjątkowego (i słusznie), przez co będzie droższy. Czyli developer od frameworka X będzie droższy, niż developer od JSa. I teraz mam zatrudnić cały zespół takich jednorożców? To samo dotyczy wymiany zawodnika na innego. Jeszcze gorzej, jak się nam projekt zestarzeje, po tym jak wszystkich zaskoczył i niestety odniósł sukces. Wtedy okaże się, że poszukiwanie developera znającego jakiś niemodny już framework będzie podobne do szukania programisty np. COBOLa. Jeśli mówimy o kosztach, to właśnie teraz o nich mówimy. > Ponadto popularne frameworki mają masę dodatkowych narzędzi wspomagających > typu pluginy do edytorów, Których nie potrzebuję jeśli nie używam frameworków? Czyli frameworki rozwiązują problemy, których nie mam, jeśli ich nie używam? :-) Albo i nie rozwiązują. Co jeśli mój ulubiony edytor nie jest ulubionym edytorem młodzieży pasjonującej się jakimś "nowoczesnym" frameworkiem? > Masz też często literaturę na ich tenat. Znowu - nie potrzebuję jej, jeśli tych frameworków nie używam. > Oraz olbrzymią bazę społecznościową, Ale sfragmentowaną bardziej (a przez to mniej dostępną), niż bazę społecznościową bardziej podstawowego stosu. I przy bardziej podstawowym stosie mogę tej bazy społecznościowej potrzebować mniej. To jak w końcu? Co jest tańsze? Czy ktoś ma podobne obserwacje? -- Maciej Sobczak * http://www.inspirel.com
[toc] | [prev] | [next] | [standalone]
| From | Roman Tyczka <noemail@because.no> |
|---|---|
| Date | 2020-05-21 12:42 +0200 |
| Message-ID | <1kr2f4mpb5ycy.dlg@tyczka.com> |
| In reply to | #33956 |
On Wed, 20 May 2020 11:46:05 -0700 (PDT), Maciej Sobczak wrote: >> Jest wiele powodów by nie robić tego w ten sposób. > > A jednak pobawię się w adwokata diabła i spróbuję znaleźć kontr-argumenty. > >> Goły HTML, JS i CSS >> oznacza, że trzeba narąbać tony (istniejącego już) kodu, który załata wiele >> braków i niedoróbek tej golizny. > > Np. jakich braków i niedoróbek? Myślałem, że kolejne standardy tychże były opracowywane właśnie z myślą o usprawnieniach. Rozumiem, że 20 lat temu czegoś mogło tam nie być, ale czego tam nie ma w 2020 roku? Owszem, jest tych braków coraz mniej, ale są, a po drugie nie w każdej przeglądarce wszystko dsziała identycznie, dlatego stosuje się tzw. polyfille i biblioteki ujednolicające interfejs, podam dwa przykłady: https://underscorejs.org/ https://github.com/axios/axios Podobnie np. z HTML i CSS, szybciej i wygodniej buduje się stronę na Bootstrapie, niż w gołym kodzie - choć to ostatnio jest już prawie niepotrzebne. Niemniej, gdy znasz np. Bootstrapa to czytając HTMLa z użytymi klasami BS od razu wiesz jak to się zachowa, a gdy masz zamknięte wynalazki to musisz szukać źródeł i ryć. >> Wymyślając te swoje ficzery tworzysz de >> facto kolejnego frameworka, > > Tak. Prawdę mówiąc każdy projekt, jeśli jest właściwie i na bieżąco refaktoryzowany, wyłania coś, co ma szensę istnieć odrębnie. To może być jedna funkcja pomocnicza, a może być framework. Albo cokolwiek pomiędzy. > >> z tym, że nikt poza Tobą i Twoim zespołem go >> nie zna. > > Ale za to ja i mój zespół znamy go w 100%. No... albo tak albo nie... a na końcu okazuje się, że pod presją czasu, product managera lub czegokolwiek ten wasz framework to potworek o dwunastu głowach i sześciu ogonach, którego tak naprawdę nikt już nie ogarnia. A dokumentacja? ...eee... no nie pisaliśmy, bo każdy znał na 100% ;-) >> Zatrudnij teraz do zespołu nowego developera i każ mu to >> zrozumieć, rzeźnia. > > Z moich doświadczeń wynika, że nowy developer najwięcej problemów ma ze zrozumieniem dziedziny problemu, czyli przedmiotu realizowanego projektu. Ogarnięcie się w samym kodzie i rozwiązywanie kolejnych wyzwań przez analogię z istniejącym kodem jest najmniejszym problemem. Zależy o jakim poziomie mówisz, bo ten z samego dołu developer to klepacz kodu, nie zna i nie musi znać dziedziny, on ma zadanka w tablicy agilowej i koduje. >> Dodatkowo musisz pisać dokumentację. > > Od kiedy pisanie dokumentacji jest złe? :-) Kto twierdzi, że złe? Jest kosztowne. >> Używając >> frameworka open source masz produkt rozwijany za darmolca przez >> setki/tysiące developerów, > > Z pierdylionem rzeczy, których nie potrzebuję, ale które muszę zintegrować, i zapłacić za nie pamięcią, pasmem, itp. Jeśli wybierzesz nieodpowiedni framework to tak. >> Dodatkowo, gdy potrzebujesz zmienić kogoś w zespole lub nawet cały >> zespół to szukasz developerów znających X, Y lub Z i masz niemal od strzału >> gotowego programistę, > > I tu mam przeciwne spotrzeżenie. Ilość dostępnych frameworków oznacza, że ten ekosystem jest niesamowicie sfragmentowany, więc pula "talentów" jest mniejsza, niż mogłaby być, gdybyśmy celowani w bardziej podstawowe rozwiązania. Konkretnie: jak byś nie liczył, ilość developerów znających jakiś wybrany framework do JSa jest mniejsza, niż ilość developerów znających JSa. > A to oznacza, że developer znający framework X sam siebie uzna za bardziej wyjątkowego (i słusznie), przez co będzie droższy. Czyli developer od frameworka X będzie droższy, niż developer od JSa. > I teraz mam zatrudnić cały zespół takich jednorożców? > > To samo dotyczy wymiany zawodnika na innego. > > Jeszcze gorzej, jak się nam projekt zestarzeje, po tym jak wszystkich zaskoczył i niestety odniósł sukces. Wtedy okaże się, że poszukiwanie developera znającego jakiś niemodny już framework będzie podobne do szukania programisty np. COBOLa. > > Jeśli mówimy o kosztach, to właśnie teraz o nich mówimy. To powiedz mi czym się różni znalezienie programisty do dobrego, udokumentowanego i przetestowanego frameworka, który dziś już nie jest w pierwszej piątce od znalezienia programisty do autorskiego, zamkniętego i dużo mniej dopracowanego frameworka pisanego w firmie? >> Ponadto popularne frameworki mają masę dodatkowych narzędzi wspomagających >> typu pluginy do edytorów, > > Których nie potrzebuję jeśli nie używam frameworków? Czyli frameworki rozwiązują problemy, których nie mam, jeśli ich nie używam? :-) To czy potrzebujesz to Twój wybór, osobisty. Ja mówię o tym, że są narzędzia bardzo przyspieszające i organizujące pracę w danym frameworku, bo ku temu zostały stworzone. Nie mam na myśli narzędzi, które utrudniają pracę czy bez których nie da się frameworka używać. > Albo i nie rozwiązują. Co jeśli mój ulubiony edytor nie jest ulubionym edytorem młodzieży pasjonującej się jakimś "nowoczesnym" frameworkiem? Wtedy nie masz takich narzędzi, czyli dokładnie tak jak z autorskim frameworkiem. >> Masz też często literaturę na ich tenat. > > Znowu - nie potrzebuję jej, jeśli tych frameworków nie używam. Z kolei używając swojego nawet jeśli jej potrzebujesz to nie masz. >> Oraz olbrzymią bazę społecznościową, > > Ale sfragmentowaną bardziej (a przez to mniej dostępną), niż bazę społecznościową bardziej podstawowego stosu. > I przy bardziej podstawowym stosie mogę tej bazy społecznościowej potrzebować mniej. Nawet mocno pofragmentowana jest o kilka rzędów większa niż Twój zespół i wszyscy znajomi programiści. > To jak w końcu? Co jest tańsze? > > Czy ktoś ma podobne obserwacje? No właśnie, ktoś coś? -- pozdrawiam Roman Tyczka
[toc] | [prev] | [next] | [standalone]
| From | Maciej Sobczak <see.my.homepage@gmail.com> |
|---|---|
| Date | 2020-05-21 12:03 -0700 |
| Message-ID | <e2a552ad-819e-4197-aed3-d330b84aa9c0@googlegroups.com> |
| In reply to | #33957 |
> Owszem, jest tych braków coraz mniej, ale są, a po drugie nie w każdej > przeglądarce wszystko dsziała identycznie, dlatego stosuje się tzw. > polyfille i biblioteki ujednolicające interfejs, podam dwa przykłady: > https://underscorejs.org/ > https://github.com/axios/axios Pojedyncze biblioteki są bezpieczniejszym rozwiązaniem, niż framework, który z natury narzuca więcej. Ja nie mam problemu z bibliotekami. > Niemniej, gdy znasz np. Bootstrapa to czytając HTMLa z użytymi klasami BS > od razu wiesz jak to się zachowa, a gdy masz zamknięte wynalazki to musisz > szukać źródeł i ryć. Ale ja nie chcę mieć zamkniętych wynalazków, skoro ustaliliśmy, że ostatnio (i z biegiem czasu) wszystko co potrzeba, jest w standardzie. > No... albo tak albo nie... a na końcu okazuje się, że pod presją czasu, > product managera lub czegokolwiek ten wasz framework to potworek o dwunastu > głowach i sześciu ogonach, którego tak naprawdę nikt już nie ogarnia. A > dokumentacja? ...eee... no nie pisaliśmy, bo każdy znał na 100% ;-) Jest takie ryzyko. Ale ja widzę, że to samo dzieje się z zewnętrznymi frameworkami. Gdy autorzy już ich nie ogarniają, to powstaje nowy framework. Jeszcze fajniejszy. I pozbawiony wad poprzedniego frameworka! To nie jest tak, że zewnętrzne rozwiązania się nigdy nie degradują. Degradują się a nawet z tego powodu wychodzą z użycia. ActiveX? Applety? Flash? To są oczywiste archaizmy, ale świat frameworków niebezpiecznie przyśpieszył i do tej grupy dołączają frameworki, które jeszcze niedawno były cool. > Zależy o jakim poziomie mówisz, bo ten z samego dołu developer to klepacz > kodu, nie zna i nie musi znać dziedziny, on ma zadanka w tablicy agilowej i > koduje. Ja pracowałem w miejscach, gdzie jednak "ten z samego dołu" musiał wiedzieć, co koduje. Bo by bez tej wiedzy po prostu nie zakodował. I ta wiedza jest zwykle trudniejsza, niż znajomość frameworka. > > Od kiedy pisanie dokumentacji jest złe? :-) > > Kto twierdzi, że złe? Jest kosztowne. Policzmy. Nie za bardzo mam na czym liczyć poza moim projektem YAMI4, ale skoro go mam, to policzmy. Lubię pisać "prozę" i nigdy nie słyszałem zarzutu, że moja dokumentacja ma jakieś braki, więc uważam, że to właściwy przykład. Otóż w tym projekcie dokumentację robi Doxygen z odpowiednich komentarzy w kodzie, których jest... 5%, jeśli liczyć ilość linii. To jest wartość obiektywna, którą potrafię zmierzyć - ale jest jeszcze odczucie subiektywne, że ta część dokumentacyjna się zmienia najrzadziej (np. tam się nie robi optymalizacji, nie poprawia algorytmów, nie debuguje, itd.), więc wysiłek w relacji do całości jest pewnie rząd, jeśli nie dwa, wielkości mniejszy. I to jest ten "koszt". Czyli żaden koszt. Prawdziwym kosztem jest ten właściwy kod a nie dokumentacja. I tylko ten właściwy kod może być motywacją do tego, żeby go nie pisać i postawić na istniejący framework. > > Z pierdylionem rzeczy, których nie potrzebuję, ale które muszę zintegrować, i zapłacić za nie pamięcią, pasmem, itp. > > Jeśli wybierzesz nieodpowiedni framework to tak. Słusznie. A skąd mam wiedzieć, czy jest odpowiedni? Zwykle wygląda to tak, że tworząc zespół do kodu, którego jeszcze nie ma, zatrudniam pierwszego jednorożca, który wybiera framework. Potem on odchodzi z zespołu (albo awansuje - na jedno wychodzi) a reszta się męczy z konsekwencjami jego wyborów z wczesnego etapu projektu. Więc skąd mam wiedzieć, że mój pierwszy zatrudniony jednorożec wybierze odpowiedni framework? > To powiedz mi czym się różni znalezienie programisty do dobrego, > udokumentowanego i przetestowanego frameworka, który dziś już nie jest w > pierwszej piątce od znalezienia programisty do autorskiego, zamkniętego i > dużo mniej dopracowanego frameworka pisanego w firmie? Tym, że w drugim przypadku zatrudniam programistę do standardowego stacku, bo z jego punktu widzenia właśnie to zobaczy w firmie. A to, że część kodu w projekcie zostanie wydzielona przez refaktoryzację do osobnego bytu (i czy w ogóle to nastąpi), to jest szczegół, który w ogóle nie musi przeszkadzać w rekrutacji. Natomiast w pierwszym przypadku muszę napisać w ofercie pracy, że szukam programisty do frameworka X. I tym ogłoszeniem od razu zniechęcam tych, którzy tego frameworka nie znają. Czyli ograniczam target, a przez to zwiększam koszt. > >> Oraz olbrzymią bazę społecznościową, > > > > Ale sfragmentowaną bardziej (a przez to mniej dostępną), niż bazę społecznościową bardziej podstawowego stosu. > > I przy bardziej podstawowym stosie mogę tej bazy społecznościowej potrzebować mniej. > > Nawet mocno pofragmentowana jest o kilka rzędów większa niż Twój zespół i > wszyscy znajomi programiści. Nie, bo moja docelowa społeczność to standardowy stack. Ta społeczność jest zawsze największa. Ja nigdy nie zapytam na grupie dyskusyjnej, czy ktoś wie, jak się coś robi w moim własnym frameworku. Natomiast w przypadku cudzego frameworku już bym może musiał pytać. Czyli dalej nie wiemy, co się bardziej opłaca. -- Maciej Sobczak * http://www.inspirel.com
[toc] | [prev] | [standalone]
Back to top | Article view | pl.comp.programming
csiph-web