Der Objective-C Erfinder ist tot: Brad J. Cox im Alter von 76 Jahren verstorben

Wer in den vergangenen zwanzig Jahren Software für den Mac oder das iPhone entwickelte, kam an Objective-C kaum vorbei. Die Erweiterung von C um die objektorientierte Programmierung entstand bereits in den 1980er Jahren und wurde 1998 zur primären Sprache für Apples Schnittstelle namens Cocoa. Erfunden wurde das oft kurz als "ObjC" bezeichnete Werkzeug von Dr. Brad J. Cox. Anfang Januar starb er in seinem Haus in Manassas im US-Bundesstaat Virginia.


Doktortitel in mathematischer Biologie
Brad Cox erblickte am 2. Mai 1944 in Fort Benning, Georgia das Licht der Welt, wuchs jedoch auf einer Farm in Lake City im Bundesstaat South Carolina auf. Nach dem Abschluss der High School studierte er Organische Chemie und Mathematik an der Furman University in Greenville, South Carolina. Anschließend erwarb er an der Universität von Chicago einen Doktortitel in Mathematischer Biologie. Zu den ersten Stationen seines Berufslebens gehörten die National Institutes of Health des US-amerikanischen Gesundheitsministeriums und die Forschungseinrichtung Woods Hole Oceanographic Institution.

Frühes Interesse an neuronalen Netzen
Bereits während seiner Promotion kam Brad Cox mit einer frühen Form von neuronalen Netzwerken in Berührung, was sein Interesse an Computern und deren Programmierung weckte. Nach Stationen bei ITT und den Schlumberger-Doll-Forschungslaboren gründete er im Jahr 1983 gemeinsam mit Tom Love ein eigenes Unternehmen namens Productivity Products International, welches später unter Stepstone firmierte.

NeXT kauft Objective-C
Cox und Love entwickelten Objective-C in der ersten Hälfte der 1980er Jahre, als grafische Benutzeroberflächen noch keinen Einzug auf die damaligen Computer gehalten hatten. Steve Jobs machte ObjC ab 1985 zur primären Programmiersprache für NeXTSTEP, das Betriebssystem für die Computer des von ihm nach dem Ausstieg bei Apple gegründeten Unternehmens NeXT. Wenige Jahre später erwarb NeXT von Stepstone die exklusiven Rechte an der Sprache. Nachdem Apple NeXT im Jahr 1997 übernommen hatte und Jobs in Cupertino wieder den Chefsessel besetzte, wurde Objective-C zur wichtigsten Sprache zunächst für macOS und schließlich nach dem Erscheinen des iPhones auch für iOS.

Berater für das Pentagon und Boeing
Brad Cox lehrte darüber hinaus unter anderem an der George Mason University in Fairfax, Virginia, wo er die ersten Online-Kurse entwickelte. Nach dem Ende seiner akademischen Karriere war er als Berater tätig, etwa für das US-amerikanische Verteidigungsministerium und etliche Privatunternehmen wie beispielsweise Boeing. Zuletzt beschäftigte er sich allerdings erneut mit Computerthemen und arbeitete unter anderem daran, wie Maschinelles Lernen und Datenwissenschaft sich im Bereich der Cybersecurity einsetzen lassen. Brad Cox hinterlässt seine Ehefrau Etta Glenn, mit der er 44 Jahre verheiratet war.

Kommentare

TiBooX
TiBooX25.01.21 17:24
Danke für die schönen Jahre mit einer wirklich aussergewöhnlich gut gelungenen Programmiersprache, die so vieles erst möglich gemacht hat.
R.I.P.
People who are really serious about software should make their own hardware [A. Kay]
+8
milk
milk25.01.21 17:26
[milk sagtDanke];
+10
LoCal
LoCal25.01.21 18:13
R.I.P.

Objective C wird wahrscheinlich immer meine Lieblingsprogrammiersprache bleiben.
Ich hab zwar keine Lösung, doch ich bewundere dein Problem
+3
DTP
DTP25.01.21 18:42
Objective C hab ich leider nie benutzt.

Meine Lieblingssprachen:
Basic (da die erste)
Lisp (da die außergewöhnlichste)
C++ (da die erste für die ich bezahlt wurde)
AppleScript (da ich am damit die meisten beeindrucken konnte )
Python (da die letzte – bislang)
0
deus-ex25.01.21 18:43
Bin nie damit warm geworden... Hängt wahrscheinlich davon ab wo man herkommt. Aber der Impact auf die Programmierung ist unbestreitbar.
-1
milk
milk25.01.21 18:52
deus-ex
Bin nie damit warm geworden... Hängt wahrscheinlich davon ab wo man herkommt.
Ich habe eher das Gefühl, dass damit zusammenhängt, wie lange man sich zwingt, sich damit auseinanderzusetzen. Am Anfang sieht glaube ich jeder bei ObjC in erste Linie vieleviele Klammern. Irgendwann macht es dann klick, und ab dann sieht man die Schönheit der Sprache zwischen den Klammern.

