Path: csiph.com!news.mixmin.net!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.am4!peer.am4.highwinds-media.com!peer01.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-a-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail Newsgroups: pl.comp.lang.javascript From: Wojciech Bancer Subject: Re: dlaczego firstChild oraz childNodes[0] mam undefined? References: <5d210841-ac34-4a0b-9981-9fe8d5e61d4c@googlegroups.com> <1qyr04lt73a9k.2i4h5jx0p963$.dlg@40tude.net> <20170316120955.4c2fcf01@pe.regionet.pl> Organization: None Date: Sat, 18 Mar 2017 15:52:32 +0100 User-Agent: slrn/1.0.2 (Darwin) Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-2 Content-Transfer-Encoding: 8bit Message-ID: Lines: 66 NNTP-Posting-Host: 109.232.27.66 X-Trace: 1489848752 unt-rea-a-02.news.neostrada.pl 15197 109.232.27.66:38325 X-Complaints-To: abuse@news.neostrada.pl X-Received-Body-CRC: 5101683 X-Received-Bytes: 3946 Xref: csiph.com pl.comp.lang.javascript:3304 On 2017-03-18, Cezary Tomczyk wrote: [...] >> Nie. Bo czas jest cenniejszy niż te kilka kb kodu. >> Nie obsługujemy w dzisiejszych czasach atarynek. > > Pojęcie oszczędzania przez to czasu jest względne. Dodajesz coś, co > rozwiązuje jeden problem i jednocześnie tworzysz pięć innych problemów, > np. może okazać się, że jest niekompatybilne z inną bilioteką albo ów > lib jest zależny od cośTam 2.x a w projekcie jest tylko wersja 1.x. Dawno dawno temu ludzie wymyślili coś co się nazywa "zależność" i opracowali systemy do zarządzania nimi. Dla przykładu możesz kojarzyć coś co się nazywa homebrew. W światku Javascriptu również takie systemy są i sprawdzają się o wiele lepiej niż wiedza pojedynczego programisty, choćby i był on najlepszy. > Poza tym, dodanie każdego liba to ekstra czas na zarządzanie nim > (wersjami, kompatybilnością, a jak znajdziesz bug-a, to kto to ma > poprawić?). Wspomniane wyżej dependency managery. Nie wiem czy zdajesz sobie sprawę, ale od dłuższego już czasu, są one wszechobecne w praktycznie każdym języku programowania. Naprawdę będziesz kwestionować rozwój open source i jego dokonania w zakresie radzenia sobie z takimi problemami? Czy po prostu nie wiesz jak to się robi? Popatrz może co potrafi zrobić bower, npm, albo yarn. Błędy możesz zgłosić, możesz zrobić sobie fork projektu i podesłać poprawkę autorom. Przy czym ja nadal twierdze, że więcej błędów robi samodzielny programista, który ma termin, ograniczony budżet, niż zespół ludzi którzy robią coś ochotniczo, mają czas pisać testy i dzielą się wiedzą. I masz się kogo spytać. >> Ale zdaj sobie sprawę że stajesz w opozycji do znacznej większości. > To, że większość tak robi, nie znaczy, że dobrze. Nie znaczy też, że jest to rozwiązanie złe. Świat ewoluował, warto się czasem zagłębić w to co się dzieje, a nie tkwić w rozwiazaniach z początku wieku. Jeszcze pamiętam czasy kiedy każda agencja interaktywna, każdy podmiot na polskim rynku musiał mieć własne rozwiązanie, własny framework i własne rozwiązania. :) I to nie były dobre czasy :) >> szybciej. :) > > Tu nie chodzi o przysłowiowe 15 cykli dłużej, ale dodawanie > niepotrzebnej warstwy, gdzie problem czasem może być rozwiązany w > prostszy sposób. ;-) Jakby to było lepsze, to do dzisiaj programowalibyśmy w asemblerze. Bo tam masz najmniejszą warstwę abstrakcji. Zamiast myśleć w ten sposób, pomyśl raczej że jest to warstwa która *zdejmuje z Ciebie* konieczność zajmowania się pewną klasą problemów. I to taką, która przez długi czas była bolączką i bardzo dużym kosztem w świecie IT. -- Wojciech Bańcer wojciech.bancer@gmail.com