[Javalist] nyomják krahácsot (romlik a jáva)

istvan.ketler at lhsystems.com istvan.ketler at lhsystems.com
2012. Május. 23., Sze, 14:27:57 CEST


Elolvasva egy csomó hozzászólást, kicsit azért úgy érzem hogy a problémák egy része mű. Ha eddig volt két interfészed, amelyekben volt azonos signatúrájú metódus, akkor az implementáló osztály felelőssége volt azt megoldani, hogy mindkét interfész számára érvényes megoldást implementáljon. Most ha mindkettőben van default, akkor valszeg pontosan ugyanezt kell tenni (és akkor gondolom a fordító nem siránkozik az ütközés miatt). Szóval mi változott? Szerintem ilyen értelemben semmi, csak lett egy új, az esetek 99%-ában használható lehetőség.

Ugyanakkor azt is gondolom, hogy a Java egyre betegebb lesz. Szép, tiszta volt, fordítási időben egy csomó problémát megtalált. Erre jöttek először az annotációk, szétcsatolások, amik fordítási időben már nehezen megfoghatók, és most halad tovább a lejtőn a C++ irányába. A java 9-ben gondolom már lesz operator overloading is... Mondjuk látom az előnyét ennek a default törzsnek, és jutott már eszembe korábban hogy de jó volna egy ilyen, de kicsit szebb, jobban átgondolt tervezéssel meg tudtam oldani a problémát jávásan is. Most majd nem kell szépre tervezni, rondán is megoldható lesz... :)

Vagy vegyük a globális változót. Ez ugye kerülendő, legyen a változó privát. Adjunk ezért az osztályhoz gettert meg settert, és nem egyenlőségjellel módosítjuk, hanem metódussal. Kicsit jobb, mert ellenőrizni lehet. Pontosabban lehetne, mert 99%-ban senki nem ellenőriz, a setter sima értékadássá degradálódott. Ha már így van, ne kelljen annyit gépelni, jöjjön a @get és @set annotáció a változó deklaráció elé, és majd a fordító legenerálja a default gettert és settert. Na de akkor már miért ne legyen globális az a szerencsétlen változó, hiszen úgyis kitettük már a kirakatba típussal, mindennel együtt... Csak mert az "nem OO"? Hát szerintem a nyakló nélkül használt getter és setter sem az...

A fejlesztések háromnegyede ugye már most is webes, a gwt, icefaces és társai pedig azért elég macerásak. Javascriptben, vagy - horribile dictu - php-ban sokkal gyorsabban össze lehet kalapálni egy frontendet (és ma már kellően jól karbantartható is a javascript, ha normális programozó írja), a javanak meg, ha így rondul tovább (és romlik vele a karbantarthatósága), majd marad a middleware (még egy darabig, mert pl. a javascript már ott is nyomul). A jávás ejb programok egyre nehezebben karbantarthatók, egyre bonyolultabbak, egyre több tudás kell a működés megértéséhez - ergo valószínűleg el fognak fordulni tőle előbb-utóbb valami könnyebb irányába.

Szerintetek ez például egy normális jáva kód? Ki a rossz nyavaja akar ilyet karbantartani?

@CacheListener
   public class MyListener
   {

      @CacheStarted
      @CacheStopped
      public void cacheStartStopEvent(Event e)
      {
         switch (e.getType())
         {
            case Event.Type.CACHE_STARTED:
               System.out.println("Cache has started");
               break;
            case Event.Type.CACHE_STOPPED:
               System.out.println("Cache has stopped");
               break;
         }
      }

      @NodeCreated
      @NodeRemoved
      @NodeVisited
      @NodeModified
      @NodeMoved
      public void logNodeEvent(NodeEvent ne)
      {
         log("An event on node " + ne.getFqn() + " has occured");
      }
   }

Üdvözlettel,

Iván

István Ketler
Senior Consultant
Lufthansa Systems Hungaria Kft. 
Development Center Pest 
Neumann János u. 1/e
1117 Budapest
Hungary 
Tel: +36 1 887-2815 
Fax: +36 1 887-2977
Mobile: +36 30 600-4936 
Room: Infopark E, Room LH2-24 
e-mail: istvan.ketler at lhsystems.com 
Internet: www.LHsystems.hu



 
Sitz der Gesellschaft / Corporate Headquarters: Lufthansa Systems Hungaria Kft, Budapest, Fövarosi Birosag 01-09-463417
Geschaeftsfuehrung / Management Board: Monika Houck

-----Original Message-----

From: javalist-bounces at lists.javaforum.hu [mailto:javalist-bounces at lists.javaforum.hu] On Behalf Of Auth Gábor
Sent: Tuesday, May 22, 2012 11:12 PM
To: javalist at lists.javaforum.hu
Subject: [Javalist] Java8 - Alapértelmezett metódustörzs interfészekben

Hi,

http://wiki.javaforum.hu/pages/viewpage.action?pageId=21103888
--
http://www.javaforum.hu -=- http://www.enaplo.hu Auth Gábor -=- http://www.javaforum.hu/web/10/authgabor
_______________________________________________
Javalist mailing list
Javalist at lists.javaforum.hu
http://lists.javaforum.hu/mailman/listinfo/javalist


További információk a(z) Javalist levelezőlistáról