Ich bin aber auch seit den 90ern NeXT-Fanboy, meine Meinung ist also ein wenig gefärbt.
+5
ssb
ssb25.01.21 20:27
Das geniale an Objective-C ist einfach das „late dynamic binding“, was von SmallTalk geerbt wurde. Methoden (wie bei C++) werden nicht mit einem Call aufgerufen und dazu beim Linken aneinander gebunden. Objekte unterhalten sich, schicken sich Nachrichten ala „Du, kannst du mal schnell dies tun“. Die Bindung entsteht erst zur Laufzeit und sie kann auch während der Laufzeit verändert werden. Man kann einer Klasse eine neue Methode hinzufügen. Aber nicht nur neue Instanzen kennen die Methode dann, sondern auch bereits instanzierte Objekte, selbst in abgeleiteten Klassen.
Einfach mal eine Methode bei NSObject hinzufügen und schon kennen alle Objekte zur Laufzeit diese Methode...
Features wie „Fix and Continue“ sind dann leider aus Xcode später wieder verschwunden.

Diesbezüglich ist Swift aus meiner Sicht ein Schritt zurück. Steve hätte das vermutlich nicht so gepusht.
+2
Weia
Weia26.01.21 02:57
ssb
Diesbezüglich ist Swift aus meiner Sicht ein Schritt zurück. Steve hätte das vermutlich nicht so gepusht.
Swift hätte bei Steve Jobs keine Chance gehabt. Dass das durchging, wird eine der langfristig schlimmsten Hinterlassenschaften von Tim Cook sein, der von Technik halt so gar keine Ahnung hat, aber ganz sicher empfänglich ist für Argumente à la „Swift ist für die ganzen Programmierer, die Javascript können, viel schneller zu verstehen, und idiotensicherer“.
Not every story must end with a battle (Ophelia, in der umwerfend guten feministischen Adaption des Hamlet-Stoffes in dem Film „Ophelia“)
0
Perdiste puesto primero26.01.21 05:31
Weia

Nana, ein wenig am Hybris-Baum genascht?

1. Late-Binding hat viele Vorteile, aber eben auch viele Nachteile (Stichworte: Compiler-Optimierung, Codierunterstützung, Erkennung von Fehlern bereits beim Build, nicht erst zur Laufzeit).

2. Swift ist - und das ist weitgehender Konsens in der Entwicklergemeinschaft - eine moderne und sehr durchdachte Sprache. Deren Einführung ist ganz sicher kein Fehler von Cook, sondern einer seiner größten Erfolge.

3. Objective C war vor 30 Jahren mal modern, ist aber heute ähnlich angestaubt wie damals Fortran und COBOL. Das ständige Anflanschen neuer Fähigkeiten macht eine Sprache dabei nicht eben übersichtlicher (abschreckendes Beispiel hier: C++17).

Alles in allem ist Swift ein Riesenerfolg, auch weil es aus den Fehlern seiner Vorgänger (und Fähigkeiten anderer aktueller Sprachen - ganz vorn hier: Rust) gelernt hat. Die Schnelligkeit einer Entwicklung mit Swift liegt - bei zugleich deutlich geringerem Fehlerpotential - deutlich über der mit Objective-C. Und das ist es, was Manager (und Entwickler) von einer guten Sprache erwarten (können).
+2
Weia
Weia26.01.21 06:41
Perdiste puesto primero
Nana, ein wenig am Hybris-Baum genascht?
Nö, nur einen etwas weiteren Horizont als schnellschnell & idiotensicher®.
1. Late-Binding hat viele Vorteile, aber eben auch viele Nachteile (Stichworte: Compiler-Optimierung, Codierunterstützung, Erkennung von Fehlern bereits beim Build, nicht erst zur Laufzeit).
Diese Nachteile fallen gegenüber den Vorteilen aber nur dann ins Gewicht, wenn man es mit Programmierern zu tun hat, die nicht gewissenhaft arbeiten können.
2. Swift ist - und das ist weitgehender Konsens in der Entwicklergemeinschaft - eine moderne und sehr durchdachte Sprache.
Darf ich fragen, für welch ominöse Entwicklergemeinschaft Du sprichst? Hier haben sich mehrere Entwickler über die Vorzüge von Objective-C ausgelassen, keiner außer Dir aber über die von Swift.

„Konsens in der Entwicklergemeinschaft“ ist im übrigen nichts als eine schönfärberische Umschreibung für Mainstream. Die Mehrheit hat nicht immer recht (sogar sehr oft nicht). Du erinnerst Dich an Think different? Das war mal der zentrale Wert von Apple. Swift ist Think alike, das exakte Gegenteil und damit leider das, wofür Tim Cook steht.

Swift ist durchdacht? Alles mögliche vielleicht, aber ganz sicher nicht durchdacht. Eine Sprache, die arabische und lateinische Syntax vermischt, vermutlich ohne sich dessen überhaupt bewusst zu sein, ist eine intellektuelle Bankrotterklärung.
Deren Einführung ist ganz sicher kein Fehler von Cook, sondern einer seiner größten Erfolge.
Er hat ja nichts dazu beigetragen. Er hat es zugelassen, weil man ihm erzählt hat, dass sich dann schneller Programmierer finden lassen, die eine iOS-App zustandebringen. Wenn das Dein Maßstab für Erfolg ist, bitteschön. Meiner ist es nicht, weswegen ich Tim Cook auch mitnichten für erfolgreich halte. Für Aktionäre, das ja. Was Apples politisches Profil betrifft, vielleicht auch. Was Technik betrifft, das Herz von Apple, war/ist er alles andere als erfolgreich.
3. Objective C war vor 30 Jahren mal modern, ist aber heute ähnlich angestaubt wie damals Fortran und COBOL.
Das ist eine groteske Behauptung. Was ist denn dann C bei Dir? Forschungsgegenstand von Archäologen?

