Die Programmiersprache des Jahres: Objective-C

Im Zuge der Veröffentlichung der neuesten Ausgabe des TIOBE-Index wurde Objective-C zur Programmiersprache des Jahres 2011 gekürt. In Objective-C werden unter anderem Apps für Apples iOS-Plattform geschrieben, was der Sprache einen starken Zulauf an ... mehr... Quellcode, Code, Programmierung, Programmiersprache Quellcode, Code, Programmierung, Programmiersprache Quellcode, Code, Programmierung, Programmiersprache

Diese Nachricht vollständig anzeigen.

Jetzt einen Kommentar schreiben
 
Das C# und Java so weit oben sind wundert mich persönlich nicht im geringsten, sind super Sprachen und geben dem Entwickler von Haus aus viele Möglichkeiten.
 
@Knerd: Ja leider sind die Interpreter immernoch das größte Problem bei diesen sprachen... aber irgendwann ist die Hardware so schnell das es keinen Unterschied mehr macht. Wobei C# schon wesentlich schneller ist dank JIT-Compiler..
 
@KainPlan: C# ist ausgesprochen schnell und auch WPF ist wirklich sehr schnell dank DirectX
 
@Knerd: Vllt werden wir ja auch irgendwann mit einem Hardwareinterpreter für C# bescheert! Das wär Weihnachten und Oster auf einen Tag, ich würde unser WaWi-Programm direkt auf C# umschreiben. ;) Aber bis dahin... C++ schneller ist nur ASM und das ist, um es mal auf den punkt zu bringen, nutzerunfreundlich! ;)
 
@KainPlan: Das ist C++ im Vergleich zu C# ja auch. Und C# hat ja schon in vielen Tests die Geschwindigkeit von C++, also sehe ich da kein Problem ;)
 
@Knerd: Unser WaWi-Prog. ist Modulbasiert und diese werden wärend der Lauftzeit ge/entladen.. das ist bei C# zwar möglich jedoch extrem langsam. Und wenn dann mal ein Kunde eine etwas größere Lieferung hat sollte der Druckvorgang auch nicht 100 Jahre dauern. Ausserdem legen Unternehmen wert darauf ihre Hardware (Büro PC's) günstig zu kaufen, was dank unserer Software möglich ist. Aber die Zeit wird kommen. ;)
 
@Knerd: Ich muss dich leider korrigieren: WPF ist grottem lahm ;-) LEIDER!
 
@KainPlan: Es gibt auch Java-Laufzeitumgebungen mit einem JIT-Compiler. Aber trotz allem mag ich Java einfach nicht.
 
@Kinglouy: Java ist an sich genial aber hinkt .net mMn in der Usability hinterher, leider.
 
@Knerd: Die Grundidee ist genial, nicht Java. Java ist eine grottenschlechte Umsetzung sämtlicher enthaltener Konzepte. Ich kann mir schon gut vorstellen, wieso Microsoft damals ausgestiegen ist und angefangen hat ein eigenes Süppchen zu kochen.
 
@Kinglouy: Meinte ich ja damit, die Sprache ist wie gesagt vorallem von der Usability echt übel, du musst erst 2 Klassen initialisieren bevor du Werte von der Konsole einlesen kannst...
 
@KainPlan: Also eine ganz normale WinForms (.NET) Anwendung (Sprache ist hier egal, da sowohl C# als auch VB.NET in MSIL umgewandelt werden) steht einer nativen C++-Anwendung in nichts nach. Sicherlich gibt es für alles Ausnahmen, aber auf einem stinknormalen 0815 PC merkt der Benutzer keinen Unterschied. ;-)
 
@sushilange2: Wenn dem doch nur so wäre! Du sprichst von einem "Hello World"-Programm, bei dem es auch so sein mag. Allerdings holt einen bei der Umsetzung in ein richtiges Projekt sehr schnell die Realität ein. Bestes Beispiel ist doch das Lohnsteuerprogramm von, lass mich nicht lügen, Lexware. Bis diese Anwendung gestartet ist kann man erstmal Kaffetrinken gehen. Dann sind Eingabemasken etc. so unglaublich zäh.. können wir uns bei unserem Kundenkreis einfach nicht erlauben.
 
@KainPlan: Das hat aber nicht immer zwangsläufig mit .NET zu tun, sondern sehr, sehr häufig mit der Fähigkeit/Unfähigkeit der Entwickler zu tun. Gerade weil .NET so einfach ist und man sehr, sehr faul sein kann, passiert soetwas. Bei WPF ist es noch schlimmer, sodass selbst ein Leihe merkt, wenn er etwas falsch oder schlecht umgesetzt hat und dadurch die Ladezeiten extrem steigen. Ich entwickle seit nunmehr vielen Jahren .NET Anwendungen sowohl kleine bis auch sehr große, aufwändige, modulare Anwendungen. Natürlich gibt es wie ich schon sagte Ausnahmen, aber vieles lässt sich auch vermeiden. Gibt genügend Tipps und Tricks, wie man eine .NET-Anwendung performant hält. Auch kann man gerade bei modularen Anwendungen und dem Auslagern von Code in Assemblies, seperatren AppDomains, etc. viel falsch machen und die Anwendung unnötig lahm machen und dann natürlich .NET dafür die Schuld geben ;-) Im Laufe der Zeit stolpert man hier und da über bestimmte Bereiche von .NET wo man extrem die Performance in den Keller ziehen kann, aber in fast allen Fällen gibt es gute Erklärungen, Workarounds oder Tricks, wie man dies vermeiden kann.
 
