Vlákno názorů k článku Novinky v Javě aneb Tygří spáry od hisaak - Zatimco autoboxing mi prijde jako jasne pozitivni vec,...

  • Článek je starý, nové názory již nelze přidávat.
  • 7. 11. 2003 12:57

    hisaak (neregistrovaný)

    Zatimco autoboxing mi prijde jako jasne pozitivni vec, ktera sebou nenese takrka zadne riziko, tak o vyctovem typu a statickem importu dost pochybuji. Prijde mi, ze veskere zprehledneni kodu je zadne. Otazky "Odkud se tu, k certu, bere to abs()? Ze ktere tridy to tu vlezlo?" budou asi dost caste. Bojim se, ze vysledkem muze byt i zcela chaoticky kod ve stylu jazyka C.

    Promenny pocet parametru mi prijde jako zcela zbytecny. Muzu prece predavat pole a kontejnery. Navic si umim predstavit i par matoucich situaci jako metoda(int i), metoda(int i, Object o), metoda(int i, Object... o). Nevi nekdo, jak se tohle resi?

    Genericke dat. typy a rozsireny for jsou zajimave. Kdyz jsem to videl prvne, tak jsem se lekl, ze vyvoje Javy se zmocnili sileni C++ sablonari. Ted si rikam, ze to mozna nebude tak uplne zle.

  • 7. 11. 2003 13:37

    Zdenek (neregistrovaný)

    Ve statickych importech se asi vsichni shoduji, ze mohou, ale nemusi kod sprehlednit.

    Promenny pocet parametru je opravdu jen zkratka pro pole objektu (nebo jinych typu). Nevim jak to bude fungovat, ale vetsina jazyku (prekladacu jazyka) se snazi najit funkci s presne odpovidajicimi parametry, pokud ji nenajde hleda nejblizsi. Priklad

    metoda(2) zavola vzdy metoda(int)
    metoda(2, new Object()) vzdy metoda(int, Object)
    metoda(2, new Object(), new Object()) zavola metoda(int, Object...)

    Funguje to i v C++ a jejich implicitnich hodnotach parametru. V pripade moznych kolizi prekladac ohlasi chybu. Priklad:

    metoda(int i)
    metoda(int i, int j = 0)

    je nepripustne. Sablony v Jave bohuzel (mozna bohudik) nejsou funkcne totozne se sablonami v C++ (spise makra). V C++ lze s nimy dosahnout vypocetni optimalizace v dobe prekladu, kterym se C v nekterych pripadech jen zda.