Vlákno názorů k článku Vývoj pro mobilní platformy s C# (druhá část) od mtx - >> Xcode 4 – je IDE (Integrated Development...

  • Článek je starý, nové názory již nelze přidávat.
  • 25. 4. 2013 7:03

    mtx (neregistrovaný)

    >> Xcode 4 – je IDE (Integrated Development Environment) pro vývoj aplikací pro produkty Apple, je ho možné získat na OS X App Store, a pouze pokud máme koupený vývojářský profil od Apple...

    - blbosť, žiadny vývojársky profil si kupovať nemusíte (teda pokiaľ si vystačíte so simulátorom a v začiatkoch programovania nebudete chcieť nahrávať na AppStore). Xcode sa dá stiahnuť aj bez developerského účtu.

    >> Objective-C totiž nemá garbage collector implementován stejně jako v .Net frameworku. Paměť pro objekty v Objective-C je ve starších verzích jazyka alokována a uvolňována manuálně. Až od verze 2.0 se používá strategie počítání referencí.

    Teda už mimo dávnej školy som už dlho neprogramoval, ale aj z toho mála čo o Obj-C viem, tak toto je ďalšia blbosť. Práve v Obj-C 2.0 pribudol garbage collector, avšak pri jazykoch typu Obj-C je problematický, tak ho vo frameworkoch pre iOS radšej zakázali (možno ho použiť pri OS X). Manuálne počítanie referencií je v Obj-C od začiatku, len teraz niekedy k nemu pridali možnosť ARC (automatic reference counting), ktorá ale tiež nie je univerzálna a niektoré prípady treba stále počítať ručne, ale aspoň nejaké zjednodušenie a menej problémové ako GC.

  • 28. 8. 2013 12:50

    zboj (neregistrovaný)

    Článek je otřesný a autor o ObjC neví. Počítání referencí není vlastnost ObjC, ale byla zavedena hodně dávno do NextStepu Sunem. Tímto se ocitla v Cocoa. Místo GC tam byl "autorelease pool", jenž se vytvářel pro každou smyčku UI, čímž byla zajištěna plynulost ovládání (a vývojář se nemusel starat o správu paměti). GC à la C# je jen v OS X, protože v iOS je třeba šetřit pamětí a počítání referencí je mnohem efektivnější. Nakonec přibylo ARC, takže už ani na iOS není explicitní správa paměti nutná. Navíc vše dělá překladač a díky optimalizaci nevzniká "odpad", jejž by musel uvolňovat "autorelease pool". Tuto strategii nově okopíroval také Microsoft pro WinRT (počítání referencí + automatické generování příslušného kódu překladačem).
    Slajdy z loňského WWDC podrobně popisují fungování ARC.