Gehörst Du auch zu den Leuten, die meinen, was ein paar Jahrzehnte alt ist, kann gar nicht gut sein? So wie Unix?
Das ständige Anflanschen neuer Fähigkeiten macht eine Sprache dabei nicht eben übersichtlicher
Stimmt, aber was ist denn an Objective-C großartig angeflanscht worden? Properties, Blocks und ARC, und sonst? Es ist doch gerade der puristische Minimalismus, der Objective-C auszeichnet.
Alles in allem ist Swift ein Riesenerfolg
Ist es das? Gibt es irgendein größeres von Apples macOS-Programmen, das auf Swift umgestellt wurde?
auch weil es aus den Fehlern seiner Vorgänger (und Fähigkeiten anderer aktueller Sprachen - ganz vorn hier: Rust) gelernt hat.
Wieder eine schöne Umschreibung für den inkonsistenten, zeitgeistgeilen Gemischtwarenladen, der Swift de facto ist.
Die Schnelligkeit einer Entwicklung mit Swift liegt - bei zugleich deutlich geringerem Fehlerpotential - deutlich über der mit Objective-C. Und das ist es, was Manager (und Entwickler) von einer guten Sprache erwarten (können).
Manager vom Typus eines Tim Cook, ja.

Steve Jobs hat bekanntlich darauf bestanden, dass die Platinen im Inneren von Apples Geräten ästhetischen Ansprüchen genügen müssen. Das hat die Entwicklung verlangsamt, obwohl kein Nutzer die Platinen überhaupt zu sehen bekommt. Steve Jobs meinte aber, dass das den „Geist“ von Apples Produkten beflügeln, ihnen eine Aura verleihen würde, so wie (das war sein Beispiel) ein perfektes Möbelstück auch eine ästhetische gestaltete Rückwand braucht, auch wenn die ebenfalls nie jemand zu Gesicht bekommt  – ein Gedanke, der Tim Cook vollkommen fremd wäre.

Und so ist das auch mit Objective-C. Eine der schlimmsten Eigenschaften von Swift ist, dass es hässlich ist; es lässt sich nichts Ästhetisches daran entdecken.

Steve Jobs war von Objective-C bis zum Schluss begeistert; nachdem die Sprache lange ein Mauerblümchendasein geführt hatte, war seine Hoffnung, dass das iPhone als „trojanisches Pferd“ Objective-C zum Durchbruch verhelfen würde und für kurze Zeit war es ja auch so. Dass bald nach Jobs’ Tod Swift von Apple promotet wurde, war der symbolträchtige, endgültige Schlussstrich unter die Ära Jobs und der Beginn des Qualitätsverfalls, der bis heute andauert.
Not every story must end with a battle (Ophelia, in der umwerfend guten feministischen Adaption des Hamlet-Stoffes in dem Film „Ophelia“)
0
gegy
gegy26.01.21 07:59
Mich haben immer die vielen Klammen genervt, da finde ich die Punktnotation von Swift und anderen Sprachen intuitiver. Trotzdem danke, weil ohne ObjC gäbe es auch kein Swift.
0
LoCal
LoCal26.01.21 08:11
gegy
Mich haben immer die vielen Klammen genervt, da finde ich die Punktnotation von Swift und anderen Sprachen intuitiver. Trotzdem danke, weil ohne ObjC gäbe es auch kein Swift.

Dann hast Du die Syntax von ObjC nicht verstanden, denn wenn man es mal kapiert hat, dann hat man damit überhaupt kein Problem mehr. Und die Punkt-Notation ist eher etwas sehr hässliches.
Ich sehe auch die Punkt-Notation für Properties in ObjC 2.0 als einen riesigen Fehler an, da damit die Klarheit der Sprache etwas zerstört wurde.
Ich hab zwar keine Lösung, doch ich bewundere dein Problem
-1
harakiri
harakiri26.01.21 08:43
retainCount = 0

Rest in peace
+2
LoCal
LoCal26.01.21 09:06
Perdiste puesto primero

Swift ist - und das ist weitgehender Konsens in der Entwicklergemeinschaft - eine moderne und sehr durchdachte Sprache. Deren Einführung ist ganz sicher kein Fehler von Cook, sondern einer seiner größten Erfolge.

Du kannst Swift natürlich so nennen, aber ich würde Swift eher, und hier zitiere ich mal Alexander von Below, als
Alexander von Below
Seelenlose Hipstersprache
bezeichnen.

Swift ist - zumindest für mich - Apples versuch, die ganzen Leute, die von dem ganzen Webgedöns wie Ruby usw kommen, möglichst nahtlos abzuholen.
Und man muss auch sagen, mit iOS begann im der Apple-Entwicklerwelt schon ein merkwürdiger Prozess, den ich anfangs gerne als "Javaisierung" bezeichnet hatte.
Was ich damit meinte ist, dass sehr viele Leute meinten, sie müssten bereits gelöste Probleme "besser" lösen oder sie könnten quasi das gesamte System "verbessern".
Paradebeispiel hierfür ist Three20 ().
Aber es gibt noch zig andere Beispiele und ich würde da selbst schon sowas wie AFNetworking mit dazu nehmen.

Mit Swift hat sich dieser Zustand noch mal massiv verschlimmert.
Perdiste puesto primero
Objective C war vor 30 Jahren mal modern

