Hlavní navigace

Vlákno názorů k článku Swift je splacený dluh Applu. Šanci má hlavně v herním průmyslu od Tomáš Znamenáček - V čem je Objective-C těžkopádné a zoufale zastaralé?...

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

    Tomáš Znamenáček (neregistrovaný) ---.ip.topnet.cz

    V čem je Objective-C těžkopádné a zoufale zastaralé? Je to jednoduchý a pragmatický jazyk, který nabízí hezké řešení správy paměti (automatické počítání referencí), dynamické zasílání zpráv a volitelné dynamické typování, tedy relativně moderní věci. Syntaxe zasílání zpráv je odlišná téměř od všeho, na co jsou lidi zvyklí, ale oproti pozičním parametrům je taky výrazně čitelnější. Objective-C není sexy, ale je to velmi kvalitní kus technologie. Ano, není nejnovější, ale rozhodně bych ho neoznačoval za zoufale zastaralé.

    Když Apple vydával první SDK pro iPhone OS, zařízení ještě byla dost pomalá. Objective-C byla z toho pohledu dobrá volba, protože se v něm dá dobře držet blízko železu, aniž by měl člověk pocit, že píše v assembleru. (Na Androidu bylo v prvních letech vidět, jak s Javou výkonnostně válčí.) Kromě toho bylo pro Apple logické využít jazyka, ve kterém se programuje pro OS X.

    Nevím, jestli Apple potřebuje snížit náskok Androidu. Má smysl šermovat počtem prodaných zařízení? Co takhle finanční podíl na trhu? Apple vždycky šel po kvalitě, případně vyšších maržích, chcete-li. Nebude do krve soupeřit s Androidem na poli levných zařízení.

    Co se rychlosti týká, proč by měl být Swift rychlejší? Možná se bude líp optimalizovat díky typovým anotacím, ale Objective-C je zatraceně rychlé (dýchá na krk C++), takže nepředpokládám, že by právě rychlost měla být hlavním tahákem. Kvůli některým dodatečným kontrolám může být místy naopak pomalejší než Objective-C se svým desítky let optimalizovaným runtimem.

    „Konzistentní uživatelský zážitek“ stojí na jiných věcech, než je programovací jazyk. „Napsat jednou, nabídnout všude“ je iluze. Každé zařízení má vlastní pravidla, vlastní logiku. V JavaScriptu bych větší aplikace rozhodně psát nechtěl, pevnější jazyky se striktnějším typovým systémem jsou k tomu podle mě výrazně vhodnější.

    Závěr článku je podle mě úplně mimo. Hlavní motivací pro existenci Swiftu není výkon. Apple se od začátku snažil modernizovat Objective-C (automatické počítání referencí, deklarované properties, closures, collection literals) a snižovat laťku pro vývoj na iOS. Swift je prostě jen logickým pokračováním těchto snah. Nic víc, nic míň.

  • 11. 6. 2014 11:50

    Miloslav Ponkrác

    Objective C byl zoufalou snahou o naroubování Smalltalku na programovací jazyk C, který se snažil o minimalizaci zásahů do jazyka C.

    Z dnešního hlediska je opravdu zastaralý a nezvyklý. Není problém si zvyknout ani na šibenici, když je nutnost, klidně i rychleji, než na 14 dní.

    C je tedy těžkopádné ve všem. Elegance Smalltalku se nedosáhlo ani vzdáleně. Zato se přidaly nevýhody spočívající ve vlastnostech jazyka C. Kromě toho dnes nezvyklý model předávání zpráv pomocí řetězců namísto seznamu metod, atd.

    Já osobně Objective C také nemusím. A protože evidetně nedokážete chápat význam slov ani textu, tak Vás upozorním, že sloveso „stěžovat si“ nemá tentýž význam jako sloves „zvyknout si“ nebo „naučit se“.

    Miloslav Ponkrác

  • 11. 6. 2014 11:33

    Tomáš Znamenáček (neregistrovaný) ---.ip.topnet.cz

    Můžete být konkrétní? V čem je Objective-C těžkopádné a zoufale zastaralé? Na jeho zvláštní syntaxi si průměrně inteligentní programátor musí zvyknout během čtrnácti dní. Desítky tisíc stížností jsem nezaznamenal, naopak.

  • 11. 6. 2014 23:06

    sulthan (neregistrovaný) ---.241.broadband13.iol.cz

    Naprosto souhlasim. Na Obj-C neni nic zastaraleho ani spatneho. Je to nizkourovnovy jazyk, ale to neni na skodu. Prave diky tomu je lepsi pro programovani her.

    Swift je sice hezky vysokourovnovy jazyk, ale v mnoha vecech zoufale nedomysleny. Kdyz si vzpomenu, kdyz prislo C#, tak to byl kvalitni jazyk a kvalitni knihovna. Apple prisel s polovinou jazyka (ano, neni to jeste ani hotove) a zakladni datove typy se chovaji nekonzistentne a priserne.

    Staci se podivat na par otazek na stackoverflow, jak lide nemuzou prijit na to, jak funguji zakladni veci nebo jak naprosto nutne veci v jazyce uplne chybi (treba testovani pritomnosti tridy v API, coz je nutne pro zpetnou kompatibilitu aplikaci se starsi verzi systemu).

  • 11. 6. 2014 11:14

    bullhead (neregistrovaný) ---.vodafone.cz

    "V čem je Objective-C těžkopádné a zoufale zastaralé?"
    VE VŠEM! Dělám pro OSX/iOs, a kdyby se neobjevili Delphi pro OSX/iOs tak se na to vykašlu.

    Ale o mně nejde. Podívejte se na světové weby. Desítky tisíc uživatelů si na Objective-C stěžují, jde to najít v každém programátorském foru, noví developři ze školy zvyklí na C# a JAVU se prostě takovou nepřehlednou obludnost ani učit nechtěji! Objective-C je prostě "hnus fialovej" to se nedá jinak ani říct...

    Nový jazyk byl nutností.....

    B,