Názor k článku Proč se má vyplatit vývoj pro Linux? od Saboter - Nesnášenlivost? Tu máte asi vy proti Javě. Jediné...

  • Článek je starý, nové názory již nelze přidávat.
  • 27. 6. 2008 7:41

    Saboter (neregistrovaný)
    Nesnášenlivost? Tu máte asi vy proti Javě. Jediné po čem tu já střílím je .NET (resp. C#) což je něco velmi podobného Javě, jen z mého pohledu nepovedené (na to, že to vznikalo se zkušenostmi s fungováním Javy). Neříkám že nepoužitelné, ale s tím co jsem napsal v závorce je to nepovedené.

    Uznávám, že slovo obsolete jsem skutečně moc netrefil. ale za zbytkem si docela stojím.

    I to Visual Studio vám vloží třídu do namespace podle adresáře. To že potom při refactoringu, kdy se třída přesune mezi adresáři nezmění namespace já považuji za nehorázné a nekonzistentní. Ať tedy žádný namespace při vytváření třídy nedává vůbec.

    Sám si odporujete - volnost a pravidla. Tvůrci Javy pochopili, že je potřeba stanovit pravidla tak, aby už samotný jazyk pomáhal udržovat pořádek v projektu. Nechápu co vám může vadit na svázání package a adresáře. Když mi někdo řekne, že je to v balíku org.hlupák.trouba tak okamžitě vím, kam mám jít a kde třída bude. Nechápu v čem to někoho omezuje. Také jste napadal, že Java nemá pravé namespaces. A já stále čekám v čem to tedy spočívá. Oproti tomu, když v ostatních jazycích může třída ležet kde chce a mnohdy (.NET je opět černou ovcí) i ve více souborech (návrat k C++ ? ) tak opravdu děkuji, ale nechci. Nejdřív vám vadí pravidlo Javy, ale pak říkáte, že na projektu s 20 lidmi je potřeba stanovit pravidla. Java v některých směrech myslela na vývoj velkých projektů, ale podle vás je to špatně.

    Totéž platí o výjímkách. Sám říkáte, že je zpracování výjimek důležité. Java se k tomu postavila čelem a proto nutí člověka nad výjimkou přemýšlet. A protože existují výjimky, na které nelze vhodným způsobem reagovat, zavedla RuntimeException. Tím způsobem si můžete při tvorbě vlastní knihovny vybrat, jestli se budete chovat jako ostatní jazyky a nebudete vyžadovat odchycení výjimky nebo budete kapku přemýšlet a budete vyhazovat na vhodných místech výjimky, na které je potřeba reagovat.

    Asi se však zbytečně námáhám, protože vskutku budete lenoch. Java API na většině míst nevyhazuje RuntimeException (Tu jsem doporučil pouze vám jako lenochovi, který nehodlá k výjimkám přistupovat zodpovědně. Sám bych jí ve své knihovně používal pouze na místech k tomu určených) a proto se mi totéž co v .NETu nestane.

    Já slovo dokumentace znám, ale vy asi nežijete v reálném světě. Ony všechny knihovny mají ty dokumentace ve skvělém stavu. Java byla navrhována jako bezpečný jazyk (nesoudím na kolik se to povedlo), tak to prosím zkuste pochopit. Zpracování výjimky není pouze o dokumentaci. Já si to mohu v ní přečíst, ale to mě vůbec nenutí na ni reagovat. Java udělala krok dál, výjimku považuje za tak důležitou situaci v programu (což považují i ostatní jazyky, které výjimky mají - proto je zpracovávají jiným způsobem než běh celého programu), že nenechá programátora spoléhat na nějakou DOKUMENTACI DOKUMENTACI DOKUMENTACI.