Mir fällt nichts ein, was mich in ObjC einschränkt "moderne" Apps zu schreiben.
Was ich aber sagen kann:
Ich kann den Source-Code meiner ersten ObjC-Anwendung, die ich vor 15 oder 16 Jahren geschrieben habe, in Xcode 12.3 ohne weiteren Eingriff am Code kompilieren.
Aber meine erste SwiftApp, die ich 2015 für einen Kunden erstellt hatte, mag Xcode 12.3 überhaupt nicht mehr.

Und zu guter letzt, mir fiel neulich ein Tweet mit diesem Bild vor die Nase … leider sind meine Pixelmator-Skills nicht so gut, dass ich das in schön für Swift umgestalten könnte.




Aber
Using list, map, filter and closures in a single line
trifft halt auch sowas von auf die ganzen "coolen" Devs zu
Ich hab zwar keine Lösung, doch ich bewundere dein Problem
-1
Perdiste puesto primero26.01.21 09:12
Weia
Diese Nachteile fallen gegenüber den Vorteilen aber nur dann ins Gewicht, wenn man es mit Programmierern zu tun hat, die nicht gewissenhaft arbeiten können.
Wenn das einzige Argument auf meine Aufzählung "Alle doof außer Mutti" sein soll, dann können wir uns hier auch jeglich Diskussion sparen.
Darf ich fragen, für welch ominöse Entwicklergemeinschaft Du sprichst? Hier haben sich mehrere Entwickler über die Vorzüge von Objective-C ausgelassen, keiner außer Dir aber über die von Swift.
In meinem Post ging es weniger um die Vorteile von Swift, als die Entgegnung der (sinnlosen) Abqualifizierung anderer Sprachen deines Posts (Swift als Beispiel im Besonderen, weil Du bereits Bezug darauf genommen hattest).
„Konsens in der Entwicklergemeinschaft“ ist im übrigen nichts als eine schönfärberische Umschreibung für Mainstream. Die Mehrheit hat nicht immer recht (sogar sehr oft nicht).
1. Mainstream ist nicht per se etwas schlechtes.
2. Konsens ist etwas völlig anderes als Mainstream (sieh einfach mal im Duden nach)
3. Die Mehrheit hat nicht immer Recht, aber in der Regel braucht man schon sehr gute Argumente (die Du bisher vermissen lässt), wenn man ihr widerspricht. Die Mehrheit ist schließlich nicht grundlos die Mehrheit.
Swift ist durchdacht? Alles mögliche vielleicht, aber ganz sicher nicht durchdacht. Eine Sprache, die arabische und lateinische Syntax vermischt, vermutlich ohne sich dessen überhaupt bewusst zu sein, ist eine intellektuelle Bankrotterklärung.
Swift ist sehr durchdacht, was natürlich nicht heißt, dass es keine Kritikpunkte gäbe. Aber wenn Dein einziger (oder hauptsächlicher) Kritikpunkt der oben angeführte sein soll, dann haben die Entwickler von Swift _sehr_ viel richtig gemacht. Ist Dir eigentlich schon mal aufgefallen, dass alle C-Abkömmlinge mathematische Operatoren völlig uneinheitlich im Sinne algebraischer Definitionen verwenden (ja auch Objective-C, bekanntestes Beispiel: '=')?
Er hat ja nichts dazu beigetragen. Er hat es zugelassen, weil man ihm erzählt hat, dass sich dann schneller Programmierer finden lassen, die eine iOS-App zustandebringen.
Du tust ja so, als wäre das etwas schlechtes. Ist eine steile Lernkurve denn für dich per se etwas erstrebenswertes? Abgesehen davon hat Swift von schon ein paar mehr deutliche Vorteile, angefangen bei der einheitlichen String-Verarbeitung bis hin zu Fehlerbehandlung und Nebenläufigkeit. Wenn Du das ignorieren willst, ist das Dein Bier, aber professionelle Entwickler sind eher nicht daran interessiert immer wieder die gleichen Probleme lösen zu müssen, wenn es bessere Werkzeuge auf dem Markt gibt.
Das ist eine groteske Behauptung. Was ist denn dann C bei Dir? Forschungsgegenstand von Archäologen?

Gehörst Du auch zu den Leuten, die meinen, was ein paar Jahrzehnte alt ist, kann gar nicht gut sein? So wie Unix?
Nein, ich gehöre zu den Leuten, die in der Lage sind Probleme zu erkennen, auch bei alten Lösungen. Nur weil etwas alt ist, ist es noch lange nicht perfekt. Und genauso gilt umgekehrt, nur weil etwas neu ist, ist es noch lange nicht besser. Ich bin einfach in der Lage auch die Vorteile in anderen Sprachen als C (oder Objective-C) zu erkennen und zu nutzen, sollte dies erforderlich sein. Ich halte einfach den Spruch "alle die nicht Objective-C verwenden sind doof" für Unsinn.
+3
gfhfkgfhfk26.01.21 09:34
ssb
Das geniale an Objective-C ist einfach das „late dynamic binding“, was von SmallTalk geerbt wurde. Methoden (wie bei C++) werden nicht mit einem Call aufgerufen und dazu beim Linken aneinander gebunden. Objekte unterhalten sich, schicken sich Nachrichten ala „Du, kannst du mal schnell dies tun“.
Toll nur im realen Leben vollkommen nutzlos, weil man immer gegen ein Interface programmiert. Duck Typing setzt eben eine Ente voraus, und es macht wenig Unterschied, ob ich das explizit hinschreibe (C++) oder nur implizit im Code voraussetze (Objective-C). Apple hat Interfaces (Mehrfachvererbung für Arme) genau aus diesem Grund auch später in die Sprache integriert, weil explizite Interfaces für größere Projekte sinnvoller sind.
+1
milk
milk26.01.21 10:44
Das Problem mit Swift ist, dass die Sprache seit der Übergabe an die Open Source Community zunehmend zu einer unlesbaren Wichsvorlage für Sprachnerds verhunzt wird. Man verzeihe mir die Deutlichkeit, aber ich entwickle beruflich mit Swift, und das macht seit knapp zwei Jahren immer weniger Spaß.

