Path: csiph.com!.POSTED.194-73-239-109.cust.centrio.cz!not-for-mail From: Cezary Tomczyk Newsgroups: pl.comp.lang.javascript Subject: Re: Argument funkcji Date: Sat, 3 Mar 2018 19:01:43 +0100 Organization: csiph.com Internet News Service Message-ID: References: <5a8d1d93$0$674$65785112@news.neostrada.pl> <148vihvftubia.1e9gxiae9fy4p.dlg@40tude.net> <1qn3p672u6yl5.1585lwp0arhbr.dlg@40tude.net> <1b368637-7199-4b74-85d2-5a359e6666e0@googlegroups.com> <15dvc5ead1h2c.cg8ko59kdlzt$.dlg@40tude.net> <246a73c9-8dc7-4ee0-946e-885933c13103@googlegroups.com> <27t8tt1m96wu.11hqw4vglcdjq.dlg@40tude.net> <11hsdnx36lvz3.sjxote5c1628.dlg@40tude.net> <2762d7f6-99fd-4697-b267-dc1ce7a9fe24@googlegroups.com> <18glwbnoogv4i$.ob1q7xeh9yly$.dlg@40tude.net> <3c1ede4e-1fb8-4574-9e6a-429e512643db@googlegroups.com> <99f5fc14-8443-4e78-b5ca-9bcdd1c9af59@googlegroups.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-2; format=flowed Content-Transfer-Encoding: 8bit Injection-Date: Sat, 3 Mar 2018 18:01:45 -0000 (UTC) Injection-Info: csiph.com; posting-host="194-73-239-109.cust.centrio.cz:109.239.73.194"; logging-data="19029"; mail-complaints-to="admin@kev009.com" User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 In-Reply-To: Content-Language: en-US Xref: csiph.com pl.comp.lang.javascript:3449 On 03/03/2018 17:49, Wojciech Bancer wrote: > On 2018-03-03, Cezary Tomczyk wrote: > > [...] > >>> a) wykonać dużo więcej pracy w porównywalnym lub krótszym odcinku czasu >> >> Niektóre rzeczy, ale nie wszystko. > > Zły akcent. Raczej "prawie wszystko za wyjątkiem jakiś zupełnie > najprostszych podstaw typu 'hello world'. Prawie robi wielką różnicę, ale zostawmy już to. >>> b) efektywnie rozdzielać pracę w zespole (sensowna struktura obiektowa, która >>> jest spójna i znana bo wynika z założeń / dokumentacji) >> >> W teorii tak, a w praktyce wygląda to zupełnie inaczej. > > W praktyce wygląda dokładnie tak. No to mamy różne doświadczenia. >> Trafiłem na projekt napisany w Angularze 1.x. W pewnym momencie >> doszli do ściany, bo aplikacja stała się niezarządzalna. > > No i? Niczemu z tego co napisałem to nie przeczy. No i to, że żaden framework nie gwarantuje niczego. >> Wniosek jest taki, że żaden framework nie zabezpieczy przed >> napisaniem śmieciowego kodu. > > Ale nie taka była moja teza. > Moją tezą było, że z wykorzystaniem frameworka możemy zrobić > więcej, a nie że nagle zrobi magicznie z idioty programistę. > > I że możemy efektywniej rozdzielać pracę bo ktoś już nad tym > pomyślał i nie trzeba odkrywać koła na nowo. Owszem, przecież nie pisałem, że tak nie jest. Jeno to, że jeszcze trzeba umieć z nich korzystać. Ale to już osobny temat. >>> c) ten sam efekt uzyskać w dużo krótszym czasie >> >> To pojęcie względne. > > Nie. Całkowicie mierzalne. > Chociażby w ilości i skomplikowaniu aplikacji typu SPA jakie > powstają dzisiaj, a jakie powstawały kiedyś. Stopień skomplikowania jest taki sam, tylko jego ciężar przeniósł się gdzie indziej. Wcale dzisiaj (2018) nie jest łatwiej. >>> Nadal w procesie wytwarzania oprogramowania człowiek jest tym najdroszym >>> elementem,zwłaszcza taki który nie rozumie jak szkodliwa i kosztowna jest >>> przedwczesna i niepotrzebna optymalizacja. >> >> Nie mam nic przeciwko frameworkom. Niemniej jednak większość z nich jest >> strasznie "spuchnięta", a jak dodać jeszcze to, co programiści >> "wyrzeźbią", to robi się z tego kilka MB. > > I co z tego? I to z tego, że na siłę robimy w ES6 a i tak wszystko potem transpilujemy do kilku MB ES5. Bo tak sobie frameworki wymyśliły. To tylko przykład bezsenownego podejścia. >> Według mnie ma to znaczenie, bo co z tego, że mamy kilka GB RAM-u jak >> trzeba tony kodu bez sensu przetwarzać by osiągnąć proste rezultaty. > > Sens jest taki, że te "mikrooptymalizacje" kosztują czas. > Dużo więcej czasu, za który musisz zapłacić / rbh. > A korzyści realnej z tego nie masz żadnej, bo kilka MB > to jest nic dla współczesnych systemów. Ja nie pisałem o mikrooptymalizacjach, a o tym, że frameworki same z siebie dodają jeszcze masę syfu. Plus ludzie dodają np. całe Underscore by skorzystać z jednej metody, itp. I aplikacje mają po kilka(naście) MB. Np. moim zdaniem 75% kodu wygenerowanego przez webpack dla Angulara to masa śmieci. W ogóle pomysł na używanie na siłę ES6 w środowisku web, który i tak jest transpilowany do ES5, jest średnio użyteczny. Pomijam tutaj NodeJS, bo tu ma to sens. To oczywiście nieco dygresja. -- Cezary Tomczyk http://www.ctomczyk.pl/