@sushilange2: Ich denke nicht das es an der Umsetzung scheitern wird. Dazu kommt noch das "Never touch a running System"-Denken, mal sehen vllt ja doch diesen Sommer schon! ;)
 
@sushilange2: WPF läuft bei mir, .net 4.0 eigentlich recht performant. Wobei ich WPF gerade deswegen bevorzuge weil ich damit machen kann was ich will, also auf das Design bezogen und das ist mir persönlich sehr wichtig.
 
@Knerd: WPF ist aber im Vergleich zu WinForms erheblich träger und langsamer. Gibt auch eigentlich niemanden, der WPF performant findet ;-) Jeder WPF-Entwickler beklagt dieses Problem und jeder versucht mit irgendwelchen Tricks alles einigermaßen performant hinzubekommen. In der Theorie müsste es eigentlich performanter sein, da die UI hardwarebeschleunigt dargestellt wird. In der Praxis ist es leider nicht der Fall. WPF ansich ist genial und alternativlos, aber dennoch ist die Performance nicht toll. Habe schon viel in den letzten 2 Jahren damit entwickelt. Vor allem bei normalen Business-Anwendungen (mit Standard Controls und Look&Feel) muss man wirklich überlegen, ob man trotz tollem Data Binding, nicht lieber auf WinForms setzt. Auch muss man höllisch bei WPF aufpassen. Ein DropShadow an der falschen Stelle und die Anwendung ist auf einem Core i7 so träge wie auf einem Intel Atom. Gleiches gilt für Borders. Es macht einen gewaltigen Unterschied, ob eine Border zusammen mit anderen Elementen z.B. in einem Grid auf einer Ebene platziert sind, oder ob alle Elemente, um die der Rahmen gezeichnet werden soll, als Unterknoten von der Border vorhanden sind. Ich habe schon sehr viel Zeit nur mit der Verbesserung der Performance verbringen müssen ;-) Klar, wenn man nur eine Standard Anwendung mit WPF macht, die man auch eben mit WinForms zusammenklicken kann, ist WPF kein Problem. Aber sobald es ans Data Binding, Converter, Control Templates, Styles, etc. geht, wird WPF zu einem Problem ;-)
 
@sushilange2: Ja da stimme ich dir voll zu, wie gesagt nutze ich WPF generell mit Custom Themes und da kenne ich halt keine andere Vergleichsmöglichkeit. Und dafür läuft es bei mir wie gesagt auch recht performant. Wenn ich allerdings nur einfache Testanwendungen schreibe ohne großen Design Aufwand außenrum nutze ich auch Windows Forms. Was mir allerdings aufgefallen ist, unter Windows XP ist WPF echt lahmarschig, unter Windows 7 hingegen läuft es eigentlich ganz angemessen. Selbstverständlich müsste es schneller sein aber Visual Studio 2010 oder auch Expression Studio zeigen ja das WPF auch sehr schnell sein kann.
 
@Knerd: Der Unterschied ist, wie unter XP und ab Vista Anwendungen gezeichnet werden. Es gibt ja auch erst ab Vista den DWM. Ich glaube, dass es daran liegt. Auch gibt es unter XP glaub ich noch keine Hardwarebeschleunigung. Es ist also für WPF unter XP wesentlich aufwändiger alles zu zeichnen, als es unter Vista und 7 der Fall ist. Bei Visual Studio 2010 hat Microsoft aber extrem getrickst, da sie selbst das Problem haben/hatten :-D Ich erinnere mich gut an die erste Beta von VS2010. Die war alles andere als performant. Unter anderem haben sie es dadurch gelöst, dass nun nicht mehr alles in WPF ist. Vieles in Visual Studio ist nach wie vor WinForms. Und ich will nicht wissen, was MS sonst noch für Tricks angewendet hat. (u.a. sollte man den GAC verwenden und NGEN bringt auch noch mal eine Verbesserung). VS2010 wird bei mir auch der Hauptgrund sein, bald endlich eine SSD zu holen, da mir u.a. die Ladezeiten von größeren Projekten zu nervig sind :-)
 