Manchmal wünsche ich mir wirklich ObjC zurück. Da gab es eine vollständige Doku, und natürlich ein Bookmark auf fuckingblocksyntax.com -- für Swift ist die Doku dagegen kaum noch vorhanden, und die Tutorials im Netz nach einem Jahr veraltet...
+4
LoCal
LoCal26.01.21 10:44
Perdiste puesto primero

"alle die nicht Objective-C verwenden sind doof"
Das hat hier auch niemand behauptet!
Der Ausgang war diese Zeilen:
Weia
ssb
Diesbezüglich ist Swift aus meiner Sicht ein Schritt zurück. Steve hätte das vermutlich nicht so gepusht.
Swift hätte bei Steve Jobs keine Chance gehabt.

Und auch wenn wir das nie erfahren werden, aber ich bin mir recht sicher, dass es Swift, so wie wir es kennen, unter Steve Jobs nicht erschienen wäre.
Das fängt schon dabei an, dass Swift von Version 1 bis 4, mehr oder weniger inkompatibel sind.
Weia
„Swift ist für die ganzen Programmierer, die Javascript können, viel schneller zu verstehen, und idiotensicherer“.

Und auch diesen Satz kann ich, bis auf das idiotensicherer unterschreiben, denn wenn ich mir manchen Swift-Code anschaue, dann sieht man auch da, dass es Menschen gibt, die einfach "gegen die Sprache" programmieren.
Ich hab zwar keine Lösung, doch ich bewundere dein Problem
-1
LoCal
LoCal26.01.21 10:50
milk
Das Problem mit Swift ist, dass die Sprache seit der Übergabe an die Open Source Community zunehmend zu einer unlesbaren Wichsvorlage für Sprachnerds verhunzt wird. Man verzeihe mir die Deutlichkeit, aber ich entwickle beruflich mit Swift, und das macht seit knapp zwei Jahren immer weniger Spaß.

Manchmal wünsche ich mir wirklich ObjC zurück. Da gab es eine vollständige Doku, und natürlich ein Bookmark auf fuckingblocksyntax.com -- für Swift ist die Doku dagegen kaum noch vorhanden, und die Tutorials im Netz nach einem Jahr veraltet... :'(

Nicht zu vergessen wenn mal was auf StackOverflow sucht:

Frage: Wie mache ich XYZ in iOS/macOS
Als richtig markierte Antwort: Objective-C - Code
Danach folgen:
"Hier die Lösung in Swift"
"Hier die Lösung in Swift3"
"Hier die Lösung in Swift4"
"Hier die Lösung in Swift5"
Ich hab zwar keine Lösung, doch ich bewundere dein Problem
+2
Weia
Weia26.01.21 15:36
Perdiste puesto primero
Wenn das einzige Argument auf meine Aufzählung "Alle doof außer Mutti" sein soll, dann können wir uns hier auch jeglich Diskussion sparen.
Das können wir in diesem Rahmen vermutlich auch. Im übrigen wäre Alle doof außer Mutti nicht weniger feingranuliert als Deine pauschale Breitseite gegen Objective-C.

Und eigentlich ging es an dieser Stelle ja nur darum, ob Swift in dieser Form unter Steve Jobs hätte erscheinen können. Und das hätte Swift garantiert nicht, da bin ich mir in Kenntnis seiner Person sehr sicher.
Swift ist sehr durchdacht, was natürlich nicht heißt, dass es keine Kritikpunkte gäbe. Aber wenn Dein einziger (oder hauptsächlicher) Kritikpunkt der oben angeführte sein soll
Das war ein (wie ich finde eklatantes) Beispiel.
Er hat ja nichts dazu beigetragen. Er hat es zugelassen, weil man ihm erzählt hat, dass sich dann schneller Programmierer finden lassen, die eine iOS-App zustandebringen.
Du tust ja so, als wäre das etwas schlechtes.
Ist es, wenn man sich dafür auf Allerweltsniveau begibt.
Ist eine steile Lernkurve denn für dich per se etwas erstrebenswertes?
Ganz im Gegenteil.

Und die Lernkurve von Objective-C ist unübertroffen niedrig. Wer Englisch kann, kann große Teile von Objective-C-Code einfach „lesen“ wie eine natürliche Sprache. Versuche das mal mit Swift.

Du findest für Swift nur leichter Programmierer, weil die durch den ganzen Websprachenmüll schon vorverbildet sind.

Aber Neueinsteiger mit Swift zu traktieren statt ihnen Objective-C anzubieten, wie Apple es jetzt in seinen Edu-Initiativen tut, finde ich schlimm.
Ich halte einfach den Spruch "alle die nicht Objective-C verwenden sind doof" für Unsinn.
Das habe ich ja nicht gesagt.

Sie werden doof – das schon eher.
Not every story must end with a battle (Ophelia, in der umwerfend guten feministischen Adaption des Hamlet-Stoffes in dem Film „Ophelia“)
-1
Weia
Weia26.01.21 15:44
LoCal
Du kannst Swift natürlich so nennen, aber ich würde Swift eher, und hier zitiere ich mal Alexander von Below, als
Alexander von Below
Seelenlose Hipstersprache
bezeichnen.

