No, to máte těžké. Pokud tu krásu nedokážete najít, asi na ni nemáte buňky. To už tak bývá, že každému svědčí něco jiného a že není programovací jazyk ten, aby se zavděčil lidem všem.
Krása Smalltalkovských metod Boolean>>ifTrue: a Boolean>>ifFalse: je v tom, jak eliminují potřeu řídicích struktur a převádějí ji na jednotný mechanismus volání metod. Pokud si člověk uvědomí, jak vlastně ifTrue: a ifFalse: pracují, dojde mu, že si může dělat vlastní řídicí struktury, které jsou neodlišitelné od těch standadních. (Máte chuť kupříkladu na ternární logiku? Tak si ji dopřejte! ;-))
Souvisí s tím i zjednodušení jazyka. Jak se píše třeba tady: "A language is at its best when it is simple enough for people to have a deep enough understanding of it to use it to its fullest potential. This means there should be few different concepts to master, even while improving on the functionality of earlier languages. One of the trickiest parts of language design is knowing what features you don't need." Zjišťuji čím dál tím víc, že s těmito názory nejsem ani zdaleka sám (další krásná zmínka ohledně "features stockpiling" je v R5RS).
Takhle by šlo pokračovat dál, třeba metatřídy jsou moc šikovná věc...ale pokud říkáte, že to nedoceníte, asi to opravdu nedoceníte... :-)
celý kernel a vlastně i celý Darwin jsou open source včetně všeho co do nich apple přidal.
Opravdu? Ja jsem mel za to ze jejich kernel je FreeBSD portovane na jejich platformu a nad mikrojadro Mach. A ani od tech jejich modifikaci nejsou zdrojaky (ale na druhou stranu, opravy chyb a nektere veci se snazi propagovat zpet k FreeBSD).
Byl jsem jeste upozornen, ze situace neni tak cerna - nektere veci Apple uvolnuje, i kdyz to vyvinuli kompletne oni (treba RendezVous). Ale to je spis dano snahou o to, aby se protokol uchytil a bylo mozne ho pouzit i jinde (treba v sitovych tiskarnach a podobne). Celkove ale porad vidim Apple jako spis zapornou firmu.
Hmm, co s tim bc? Mate-li srovnatelny HW, kde vam 2^1000000 nebezi tri minuty, jakou mate verzi bc? Primo od Applu nebo neco co jste si kompilovali sami?
-Yenya
"Velmi zajímavé čtení. Objective C má objekty dotažené dále než v Javě a přitom výsledek je zkompilovaná (=rychlá) binárka. ( Pro nevěřící: opravdu lze jít v objektech dále než v Javě."je velmi, velmi nepřesná.
Porovnání rychlostí by možná stálo za pokus, overhead zasílání zpráv v Objective C není zanedbatelný a hlavně ho prakticky nelze omezovat. Větší význam než samotný fakt statické kompilace do nativního kódu má (dle mých zkušeností) to, že náročné části kódu se prostě napíší postaru, plain C.
Dále jsou zde věci jako garbage collector nebo bytecode manipulace. Porovnání by asi trochu zabralo víc času. Většina těch rozdílů je dána odlišnou koncepcí a účelem Javy.
Co se týče objektovosti, tak samozřejmě Java není žádný zázrak (a ani nikdy nebyla). Největší rozdíl je absence metod tříd, to opravdu často bolí.