@sushilange2: Ja gut mit den Ladezeiten hab ich nicht so das Problem, eher damit das es hin und wieder abkratzt. Wobei das an meinen selbstgeschriebenen Addins liegen könnte^^ Und den DWM gibt es in der heutigen Form erst seit Vista. Wie du schon sagst wurde in Vista vieles verändert/verbessert was das Zeichnen der Fenster betrifft etc.
 
@sushilange2: Also ich muss auch sagen. VS2010 ist grotten langsam. Alleine beim Start (trotz SSD) kann ich 2-3 instanzen von 2008 in der gleichen Zeit starten.
Was diesen Unterschied zu C++ (und dann vor allem noch das hinzuziehen von ASM) angeht...
Niemand wird heutzutage ein Programm in ASM entwickeln können was schneller sein wird als C++. Und mit Programm meine ich keinen Algorithmus der bis aufs äußerste optimiert ist, sondern richtige Anwendungen, wie Browser, Media Player...
Der C++ Compiler der heutigen Zeit kann so krass optimieren, dass man da eher etwas versaut als optimiert.

Ich entwickle wirklich sehr viel in C# und des öfteren auch in C++. Und es ist ein gewaltiger unterschied was die Produktivität angeht (ASM mal gar außer Acht gelassen). In der Zeit in der ich ein Produkt in C++ entwickelt hätte, wäre ich in C# schon bei der Version 3.0.
Sorry, ich übertreibe ein bisschen, aber auch nur um diesen Unterschied besser darzustellen.

Einzig was mir bei .Net fehlt sind anständige, und vor allem vollständige, Implementierungen auf anderen Platformen. Würde MS das noch angehen, und Linux und Mac mit einer Implementierung der CLR ausstatten, wäre das so ein riesen Schub für .Net...
 
Und wo ist HTML?!?!
 
@Slo0p: das ist keine Programmiersprache
 
@Slo0p: Ist das eine Programmiersprache ? Bevor jetzt Minusse kommen das ist eine ernstgemeinte Frage. Habe keine Ahnung.
 
@easy39rider: Nein HTML ist eine Auszeichnungssprache... wie der name schon verrät HyperText MARKUP Language. ;)
 
@easy39rider: http://dciwam.de/faq/html/html-ist-keine-programmiersprache Nein HTML ist keine Programmiersprache.
 
@easy39rider: HTML ist keine Programmiersprache, weil es keinerlei Dynamik bietet. Es gibt weder Bedingungen, Schleifen, Variablen oder andere Elemente, die eine Programmiersprache/Skriptsprache ausmachen. HTML wird erst durch Javascript dynamisch.
 
@mfroot: Leute, meint ihr das wirklich ernst?! Wie ironieresistent kann ein Mensch denn sein?! :rofl:
Daiphi scheint der einzige zu sein, der den Witz verstanden hat!
 
@Slo0p: Das ist für mich leider nicht so lustig, ich kenne genug Leute die denken wow ich kann HTML ich kann programmieren, aber natürlich hätte es mir hier auffallen müssen... Manchmal sieht man den Wald vor lauter Bäumen nicht. Und zu meiner Verteidigung, ich muss atm mit Java und HTML arbeiten...
 
@Knerd: Ist doch klar, als ich damals im Informatikunterricht HTML gelernt habe, dachte ich auch ich wäre der King :)
 
@Slo0p: Das dachten wir auch alle :D Ich hab sogar von den anderen Geld oder Schokolade oder so bekommen damit ich denen die Website mache. Die wurden bei uns damals bewertet. Ich kann mich noch gut an diese Framescheiße errinnern.
 
@mfroot: Danke euch allen für die Erklärung
 
@Slo0p: Programmieren in HTML? Nennst du es auch programmieren wenn du in Word die Schriftgröße änderst?
 
@Slo0p: ein Plus für den Lacher :)
 
@Daiphi: Danke, das ist doch unglaublich hier! :D
 
oft benutzt != beliebt
 
@fleischi: Das trifft glaube ich vorallem auf Java und Objective-C zu...
 
@Knerd:
Statement dumme = [[Statement alloc] init];
[dumme formatierung: "JA!"]

Ich bekomm Augenkrebs bei sowas... wer liest so einen Code? Die sollten mal daran denken das es leute ohne US-Tastaturlayout gibt! ;)