Swift ist - zumindest für mich - Apples versuch, die ganzen Leute, die von dem ganzen Webgedöns wie Ruby usw kommen, möglichst nahtlos abzuholen.
milk
Das Problem mit Swift ist, dass die Sprache seit der Übergabe an die Open Source Community zunehmend zu einer unlesbaren Wichsvorlage für Sprachnerds verhunzt wird.

Sic.

Swift fehlt jegliches Gespür für Eleganz. Und das wirkt sich auf die Menschen aus, die damit arbeiten, und in Folge auf die Ambitionen ihrer Arbeit.
Not every story must end with a battle (Ophelia, in der umwerfend guten feministischen Adaption des Hamlet-Stoffes in dem Film „Ophelia“)
+3
torgem26.01.21 18:37
@Weia: Ich stimme dir in weiten Teilen zu. Es gibt bei dem ein oder anderen Argument aber auch Gegenbeispiele. Du sagst Apple ist unter Cook technisch nicht mehr so stark. M1-SoC? Und was die Ästhetik des Innenlebens angeht: die Air Pods Max sollen (glaube laut iFixit) sowas von overengineered sein, das der Rest glatt aus dem Kaugummiautomaten kommen könnte. Ok, Softwarequalität leidet unter dem Wachstum, das merkt man schon hier und da. Services laufen recht stabil aus meiner Sicht, hier ist Apple aber einfach nicht zu Hause. Auch wenn es bei Musik noch rund läuft...
AAPL: halten - reflect-ion.de
0
Weia
Weia26.01.21 19:06
torgem
Es gibt bei dem ein oder anderen Argument aber auch Gegenbeispiele. Du sagst Apple ist unter Cook technisch nicht mehr so stark. M1-SoC?
Da hast Du recht, das ist ein, nein, das offenkundige Gegenbeispiel, jedenfalls, wenn sich der Chip auch längerfristig im Alltag so bewährt, wie jetzt alles darauf hindeutet.

Mein Eindruck ist, dass Tim Cook eher ein Hardware- als ein Softwaremensch ist, das scheint für ihn greifbarer (leuchtet ja ein, wenn jemand von der Materialbeschaffungsseite her kommt). Die Hardware-Probleme unter seiner Ägide waren ja eher Business-Entscheidungen (zu teuer, Vernachlässigung der Pros) als genuin technische Probleme; einzelne Fehltritte wie die Notebook-Tastaturen können immer mal passieren. Ich könnte mir vorstellen, dass M1 ff. rückblickend mal als das wichtigste positive Erbe (bezüglich Macs) der Cook-Ära gelten werden.

Bei der sträflichen Vernachlässigung der Cocoa-Frameworks hingegen hat man geradezu den Eindruck, dass er keinerlei Gespür dafür hat, wie wichtig „so ein Bibliothek-Dingens“ überhaupt ist.
Services laufen recht stabil aus meiner Sicht, hier ist Apple aber einfach nicht zu Hause.
Das ist wohl wahr. Ich bin immer wieder aufs Neue fassungslos, dass auch nach über einem Jahrzehnt und einem kompletten Rewrite der Mac App Store es mir nicht ermöglicht, Apps, die ich interessant finde, aber nicht sofort kaufen will, auf eine persönliche Merk- oder Wunschliste zu setzen (oder gar mehrere verschiedene, nicht auszudenken!). Da sieht man im Kontrast schön, wie sehr sich Amazons Erfolg einem Gespür verdankt, das Apple offenbar komplett abgeht, obwohl es dermaßen trivial scheint (jedenfalls, nachdem es Jeff Bezos einmal in die Welt gesetzt hat).
Not every story must end with a battle (Ophelia, in der umwerfend guten feministischen Adaption des Hamlet-Stoffes in dem Film „Ophelia“)
0
gegy
gegy27.01.21 09:08
LoCal
gegy
Mich haben immer die vielen Klammen genervt, da finde ich die Punktnotation von Swift und anderen Sprachen intuitiver. Trotzdem danke, weil ohne ObjC gäbe es auch kein Swift.

Dann hast Du die Syntax von ObjC nicht verstanden, denn wenn man es mal kapiert hat, dann hat man damit überhaupt kein Problem mehr. Und die Punkt-Notation ist eher etwas sehr hässliches.
Ich sehe auch die Punkt-Notation für Properties in ObjC 2.0 als einen riesigen Fehler an, da damit die Klarheit der Sprache etwas zerstört wurde.

Über Geschmack lässt sich ja bekanntlich nicht streiten.
-2
LoCal
LoCal27.01.21 09:13
gegy
LoCal
gegy
Mich haben immer die vielen Klammen genervt, da finde ich die Punktnotation von Swift und anderen Sprachen intuitiver. Trotzdem danke, weil ohne ObjC gäbe es auch kein Swift.

Dann hast Du die Syntax von ObjC nicht verstanden, denn wenn man es mal kapiert hat, dann hat man damit überhaupt kein Problem mehr. Und die Punkt-Notation ist eher etwas sehr hässliches.
Ich sehe auch die Punkt-Notation für Properties in ObjC 2.0 als einen riesigen Fehler an, da damit die Klarheit der Sprache etwas zerstört wurde.

