Reacties voor: iOS-taal Objective-C in top 3 van populairste programmeertalen

Objective-C is doorgedrongen tot de top 3 van populairste programmeertalen, blijkt uit de TIOBE Index. Objective-C (voor iOS-apps) verslaat daarmee C++. Java en C zijn nog de grootste.
Gonny van der Zwaag | iCulture.nl - · Laatst bijgewerkt:

Reacties: 17 reacties

  1. Klopt niet. Er wordt gesteld dat Objective C bedoeld is voor kleine apparaatjes en C++ alleen voor ‘grote systemen’. Bovendien gebruik je C++ en ObjC ook prima ‘door elkaar’ met Xcode. Vermeld er voor de goede orde ook bij dat het Mac desktopdevelopment ook met ObjC ..

  2. Tja zo is alles met een versnelling bezig, providers leveren meer telefoons, wifi netwerken poppen overal oomhoog ect ect

  3. Objective C is helaas wel een erg gedateerde taal en ik ben benieuwd wanneer ze dat een keer gaan aanpakken. Het succes van Objective C komt door het succes van iOS en zeer zeker niet dat het zo’n fijne taal is.

    Talen zoals Java en C# zijn veel moderner. Ze hebben een betere featureset en er valt veel robuuster mee te programmeren. Objective C is af en toe een beetje geupdatet. Het ondersteunt nu ook garbage collection, maar eigenlijk zou Apple wel een keer mogen overstappen naar een moderner alternatief.

    Ik zou het toejuichen als Apple zou overstappen naar C# (zie Xamarin.com). Dat werkt een stuk prettiger, maar Apple zal nooit een MS technologie gaan omarmen.

  4. @BugBoy: Zo is het absoluut. Het is een taal die enorm verouderd is en lastiger dan moderne talen.
    Gevolg is ook dat een aantal apps voor de iphone ook gewoon niet stabiel werken. Te lastig voor de beginner als er een complex vraagstuk opgelost moet worden.

  5. @BugBoy: Daar is niet iedereen het mee eens. M.a.w. wat je hier zegt, lijkt me vooral een opvatting en geen feit. Overigens is garbage collection deprecated in Apple LLVM en wordt het vervangen door automatic reference counting (Zie hier)

  6. Elke programmeertaal heeft zijn voor- en nadelen. Java is op sommige punten een ramp maar Objective-C is ook zeker niet perfect. Dat Objective-C niet geüpdatet wordt lijkt me niet juist.

    Wat wel belangrijk is voor de iOS-ontwikkeling (en ook wel voor Mac-ontwikkeling) is dat Apple een heel mooi ontwikkelplatform ter beschikking stelt wat ervoor zorgt dat het maken van gebruiksvriendelijke applicaties wordt gestimuleerd.

  7. Het is een feit dat Objective C oud is. Of je het fijn vindt werken is persoonlijk en ook afhankelijk van de ervaring die je ermee hebt. Ik denk dat je best mag stellen dat het verouderd is, want:
    * Geen strong-typed generics, templates, …
    * Exceptions zijn duur en daarom deprecated.
    * Onduidelijk geheugenbeheer (conventioneel C, reference counting, garbage collection, autorelease pools, …).

    @Jules: Garbage collection met veel tam-tam aangekondigd voor iOS 5 (was al eerder voor OS X beschikbaar), dus het lijkt me sterk dat het nu weer aan de kant wordt geschoven. Probleem is wel dat veel systeemlibraries het niet gebruiken, dus het wordt wel verwarrend.

    @Bram: iOS wordt wel steeds een beetje opgelapt, zodat het weer even meekan, maar de basis wordt nu oud en dat ga je merken. Xcode is best aardig, maar het kan de beperkingen van Objective C natuurlijk niet verhullen.

  8. “Objective-C daarentegen is bedoeld voor de kleine apparaatjes, voor mobiele apps.”

    Neen… Objective-C wordt ook gebruikt voor het ontwikkelen van Apps voor Mac OS X.

  9. @BugBoy: Dude, je snapt er totaal niets van. Wat een boel onzin bij elkaar.

    iOS 5 introduceert garbage collection

    Wat een bullshit, je bedoelt Automatic Reference Counting (ARC). Garbage collection is er al sinds Objective-C 2.0.

    Exceptions zijn duur en daarom deprecated

    Exceptions zijn in alle talen duur zeker in de door jou genoemde moderne C#. En sinds wanneer zijn deze deprecated in Objective-C???

    Snap niet dat als je niet weet waar je over praat toch gaat reageren en anderen foute info geeft!

  10. Objective C was moeilijk te begrijpen (sinds ARC en allerlei verbeteringen is het stukken beter geworden) maar ik denk dat het succes van het werken met Objective C vooral ligt in de mega goede documentatie en alle bijkomende tutorials, voorbeeldprojecten en de Xcode IDE. Het hele pakketje is gewoon aanwezig en met een goede programmeer basis wat tijd en wat uurtjes kan bijna iedere ontwikkelaar daarmee zichzelf Objective C aanmeten.

    Dat zie ik nog niet in alle ontwikkelplatformen zo mooi uitgewerkt als bij iOS. Ik ontwikkel met Xamarin tools voor Android, iOS en Windows Phone en ja C# heeft zijn voordelen en ObjectiveC mist nog wat zaken maar de reden is meer hergebruik van code en ondersteuning over meerdere platformen dan dat C# de beste taal is.

    Exceptions zijn m.i. uitgefaseerd omdat ontwikkelaars zaken als object blocks fijner vinden werken (kijk naar Ruby bijvoorbeeld).

    Het iOS platform met XCode en de hele bibliotheek aan voorbeelden vind ik zelf erg stoer en leuk om in te werken maar Xamarin tools en C# is ook een goede aanpak.

    Ik vraag me af hoe de HTML5 webbased mobiele oplossingen zich gaan plaatsen in de grafieken..

  11. @BugBoy: 1. In objective c zijn templates niet nodig, omdat alle typen dynamisch zijn. Door het dynamische aspect zijn strong typed generics op compiler niveau niet gewenst. In een dynamische programmeertaal zijn die te beperkend.
    2. Exceptions worden in objective c gebruikt voor error handling, wat meestal niet een punt is waar je hoge performance nodig hebt. Heb je wel hoge performance nodig, dan moet je een error waarde gebruiken in plaats van exceptions. Er is misschien zelfs een c library te vinden voor hoge performance exceptions
    3. Autoreleasepools zijn een belangrijk element van het reference counting mechanisme, en als je geen hoge performance nodig hebt hoef je ze nooit direct te gebruiken. Het kunnen gebruiken van conventioneel c geheugen beheer is juist een handige feature, omdat de c performance nog steeds ongeëvenaard is, en erg veel libraries in c geschreven zijn.

    Garbage collection is iets anders dan wat in iOS 5 toegevoegd is (Automatic Reference Counting). Het oude garbage collection is depricated geworden, samen met het oude reference counting. Autorelease pools zijn direct toepasbaar op het nieuwe systeem, maar worden nog minder gebruikt.

    Uiteindelijk zijn er dus maar twee memory management technieken:
    1. Conventioneel c
    2. Automatic reference counting (nieuw in ios 5, lijkt dus op garbage collection)

  12. Wat een onzin hierboven. Apple heeft geen GC in iOS. Zal ze ook niet doen omdat het GC process te duur is voor de hardware. Het is gewoon beter om zelf op de juiste momenten je geheugen te managen ipv het systeem het te laten verzamelen en dan pas te clearen. Dat zorgt voor een stotterige UX.

  13. Origineel geplaatst door Wessel
    Garbage collection is iets anders dan wat in iOS 5 toegevoegd is (Automatic Reference Counting). Het oude garbage collection is depricated geworden, samen met het oude reference counting. Autorelease pools zijn direct toepasbaar op het nieuwe systeem, maar worden nog minder gebruikt.

    ARC analyseert de code bij het compilen en voegt op dat moment release statements toe. Heeft dus niks met garbage collection te maken. Garbage collection draait runtime. ARC alleen compile time. No contest.

  14. C# kan iemand die nog nooit ook maar iets heeft gecodeerd al gebruiken. Toen ik Xcode probeerde hoopte ik dat het een beetje op visual studio zou lijken maar ik vond het veel ingewikkelder

  15. Origineel geplaatst door Ruben
    C# kan iemand die nog nooit ook maar iets heeft gecodeerd al gebruiken. Toen ik Xcode probeerde hoopte ik dat het een beetje op visual studio zou lijken maar ik vond het veel ingewikkelder

    Ingewikkelder betekent niet dat het slecht is. Iedereen denkt zomaar te kunnen programmeren, maar een gedegen cursus, of opleiding volgen ho maar.

  16. Het wordt steeds meer gebruikt, maar populair..? Ik heb een paar apps ontwikkeld maar ben er absoluut geen fan van.

    Er is veel mis met Objective-C en dat wordt o.a. goed duidelijk in de voorbeelden die MonoTouch geeft. Zie de gele balk “to see side-by-side comparisons” (hier). De Objective-C code is een brei aan tekst, en de C# evenpoot is stukken korter en dus duidelijker.

  17. @BdR, sorry maar je argument dat MonoTouch duidelijkere code geeft vindt ik niet geldig. De reden dat het kortere code geeft, is omdat ze een hoop convenience methods hebben gemaakt waardoor het korter kan.
    Datzelfde kun je ook in Objective-C doen als je ze zou maken. En dan kan je ze nog lekker in een Category stoppen ook, zodat je de originele classes uitbreidt met die kortere methods.

Reacties zijn gesloten voor dit artikel.