EDIT: oh feierabend! bis morgen :)
 
@KainPlan: Ja, OOP C mit unnötigen Klammern... Ich vestehe nicht, wie man das benutzen kann. Aber die Position der [ ( { Klammern beim deutschen Tastaturlayout nervt mich schon als Programmierer. Mein nächstes Notebook wird auf jedenfall eine US Tastatur haben.
 
@bluecoala: Allerdings haste da wieder das Gewährleistungs/Garantie-Problem. Klar kannst evtl. ein z.B. US Sony Notebook hierzulande bei dem Sony-Partner umtauschen lassen, wenn defekt, aber glaub nicht daran das du dann ein US-Layout-Notebook zurückbekommst... ^^
 
@bluecoala: Hol dir lieber das hier: http://www.getdigital.de/products/Optimus_Maximus :D
 
@KainPlan: Ich hatte bisher das Glück nicht mit Objective-C arbeiten zu müssen, denn wir entwickeln nur in C++, Java und C#. Ich hab mir aber auch mal Objective-C angeguckt, das ist wie du sagst echt zum abkotzen. Ich verstehe nicht wieso Apple nicht auf C++ setzt. Das Dragonfire SDK kriegt es doch auch damit hin...
 
@Knerd: Es gibt wohl einige Unterschied zu C++... Eine, die ich bis zum Lesen des Buches "The Garbage Collection Handbook", selbst auch noch nicht wusste. In Obj C soll es einen Garbage Collector geben.
Ich selbst habe auch noch nie in Obj C programmiert, aber mein Chef hat mir mal den Code einer Mac-Portierung eines Produktes gezeigt.
Mein erster Gedanke war folgender: C++ sieht schon unglaublich unübersichtlich aus, wenn man vorallem viel mit Pointern um sich wirft (wie wäre es mit void**& ? ;) )... Aber das schießt darüber hinaus noch mal den Vogel ab...

Ich schließe mich definitiv dem "viel benutzt != beliebt" an. Java ist selbst auch nicht so toll, vorallem habe ich in jeder, aber auch wirklich jeder Java-Applikation Probleme gehabt, dass irgendwas nicht so richtig funktioniert hat. Oder zumindest komisch reagiert hat.
Die Idee der virtuellen Maschine die einen eigenen Byte-Code interpretiert (oder meinetwegen auch per JIT-Compilation ausführt) ist genial, da somit viele Möglichkeiten geschaffen werden.

Wie ich in einem anderen Kommentar schon erwähnte fehlt es mir bei .Net nur noch an der vollständigen Portierbarkeit. (Ich freue mich ja schon gewaltig auf die Fertigstellung des Project Roslyn :D)
 
C an 2.Stelle...
auch irgendwie interessant
 
@kottan1970: Hmmm naja. C dient ja mittlerweile hauptsächlich der Microcontroller Programmierung und nicht mehr Assembler ;).
 
@kottan1970: Ist nicht Linux-Kernel, der Windows-Kernel und noch das komplette Office in C?
 
@Lofote: Office ist MFC, MFC ist C++. Das neue Office wird WPF also .net.
 
@Knerd: MS wäre auch schön blöd ihre Eigenkreation nicht zu verwenden und Office noch in C zu schreiben. Das wäre echt ein Knaller xD.
*sich das Szenario gerade vorstellt* Vorgesetzter mit Peitsche hinter einem Rudel Programmierer, die Office dort als Strafarbeit programmieren sollen (natürlich in C). Grund für die Strafe: Mitfühung von - oder öffentliche Kundgebung einer Affinität gegenüber - Apple-Produkten während der Arbeitszeit xD....
 
@NamelessOne: Nein, die machen das in ASM :D
 
@Knerd: Na, so eine Abmahnung ist ja schon schlimmer als ein Rauswurf. Ich denke, das ist nachwievor C... MS hat sicherlich mal versucht es mit ASM zu machen, aber dann sind ihnen die Programmierer davon gelaufen. ;)
Oh, nein.. OMG...! Ich hab's... Genau diese Leute werden in die Mac-Division von Office gesteckt... Es gibt doch eine Mac-Version oder nicht? Gleich mal Obj C... Ich sag's euch.. der Zuwachs kommt nicht vom iOS sondern von den vielen MS-Angestellten die ein Appleprodukt oder so haben, und dann in Obj C Programmieren müssen! xD

BTW: Welches ist das neue Office? Bin gar nicht mehr informiert.. das 365 war doch nur eine allgemein Lösung die alles irgendwie mit Skydrive verknüpft, oder irre ich mich da?
 