Über Geschmack lässt sich ja bekanntlich nicht streiten.

Das hat in diesem Fall nichts mit Geschmack zu tun!

Die Punktnotation war bis dahin für structs reserviert und das wurde durch die Punktnotation für Properties verwässert und damit war auch ein Teil der Klarheit dahin.
Wie Du siehst, das hat nichts mit Geschmack zu tun … vielleicht eher damit ob man ein Gespür für sowas hat oder nicht.
Ich hab zwar keine Lösung, doch ich bewundere dein Problem
+1
gegy
gegy27.01.21 09:18
LoCal
Und die Punkt-Notation ist eher etwas sehr hässliches.

Doch, denn dies war deine Aussage und „hässlich“ ist eine Eigenschaft, mit der du deinen Geschmack für die Punkt-Notation ausdrückst.

Abgesehen davon: Die Punkt-Notation wird in sehr vielen Sprachen für Properties und Methoden verwendet. Als App-Plattform willst du viele Programmierer ansprechen, die Apps für deinen Store schreiben. Leichter ist das natürlich wenn du dich bei der Sprache nicht zu sehr an neues gewöhnen musst. Ein weiterer Vorteil ist, du kannst sehr leicht zwischen den Sprachen „switchen“, wenn die Syntax in ihren Grundzügen sich ähnelt.
Mir ist aber schon auch klar, dass sich die großen ObjC Künstler teilweise ans Bein gepisst fühlen, weil plötzlich ihre „Kunst“ nicht mehr so im Rampenlicht steht wie früher.
Dieses Phänomen gibt es aber in vielen Bereichen.
0
sillert27.01.21 09:44
gegy
Mir ist aber schon auch klar, dass sich die großen ObjC Künstler teilweise ans Bein gepisst fühlen, weil plötzlich ihre „Kunst“ nicht mehr so im Rampenlicht steht wie früher.
Dieses Phänomen gibt es aber in vielen Bereichen.

Das ist es, was ich hier so herauslese. Ich habe schon in so vielen Sprachen erfolgreich Projekte umgesetzt um festzustellen, dass die verwendete Programmiersprache am Ende völlig egal ist. Ich lese hier nur Möchtegernprofis, die sich über die optische Aufmachung einer Sprache mehr Sorgen machen, als das, was man damit erreichen kann. Swift liefert hier wunderbar ab, so wie ObjC vorher auch. Wer behauptet, dass Fortschritt unnötig ist, weil es ja funktioniert und als Vergleich UNIX heranführt hat eins nicht verstanden: Auch unter UNIX bin ich nicht an C gebunden, heutzutage verwendet niemand mehr reines POSIX und niemand verwendet mehr "ed" als Texteditor, wenn er nicht muss (für Scripte ja durchaus mal brauchbar). Hier gab es also auch Fortschritt, ja selbst unter Linux schafft es Wayland irgendwann auch X11 abzulösen.

Die Diskussion über die "Schönheit" von ObjC kann man getrost als Esoterik abtun. Ja, ObjC ist toll, aber Swift deswegen schlechter zu machen, als es ist, ist recht erbärmlich und unfair, da Swift erst wenige Jahre alt und erst seit kurzem stabil ist.
0
LoCal
LoCal27.01.21 10:14
gegy
LoCal
Und die Punkt-Notation ist eher etwas sehr hässliches.

Doch, denn dies war deine Aussage und „hässlich“ ist eine Eigenschaft, mit der du deinen Geschmack für die Punkt-Notation ausdrückst.

Wenn Du mich schon zitierst, dann doch bitte vollständig:
LoCal
Dann hast Du die Syntax von ObjC nicht verstanden, denn wenn man es mal kapiert hat, dann hat man damit überhaupt kein Problem mehr. Und die Punkt-Notation ist eher etwas sehr hässliches.

Das mit der Hässlichkeit bezog sich auf die Punkt-Notation für Properties in ObjC und da der Code damit schlechter lesbar wurde, ist das etwas hässliches!
gegy
Abgesehen davon: Die Punkt-Notation wird in sehr vielen Sprachen für Properties und Methoden verwendet.

Ja und? Sag das z.B. RPG-Programmierern…

nur weil etwas "in vielen Sprachen" Usus ist, muss das nicht in allen Sprachen übernommen werden.
gegy
Als App-Plattform willst du viele Programmierer ansprechen, die Apps für deinen Store schreiben. Leichter ist das natürlich wenn du dich bei der Sprache nicht zu sehr an neues gewöhnen musst.

Ja, will man das? Oder möchte ich eine möglichst stabile Plattform haben. Dreimal darfst Du raten, warum Apple z.B. die ganzen "schreib-ruhig-weiter-dein-JavaScript-Rotz-wir-wickeln-ihn-dann-in-eine-App"-Dinger nicht haben will.
gegy
Ein weiterer Vorteil ist, du kannst sehr leicht zwischen den Sprachen „switchen“, wenn die Syntax in ihren Grundzügen sich ähnelt.

Und warum sollte man das wollen? Wenn ich für eine Plattform entwickle, dann habe ich eine Sprache und gut ist.
gegy
Mir ist aber schon auch klar, dass sich die großen ObjC Künstler teilweise ans Bein gepisst fühlen, weil plötzlich ihre „Kunst“ nicht mehr so im Rampenlicht steht wie früher.
Dieses Phänomen gibt es aber in vielen Bereichen.

