Notebook pro vývojáře v Javě

Re:Notebook pre Java Vyvojara
« Odpověď #75 kdy: 01. 10. 2016, 21:23:03 »
Bash má k OOP blíž než Java.
Wut? Nejsem fanda PowerShellu ani MS, ale ten je aspoň integrovaný do .NETu a umí OOP. Nespletl jste si to?


Kit

Re:Notebook pre Java Vyvojara
« Odpověď #76 kdy: 01. 10. 2016, 21:29:43 »
Jako třeba Systemd :D

Java je normální objektový jazyk a Bash k tomu asi blíže bude mít těžko :D Ale to bude zase nějaká specialita! Povídej!

Co bych měl povídat? Ukaž mi třeba na GitHubu aplikaci v Javě, která je napsána objektově. Většina z toho má do OOP hodně daleko.

Naproti tomu Bash skutečně pracuje s linuxovými utilitami objektově. Při spuštění jim jako parametry předá konfiguraci (ve stylu konstruktoru) a pak do nich rourou cpe data (vstup). Z druhé strany ta data odebírá a přesměruje je do další utility (objektu) nebo do souboru (výsledek). Takže v Bashi můžeš parádně dělat objektově. Dokonce každý ten objekt může běžet na jiném jádře procesoru. Stačí?

