Hlavní navigace

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íň.