Vlákno názorů k článku MAC OS X je taky unix (3): Dědictví NeXTStepu od petr neptun - nejak nechapu, k cemu je dobre, kdyz je...

  • Článek je starý, nové názory již nelze přidávat.
  • 19. 5. 2005 0:27

    petr neptun (neregistrovaný)
    nejak nechapu, k cemu je dobre, kdyz je jazyk ciste objektovy ... resp jediny takovy jazyk, ktery jsem dosud poznal, je smalltalk a nenasel jsem u nej zatim zadnou vyhodu treba oproti jave. naopak - vzhledem k tomu, ze jsou promenne netypovane funguje prapodivne code-completion, coz je pro me dost zasadni nevyhoda, dale se mi ani pramalo nelibi reseni ridicich struktur tim, ze podminka je objekt typu boolean s metodami ifTrue,ifFalse atd a cyklu pres metodu do: objektu typu collection - to je podle meho nazoru naprosto silene reseni, ktere nic neprinasi krome zmateni neznaleho programatora :) -ja uz sem si na to pomalu zvykl (bohuzel) ale porad v tom nejak nenachazim tu krasu - spis me to otravuje :D
  • 19. 5. 2005 0:33

    Adam Šindelář (neregistrovaný)
    Nejsem sice dostatetečně znalý Objective C abych mohl vést debatu v rovině specificky tohoto jazyka, ale obecně objektovost jazyka chápu jako ohromné plus. Stačí se podívat o kolik jednodušší je vývoj aplikací pro objektově založené knihovny jako Cocoa, KDE nebo .NET... A to nemluvím o přehlednosti a čistotě kódu. Nakolik je zrovna Objective C správně navrženo nejsem erudován posoudit, ale věřím že když přežilo z dob NeXTStepu a dnes je nejpoužívanějším jazykem na Mac OS X (přestože kdokoliv může zrovna tak dobře použít C++ a Carbon aby dosáhnul stejných výsledků) nejspíš bude mít své přednosti :)
  • 19. 5. 2005 1:20

    paskma (neregistrovaný)
    ObjectiveC je opravdu velmi, velmi silný nástroj. Je to síla Smalltalku s rychlostí céčka. Co vím, tak doplňování kódu tam funguje dobře, protože ObjC má interfejsy atd. Ale pořád můžeš jakémukoliv objektu poslat jakoukoliv zprávu. Je to perfektní objektová nadstavba nad čistým céčkem (čili primitivní typy tam normálně jsou).

    Doporučuji články Ondřeje Čady ve starých Chipech, případně jeho slavnou hádku s prof. Miroslavam Viriusem (Java vs ObjC vs C++)
  • 19. 5. 2005 10:20

    podlesh
    Objective C rozhodne neni "ciste objektovy". Je to vlastne "jen" nadstavba C (v podstate se da implementovat jen preprocesorem + knihovny). Ale jsou tam objekty tak, jak by mely byt, zadne zhuverilosti jako "nevirtualni" a "virtualni" metody (fujtajxl).

    A code-completion funguje velice dobre, vlastne v ProjectBuilderu jsem se s nim setkal vubec poprve.
  • 20. 5. 2005 4:29

    Jakub Hegenbart

    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... :-)