Aktywne Wpisy
maikeleleq +1856
Mirki liczę na #wykopefekt
Ostatnio w galerii Posnania w #poznan źle się dzieje a mianowicie stada dzieciaków po 12-15 lat chodzą grupami i zaczepiają ludzi, plują na nich, grożą gazem pieprzowym a nawet dochodzi do pobić, same piją po toaletach wódę na potęgę, ćpają i nawet dosypują ludziom narkotyki na Food Fyrtlu do napojów, grupki potrafią liczyć po 20-30 osób, ochrona prawdopodobnie przekupiona i nic z tym nie robi a policja dziwnym
Ostatnio w galerii Posnania w #poznan źle się dzieje a mianowicie stada dzieciaków po 12-15 lat chodzą grupami i zaczepiają ludzi, plują na nich, grożą gazem pieprzowym a nawet dochodzi do pobić, same piją po toaletach wódę na potęgę, ćpają i nawet dosypują ludziom narkotyki na Food Fyrtlu do napojów, grupki potrafią liczyć po 20-30 osób, ochrona prawdopodobnie przekupiona i nic z tym nie robi a policja dziwnym
Cześć użytkownicy portalu ze śmiesznymi obrazkami.
Chciałbym was zapytać o pewną kwestię bo nie daje mi ona spokoju od kilku dni.
Czy wy też wstydzicie się swojego hobby?
Już tłumaczę o co chodzi. Mam 32 lata i interesuje się grami komputerowymi (tak wiem, mało oryginalne ale jest to jedna z pasji jaką posiadam.) Oprócz tego jeżdzę na motocyklu i gram na gitarze.
No i od dziecka rodzice mi tłukli do głowy, że
Chciałbym was zapytać o pewną kwestię bo nie daje mi ona spokoju od kilku dni.
Czy wy też wstydzicie się swojego hobby?
Już tłumaczę o co chodzi. Mam 32 lata i interesuje się grami komputerowymi (tak wiem, mało oryginalne ale jest to jedna z pasji jaką posiadam.) Oprócz tego jeżdzę na motocyklu i gram na gitarze.
No i od dziecka rodzice mi tłukli do głowy, że
Spodziewam się gigantycznej ilości hejtów, ale co tam... (uwaga, długie)
Czy tylko ja uważam że takie praktyki: http://koziolekweb.pl/category/inzynieria-oprogramowania/ekstremalna-obiektowosc-w-praktyce/
Jak i sporo więcej, jest momentami chora?
Ja rozumiem że dla was w javie EE nic się nie liczy, kod ma wyglądać jak księżniczka i może być wolny i ramożerny.
O ram tak właściwe martwić się nie trzeba, jest tani, ale jak widzę dziwne praktyki które mogą znacznie spowolnić kod ale podobno są "ładniejsze" (większość po rozbudowanie wygląda jak plątanina znaków dla mnie...) to jednak mnie coś bierze. Nowe Xeony na drzewach nie rosną, a czasem środowisko może zmusić nas do używania tylko 1 wątku z ograniczonym czasem.
Tworzę czasem dla siebie, lub innych apki w javie, nigdy nie miałem jakiegoś problemu z wydajnością, za to zawsze słyszę od innych jakie to javowe apki są wolne, pobieram... i są wolne, ale nie dlatego że java, tylko wszyscy pchają te dziwne praktyki do kodu na desktopy, już to co robicie w web devie mnie nie interesuje, tam zawsze panowały dziwne zasady by wszystko było jak najwolniejsze, ale to nie ja za to płace więc...
np: http://koziolekweb.pl/2012/01/20/ekstremalna-obiektowosc-w-praktyce-czesc-9-nie-uzywaj-getterowsetterowwlasnosci/
Jak najbardziej zgadzam się z tym że obiektowość to nie get/set, tylko głównie metody które na tych danych już operują.
Ale jak czytam żeby użyć refleksji zamiast stworzyć settera, a do reprezentacji danych użyć toString to jednak mnie coś bierze.
Jak najbardziej tworząc np grę zrobię raczej render(); w obiekcie, niż będę pobierać dane modelu z obiektu getterem, ale nie będę przecież toStringiem reprezentował wyniku np zadania, kiedy to ma być graficzne.
Tak samo kiedy chce stworzyć możliwość zmiany np koloru oczu to nie będę wchodzić tam refleksją tylko dlatego że ktoś coś takiego wymyślił, będzie to znacznie wolniejsze rozwiązanie... (no nowości aka unreflect z MethodHandle znacznie to poprawiają, ale refleksje to dalej refleksje...) tylko stworzę normalną metodę setEyeColor.
Tak samo stworzę metodę getLocation dla gracza/potworka, bo jak inaczej mam stworzyć API dla mojej gry? (ale pewnie obiekt były kopią, immutable do tego)
dalej: http://koziolekweb.pl/2012/01/14/ekstremalna-obiektowosc-w-praktyce-czesc-8-opakowywanie-kolekcji-w-klasy-specyficzne-dla-kontekstu-wykorzystania/
Znowu, zgadzam się że lepiej stworzyć metodę np containsEffect(...) niż getEffects() o ile to możliwe, a jak już zwracamy... to albo kopię, albo opakowaną w unmodifiable, ale po co tworzyć własny dziwny obiekt i zaprzęgać do pracy klasy anonimowe które nie dość że zjedzą ram to spowolnią kod, bo każde wywołanie musi stworzyć nową instance klasy, przekazać parametry i potem odwoływać się do pół klasy, co jest wolniejsze niż do pół lokalnych. (oczywiście nadzieja w JIT-cie, ale javowcy chyba za bardzo na tym polegają czasem, tutaj powinno sobie poradzić, z tym że przez pierwsze minuty używania apka tak tnie że można iść zrobić kawę i obejrzeć odcinek serialu...)
http://koziolekweb.pl/2011/12/19/ekstremalna-obiektowosc-w-praktyce-czesc-7-nie-uzywaj-klas-o-wiecej-niz-dwoch-polach/
He he, czyli co, tak dla jaj zamiast Vector z int x,y,z stworzę 1 wektor w 2D a potem dodam kolejny z 3D i ponownie spowolnie kod? no i oczywiście bez getX() tylko printX() do strumienia i ze strumienia sobie odczytam i dopiero użyje?
I oczywiście będzie to czytelniejsze?
http://koziolekweb.pl/2011/11/06/ekstremalna-obiektowosc-w-praktyce-%E2%80%93-czesc-3-opakowuj-wszystkie-prymitywy-i-stringi/
To podobnie... różnica wydajności obiektów vs prymitywów jest ogromna, JIT czyni cuda, ale bogiem nie jest, więc po co od razu pisać nie wydajnie? Czasami obiekty się przydają, ale kiedy nie ma to żadnego zastosowania logicznego... to po co.
Tym bardziej jeśli mamy za każdą operacją klonować obiekt, GC w javie radzi sobie wyśmienicie dobrze z małymi tymczasowymi obiektami, ale to dalej czuć jak ci RAM raz na 2 sekundy rośnie do 2GB i spada do 300MB to obserwuje dość często..
Tak samo nie rozumiem używania takich zabawek:
http://koziolekweb.pl/2016/06/19/pattern-matching-w-javie-z-javaslang-iii/ http://koziolekweb.pl/2016/06/18/pattern-matching-w-javie-z-javaslang-ii/ http://koziolekweb.pl/2016/06/17/pattern-matching-w-javie-z-javaslang-i/
Momentami dają całkiem ciekawy efekt, ale narzut pamięciowy i wydajnościowy jest ogromny, każdy warunek zamiast być prostym ifem lub switchem jest masą obiektów z masą branchy i masą klas.
I chyba największa głupota jaką tam wyczytałem, a potem rozmawiałem z autorem:
http://koziolekweb.pl/2016/04/04/czy-da-sie-pisac-kod-bez-jawnego-uzywania-if/
Twierdzi że jeśli zastąpimy if-y streamami i innymi konstrukcjami, to kod nagle nie będzie złożony i będzie w nim mniej branchy...
Co jest najgłupszą rzeczą jaką słyszałem od kiedy dowiedziałem się co to komputer, "czego nie widać tego nie ma" takie jest chyba motto autora bloga, bo chyba każdy rozgarnięty człowiek wie że pod tymi metodami kryje się cała masa branchy.
(nie wiem czy gdzieś jest jeszcze kopia tej rozmowy w której uparcie tego bronił)
Do tego autor sam wszędzie łamie wszystkie zasady które opisuje, w jednym miejscu pisze by wcięcia/bloki w kodzie ograniczyć do jednego poziomu, a zaraz w innym miejscu trzepie ich kilka: http://koziolekweb.pl/2016/05/03/jak-napisac-takewhile-w-javie-8/
========================
I to co jakiś czas temu mnie wyprowadziło z równowagi - nie ze względu na kod, ale przez autora:
http://koziolekweb.pl/2016/06/16/lenistwo-ponad-wszystko/
w "Prawdziwie leniwe obiekty" jakiś czas temu, zamiast jakiegoś interfejsu istniał Integer, autor bloga był zawzięcie przekonany że magicznym cudem biblioteczka która nie edytuje kodu w czasie kompilacji stworzy klasę rozszerzającą Integer, zgłosiłem mu to, w odpowiedzi dostałem że się nie znam i to zadziała:
Po czym kod został zmieniony na to co widać...
http://www.wykop.pl/wpis/18260751/koziolek666-testujesz-te-kody-ktore-wrzucasz-bo-al/
A do tego klasy proxy są też wolniejsze, no i wspierają tylko interfejsy.
Czy na prawdę nie można pisać kodu jednocześnie wydajniejszego od gówna, a jednocześnie wystarczająco czytelnego i poprawnego by nie było problemów z rozbudową? Tym więcej patrzę na JaveEE tym bardziej mam wrażenie że wszyscy tu dążą to jak największego zużycia pamięci, jak najwolniejszego kodu ale za to zdającego bezsensowne testy robione przez inne programy najciekawiej wyglądającego, bo czytelnym to nie wiem czy można to nazwać. W żadnym innym języku/technologii czegoś takiego nie widziałem. Blisko jest chyba tylko Java w wersji skrypt razem z swoimi bibliotekami typu "isArray"
Uczę się javy kilka lat, umiem coraz więcej, wliczając w to sporo czasu poświęconego na naukę samego bytecode i tego co się dzieje niżej, tego jak działa GC, trochę o samym VM i JIT, ale tego co się dzieje wyżej w javieEE chyba nigdy nie zrozumiem.
Kocham język za standardy i składnie, ale chyba będę musiał go porzucić, bo nie potrafię aż tak niewydajnie tworzyć by się dostosować do reszty. http://memytutaj.pl/uploads/2015/08/28/55e04de3719b9.jpg
Nikt tego pewnie nie przeczyta, ale przynajmniej będę wiedział że jestem jedynym wyrzutkiem tego typu i czas zmienić język na jakiś normalny.
Co do reszty - piszesz ciągle o JEE, jednocześnie nie posiadając jakiegokolwiek doświadczenia z nią. Podpowiem, że dość istotnym słowem w tym akronimie jest 'ENTERPRISE'. A aplikacje klasy enterprise to nie 'pisane dla kolegów aplikacje desktopowe'. I tak, w środowisku enterprise te właśnie 'xeony' rosną na drzewach.
Weź może poucz się assemblerów, bo widzę, że przeżywasz każdy
@fegwegw: po czym poznać, że autor trafił w czuły punkt? Nagły wylew elityzmu i wyższości w komentarzach ( ͡° ͜ʖ ͡°)
Do tego takie osoby jak autor tego bloga zawzięcie twierdzą że taki styl nadaje się do każdej aplikacji w javie, nie tylko tej EE, zamiast trzymać wymysły EE tylko dla siebie to chcą tego wszędzie, nie wnikam w to że firmy lubią marnować kasę, ich problem.
Ten wpis to zwyczajna fala frustracji. Autor nie ma bladego pojęcia o programowaniu w Javie, przeczytał kilka książek, i zgrywa fachowca.
@fegwegw: Właśnie o takich nic nie wartych komentarzach mówię. OP pokazał konkretne przykłady, i wykazał co zrobiłby inaczej.
Jeżeli chcesz dyskutować z jego kompetencjami, wykaż jego błędy w rozumowaniu, bo jak na razie jedyne co zapostowałeś to hurr durr autor jest niekompetentny, nie zna się i nic nie umie hurr durr.
Te butne komentarze całkowicie
@fegwegw: Przestraszę cię nawet bardziej, moja wiedza nie jest nawet z książek, a z praktyki, własnych doświadczeń i zleceń przez ostatnie ~4 lata (wiem że to jest mało, nie musisz pisać kolejnego
Najlepszy komentarz do takich blogów:
"No
@GotoFinal: Tak jakby Javaee już nie była pamięciożerna.
Komentarz usunięty przez autora
Jak?
A trudno mi powiedzieć jak często są używane, bo jednak nowych poważnych projektów EE które są publiczne... no trudno znaleźć :D Ale autorzy blogów tego typu zdają się być przekonani o słuszności tych rozwiązań.
A drobniejsze programy za to już łatwiej znaleźć, tworzone często przez takich dziwnych zapaleńców, ale nie sadze bym teraz coś znalazł na zawołanie, za dużo
Nie zawsze piszemy od zera, czasem dostaniemy zlecenie dotyczące np gry na androida, by coś dodać dodać, albo do jakiejś aplikacji na desktopa, czy jeszcze gorzej - gry/silnika serwera gry na desktopa w javie.
I wtedy jak osoba to tworząca nie znała się na wielowątkowości, to ty jej nagle nie dodasz, i jesteś w czarnej dupie.
Ale na pewno nie warto pisać własnej od nowa, "bo tak". No chyba że chcesz po prostu poznać jak to działa