javaman ((

Re:Notebook pre Java Vyvojara
« Odpověď #77 kdy: 01. 10. 2016, 21:31:54 »
Ty mi ukaž na GH neobjektový kód v objektové Javě. To by mě zajímalo.

Už ty houby fakt nejez. Vím, že teď je sezóna, ale bacha na to :D

Kit

Re:Notebook pre Java Vyvojara
« Odpověď #78 kdy: 01. 10. 2016, 22:07:27 »
Ty mi ukaž na GH neobjektový kód v objektové Javě. To by mě zajímalo.

Už ty houby fakt nejez. Vím, že teď je sezóna, ale bacha na to :D

Moment... Marně hledám něco užitečného.

javaman ((

Re:Notebook pre Java Vyvojara
« Odpověď #79 kdy: 01. 10. 2016, 22:27:31 »
Spíše marně hledáš něco neobjektového v objektovém jazyce :D


Kit

Re:Notebook pre Java Vyvojara
« Odpověď #80 kdy: 01. 10. 2016, 22:34:49 »
Spíše marně hledáš něco neobjektového v objektovém jazyce :D

Pokud si myslíš, že najdeš v Javě něco objektového, tak hledej také. Třeba to budeš mít dřív :)

javaman ((

Re:Notebook pre Java Vyvojara
« Odpověď #81 kdy: 01. 10. 2016, 22:39:11 »
Java je objektový jazyk, takže se v ní píše objektově.


Kit

Re:Notebook pre Java Vyvojara
« Odpověď #83 kdy: 01. 10. 2016, 22:57:14 »
Takže jsem našel něco, co by mohlo být užitečné, ale objektově je jen z malé části:
https://github.com/pierrelemee/yaml-parser

Kit

Re:Notebook pre Java Vyvojara
« Odpověď #84 kdy: 01. 10. 2016, 23:27:41 »
Nemůžu si pomoct :D
https://bitbucket.org/tuxovatardis/robo2015-zs/src/2a2fb0b6c5ce9ae7d7c8a8f60a72c9964853dad8/program-rewrite/src/TuxTARDIS/Rewrite/?at=master

Vypadá to zajímavě, něco málo je i objektově, ale většina z toho je imperativní jak z doby Pascalu. Proč je např. metoda Pos.directionOf() statická, když k tomu není žádný důvod? Operátor instanceof také není zrovna objektový - polymorfismus je přece mnohem výhodnější. Metoda Pos.modify() je také podivná - proč je statická a k čemu ten switch?

Je to však hezká úloha, zítra se na ni podívám trochu podrobněji.

Re:Notebook pre Java Vyvojara
« Odpověď #85 kdy: 01. 10. 2016, 23:58:43 »
Nemůžu si pomoct :D
https://bitbucket.org/tuxovatardis/robo2015-zs/src/2a2fb0b6c5ce9ae7d7c8a8f60a72c9964853dad8/program-rewrite/src/TuxTARDIS/Rewrite/?at=master

Vypadá to zajímavě, něco málo je i objektově, ale většina z toho je imperativní jak z doby Pascalu. Proč je např. metoda Pos.directionOf() statická, když k tomu není žádný důvod? Operátor instanceof také není zrovna objektový - polymorfismus je přece mnohem výhodnější. Metoda Pos.modify() je také podivná - proč je statická a k čemu ten switch?

Je to však hezká úloha, zítra se na ni podívám trochu podrobněji.
Ad static v Pos – už nevím, zpětně to vypadá, jako bych vyráběl cosi jako POD, i když to nemá smysl.
Ad Pos.modify – má to dělat posun souřadnice v daném směru (NSEW); přijde mi lepší switch než magie s modulem.
Ad instanceof – preferoval jsem centralizovanou implementaci oproti kódu rozdělenému do více tříd; zase to vypadá jako tendence k POD.

Tohle už by nemuselo být tak imperativní: UI pro Swing a leJOS EV3

Re:Notebook pre Java Vyvojara
« Odpověď #86 kdy: 02. 10. 2016, 00:10:28 »
To jsem asi ještě neznal objektový enum, protože to by vlastně bylo elegantní řešení. :D

Kit

Re:Notebook pre Java Vyvojara
« Odpověď #87 kdy: 02. 10. 2016, 00:12:57 »
To jsem asi ještě neznal objektový enum, protože to by vlastně bylo elegantní řešení. :D

Přesně :)

iwtu

Re:Notebook pre Java Vyvojara
« Odpověď #88 kdy: 02. 10. 2016, 01:24:57 »
Je to Java. Je pre nu jedno, ci vyvijas na Linux, Windows ci OS X. Najpohodlnejsie je to na linuxe. Avsak linux je na notebooku nepouzitelny v pripade, ze ho chces pouzivat aj na osobne veci a nie iba cisto na pracu. Pri OS X budes konfiguracie riesit jednoduchsie ako na Windowse.. Najrozumnejsia volba je asi Macbook.

noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:Notebook pre Java Vyvojara
« Odpověď #89 kdy: 02. 10. 2016, 07:13:16 »
Pokud opravdu vyvijite na takove plecce, tak silne doporucuji se poohlednou po necem, co je z tohoto desetileti (nedavno jsem instaloval xubuntu na notebook s CPU, u ktereho zacal prodej pred 15 lety, a mel 4GB pameti!).

Jenže to často vyvíjím pro zákazníky, kteří ani ty 4 GB nemají. Nemůžu pro ně dělat něco, co jim na jejich mašinách nepojede. Za to by mi nezaplatili.

Ehm, co je to za logiku? Podle tohoto tvrzeni by muselo platit:

Protoze pri vyvoji front-endu pouzivam 16GB pameti tak to znamena, ze vysledny JavaScript pro stranku bude vyzadovat 16GB pameti.

To jako myslite vazne? WTF?

Používám tolik RAM, kolik mají zákazníci. Bohatě mi to stačí, víc nepotřebuji. Je na tom snad něco špatně?

Pokud to zhorsuje tvoji produktivitu, tak ano, je na tom neco spatne. To stejne plati pro textovy editor versus IDE - si pamatuju, ze z tebe minule vypadlo, ze vlastne ani netusis, co za refaktorovani IDE opravdu umi; pro Javu opravdu hodne: napr. zmena poradi parametru metody [vsude tam, kde se opravdu dedi, ne jen trapne pouze podle jmena], presunuti tridy mezi baliky [automaticky to upravi vsechny importy], presun members do predka/potomka [nemusi byt v jednom souboru]*. Argument, ze to nepouzivas (to jsi myslim minule napsal, ale mozna se pletu), opravdu nepouzivej, protoze to znamena, ze delas pouze na nejakych trivialitach, kde se nikdy nemeni pozadavky v prubehu vyvoje (to jsem jeste nezazil :D) a kde vysledny kod je pouze napis a zapomen, nikdy se do vysledne aplikace nebude nic pridavat/opravovat/upravovat (take jsem take nezazil). Predchozi veta navic pocita s tim, ze pises hned napoprve dokonaly kod, coz jsem opet v praxi take nikdy nevidel.

Vsimni si, ze podle tve logiky by kazdy, kdo si prohlizi stranky s JavaScriptem, ktery jsem napsal, by mel mit alespon 16GB pameti**, protoze tolik bylo pouzito pri jeho napsani (realne staci par desitek megabajtu). Vzdyt to je uplne na hlavu, proc by se podle pametove narocnosti dev nastroju mela jakkoliv ridit pametova (nebo jakakoliv) narocnost vysledne aplikace?

**: Pripadne "pouze" nejakych 6GB, pokud pocitas pouze pamet zabranou programy, ktere byly pouzity pri vyvoji samotnem.

*: A to bych rad pripomnel, ze se psanim kodu v Jave nezivim a ani v ni nepisu ve volnem case, takze jsem urcite mnoho pripadu pouziti vynechal. Takovy pristup, jako mas ty, bych cekal spis od studenta, co potrebuje nejak slepit tech par radku na zapocet a v podstate se mu ani nevyplati se ucit ovladat a pouzivat, pripadne i platit, plnohodnotne IDE.