@NamelessOne: Office365 ist praktisch eine Erweiterung zu der vorhandenen Lösung des SkyDrive Office. Biete noch mehr Funktionen aber naja ist auch Cloud. Das ganz neue wird wahrscheinlich Office 2012. Versionsnummer müsste die 15 sein.
 
C ist trotzdem die beste Sprache :).
 
Wo ist Objective-C eine Programmiersprache? Das ist einfach nur eine Vergewaltigung von C...
 
@lordfritte: Sei still, sonst kommst du in die Klammernhölle von Objective-C
 
Objective-C wird immer häufiger benutzt, ist allerdings deswegen nicht beliebter als vorher. Ist ja nicht so, dass man ne Wahl hätte, möchte man Apps für iOS anbieten.
 
@Corleone: Eben...Apple-Hype == Objective-C-Hype
 
@Kevni: Ich finde es lustig, dass du das Wort Hype mit Sachen in Verbindung setztest, die aber schon älter als 2, oder 3 Jahre sind... Ein Hype flacht meist innerhalb von 2-3 Jahren ab... nur zur Info
 
@AlexKeller: Aber halt nicht immer
 
Ausgabedes
 
@DRMfan^^: Danke. Ist behoben.
 
Mit Java wurde Minecraft entwickelt ;-)
 
@check: was das nicht eher Min'i'craft
 
@check: Leider. Das ist das einzige, was mich an diesem genialen Spiel stört. Wenn ich mir die Prozessorlast während der Ausführung ansehe, krieg ich nen Brechreiz.
 
Objective C ist schon ok, wenn man sich damit wirklich beschäftigt, lernt man die vielen Vorteile erst wirklich schätzen. Die Tatsache dass man keine Methoden aufruft, sondern Nachrichten an Objekte schickt, die diese Nachricht nicht zwangsweise implementieren müssen, sowie die absturzfreie Verwendung von nil-Pointern bringt durchaus Vorteile. Auch die Cocoa-Bibliothek auf dem Mac ist in Wahrheit nicht weniger mächtig als .NET. Was micht stört, ist dass XCode noch immer nicht sehr stabil ist, da würde ich Visual Studio tatsächlich noch vorziehen. Alles hat seine Vor- und Nachteile.
 
@Freibier: Für mich klingt das nach einer Aufforderung das man unsauber Programmieren darf ohne Abstürze befürchten zu müssen.
 
@Freibier: Ich habe die Sprache gehasst, ehrlich gesagt. Ich finde sie einfach viel zu verkompliziert, oder ich bin zu doof dafür, k.a.
 
ich ziehe Pascal und Delphi vor ;-) Jaja ich weiss, es ist alt, ich aber auch ;-)
 
@Bobbie25: Ich hab Pascal und Delphi in der Schule gehasst... Aber das hängt auch damit zusammen das ich ein riesen Fan der C-Syntax bin und sowohl die Basic- wie auch die Pascalsyntax einfach nur übel finde. Aber zum Glück gibt es so viele Sprachen :)
 
Assembler ist doch auch eine Programmiersprache, oder ? Also, wenn ich mir ESET NOD32 und Ad Muncher angucke, dann finde ich Assembler deutlich angenehmer. Schön schlicht, schnell und nicht ressourcenhungrig. Und mit diesen beiden Programmen hatte ich fast nie irgendwelche Probleme.
 
@ephemunch: Damit arbeitet aber niemand, der portable Anwendungen schreiben will.
 
Programmiersprache des Jahres? Nur weil viele Entwickler jetzt das große Geld mit den Eiergeräten machen wollen. Was ist mit Programmiersprachen, die echt auch was leisten können und die Zukunft der Programmiersprachen prägen werden (SCALA), die werden nicht honoriert?
 
@ghashange: Sprache des Jahres ist die Sprache die Prozentual den höchsten Zuwachs hatte.
 
@Knerd: :)
 
@Knerd: Ja, Wachstum ist halt das wichtigste.
[irony]Ich finde es echt unverantwortlich was Apple da macht mit den Programmierern. Seit diesem Hype ist die Selbstmordrate bei Programmierern um genau die oben sichtbaren Prozentpunkte (Obj C) mit gestiegen... Zufall? Bestimmt nicht![/irony]
Kommentar abgeben Netiquette beachten!

Video-Empfehlungen

WinFuture Mobil

WinFuture.mbo QR-Code Auch Unterwegs bestens informiert!
Nachrichten und Kommentare auf
dem Smartphone lesen.

Folgt uns auf Twitter

WinFuture bei Twitter

Interessante Artikel & Testberichte

WinFuture wird gehostet von Artfiles