Citat:
Rapaic Rajko: (samo bez persiranja na forumu, pls :) )
Nisam persirao (malo V), već je bilo upućeno ne samo tebi, već i drugima koji su podigli obrve kad sam rekao da Java nije čist OO jezik. :) Inače, tebe znam i lično, a i po godinama sam bliži tebi nego verovatno većini drugih sa teme. ;)
Citat:
Po meni, osnovna premisa koja deli OOP i non-OOP jezike bi trebalo da bude mogucnost deklarisanja procedure/funkcije bez deklarisanja klase; drugim recima, mozete li u nekom jeziku napisati naredbu/kod izvan METODE.
Definicija ima logike, samo treba imati u vidu da postoje OO jezici gde se kôd ne mora eksplicitno uokviriti klasom da bi negde pripadao, već je sasvim moguće da npr. kompajler implicitno kreira klasu i/ili metodu (makar i anonimnu) u kojoj taj kod obitava. Scala, na primer, omogućava da napišeš kôd koji bukvalno glasi:
Code:
println("Hello, World!")
i to će raditi, i pored toga što je Scala, za razliku od Jave, čist OO jezik.
Citat:
Medjutim, deklarisanje jave kao half-OOP jezika je prestroga (dis)kvalifikacija; samo zato sto postoje primitivni tipovi koji nisu objekti...
Pa nije samo zato. Neka opšteprihvaćena definicija čistog OO jezika je ta da je u njemu sve objekat. Sve vrednosti, brojevi, karakteri, stringovi, zatim klase, pa i blokovi koda, treba da budu objekti.
No, tu se već dolazi do sfera koje su manje-više akademske prirode. Java bez sumnje
jeste OO jezik i OO programiranje je prirodan i primarni način programiranja u Javi. Moja jedina zamerka je što je Javin OO model bespotrebno previše komplikovan za nekog ko tek ulazi u OO vode. Jedini gori jezik za OO početnika je verovatno C++. :)
BTW, jezik koji ja najčešće koristim je Ruby.
[Ovu poruku je menjao jablan dana 12.02.2014. u 13:23 GMT+1]