Das siehst Du aber gänzlich falsch. Also ich sehe schon einen gewissen Niedergang, aber der hat weniger mit der Sprache als vielmehr mit dem Umstand zu tun, dass "ich mach jetzt Apps" das neue "ich mache Webseiten" ist.
Du kannst auch gern noch mal hier nachlesen.

Ich habe nicht behauptet, dass ich per se ein Problem mit einer neuen Sprache auf einer Plattform habe, aber, und um jetzt wieder hier auf Swift zurück zu kommen, damit wie die Sprache konzipiert wurde und wie sie "entwickelt" wird.
Ich hab zwar keine Lösung, doch ich bewundere dein Problem
-1
LoCal
LoCal27.01.21 10:18
sillert
gegy
Mir ist aber schon auch klar, dass sich die großen ObjC Künstler teilweise ans Bein gepisst fühlen, weil plötzlich ihre „Kunst“ nicht mehr so im Rampenlicht steht wie früher.
Dieses Phänomen gibt es aber in vielen Bereichen.

Das ist es, was ich hier so herauslese. Ich habe schon in so vielen Sprachen erfolgreich Projekte umgesetzt um festzustellen, dass die verwendete Programmiersprache am Ende völlig egal ist. Ich lese hier nur Möchtegernprofis, die sich über die optische Aufmachung einer Sprache mehr Sorgen machen, als das, was man damit erreichen kann.

Vielen Dank für das Kompliment.

Aber wenn Du die Syntax einer Sprache als optische Aufmachung bezeichnest, dann solltest Du dich vielleicht noch mal ein bisschen nachdenken!
sillert
Swift liefert hier wunderbar ab, so wie ObjC vorher auch. Wer behauptet, dass Fortschritt unnötig ist, weil es ja funktioniert und als Vergleich UNIX heranführt hat eins nicht verstanden: Auch unter UNIX bin ich nicht an C gebunden, heutzutage verwendet niemand mehr reines POSIX und niemand verwendet mehr "ed" als Texteditor, wenn er nicht muss (für Scripte ja durchaus mal brauchbar). Hier gab es also auch Fortschritt, ja selbst unter Linux schafft es Wayland irgendwann auch X11 abzulösen.

Die Diskussion über die "Schönheit" von ObjC kann man getrost als Esoterik abtun. Ja, ObjC ist toll, aber Swift deswegen schlechter zu machen, als es ist, ist recht erbärmlich und unfair, da Swift erst wenige Jahre alt und erst seit kurzem stabil ist.

Bravo, soviel Text und in den letzten 5 Worten erkennst Du eines der Hauptprobleme von Swift und warum zumindest ich sage, dass es unter Steve Jobs Swift so nicht gegeben hätte (und das ist die eigentlich Aussage um die sich hier die ganze Diskussion dreht!)
Ich hab zwar keine Lösung, doch ich bewundere dein Problem
-1
Weia
Weia27.01.21 11:22
gegy
LoCal
Und die Punkt-Notation ist eher etwas sehr hässliches.
Doch, denn dies war deine Aussage und „hässlich“ ist eine Eigenschaft, mit der du deinen Geschmack für die Punkt-Notation ausdrückst.
Hässlichkeit ist hier aber keine Geschmacksfrage. Wenn du mit Mathematikern sprichst, wirst du viele finden, die sich für die „Schönheit“ oder „Eleganz“ einer Lösung begeistern können. Und damit meinen sie dann Dinge wie Klarheit, die durchaus bis zu einem gewissen Grade objektivierbar sind.

Die Punkt-Notation in Objective-C verwischt den Unterschied zwischen Strukturen und Eigenschaften von Objekten, macht den Sachverhalt also unklarer. Und das ist aus mathematischer Perspektive objektiv hässlich. Die gegensätzliche Perspektive wäre die des Pragmatikers, der sich denkt Mir doch egal, was da intern abgeht und ob es da Unterschiede gibt, solange mein Programm funktioniert. So kann man denken, aber das ist dann das Software-Pendant zu einem knarzenden Plastik-Laptop, der ja auch irgendwie funktioniert, und mithin eigentlich genau das Gegenteil von dem, wofür Apple steht oder zumindest stand.
Abgesehen davon: Die Punkt-Notation wird in sehr vielen Sprachen für Properties und Methoden verwendet. Als App-Plattform willst du viele Programmierer ansprechen, die Apps für deinen Store schreiben.
Wer ist dieses wollende „du“? Das Apple von Tim Cook? Da magst du Recht haben. Das Apple von Steve Jobs? Niemals. Das ist doch genau, was ich sagte: aus Think different (Steve Jobs) wurde Think alike (Tim Cook). Und wenig bringt das besser zum Ausdruck als Swift.
Mir ist aber schon auch klar, dass sich die großen ObjC Künstler teilweise ans Bein gepisst fühlen, weil plötzlich ihre „Kunst“ nicht mehr so im Rampenlicht steht wie früher.
Da hast du dann aber genau gar nichts verstanden. Es geht hier nicht um irgendwelche Eitelkeiten, sondern um die Seele von Apple. Und wie ich bereits sagte: am Ende bekommen die die Nutzer zu spüren in Form der Sorgfalt und Liebe zum Detail, mit denen eine App entwickelt wird oder eben nicht.
Not every story must end with a battle (Ophelia, in der umwerfend guten feministischen Adaption des Hamlet-Stoffes in dem Film „Ophelia“)
-2
Weitere News-Kommentare anzeigen

Kommentieren

Sie müssen sich einloggen, um die News kommentieren zu können.