OK, licencia by mohla byt problem, ale ... najprv JAVA (nie JVM):
- Viacnasobna dedicnost - to je bordel a v podstate existuje v podobe default implementacie interface - a je to border ;-)
- Sablony su kniznica
- Closure su
- Co je nekonecny zoznam - nieco ako nekonecna pamat?
JVM:
- Praca s pamatou je OK, mame incremental GC, a rozne dalsie
Mozete pouzit ine jazyky nad JVM ktore tieto veci podporuju, vysledok je bytecode ktory tam pobezi - Groovy, Jython, Scala, Xtend, ...
Viacnasobna dedicnost - to je bordel a v podstate existuje v podobe default implementacie interface - a je to border
Že to Java neumí udělat pořádně, neznamená, že by to byl bordel. Třeba Python nemá s vícenásobnou dědičností problémy.
Sablony su kniznica
Měl jsem na mysli šablony pro generické programování, ne ty webové.
Closure su
Lambdy v Javě nejsou beztřídní funkce, ale instance anonymních tříd implementujících Callable. Beztřídní funkce má třeba C.
Co je nekonecny zoznam - nieco ako nekonecna pamat?
Např. seznam všech Fibonacciho čísel či všech desetinných číslic π. Používá se to ve funkcionálních jazycích.
Praca s pamatou je OK, mame incremental GC, a rozne dalsie
V JVM je velmi problematické používat RAII, GC je totiž nedeterministický.
Lambdy v Javě nejsou beztřídní funkce, ale instance anonymních tříd implementujících Callable.
Jsou to instance libovolného interface s jedinou metodou.
Co je nekonecny zoznam - nieco ako nekonecna pamat? - Např. seznam všech Fibonacciho čísel či všech desetinných číslic π. Používá se to ve funkcionálních jazycích.
V Javě se nekonečnému seznamu říká stream.
Python s vícenásobnou dědičností problém nemá, ale má ho programátor :-))) Ještě se vám v Pythonu nestalo, že třídu díky nevhodně zvolené dědičnosti nelze přeložit? A přeskládávání tříd je pak zbytečné zdržování, zvláště, když koncept dědičnosti se spíše opouští a nahrazuje se skládáním.