Sicher, wenn alles, was Sie in Ihrem Leben gesehen haben, Ziel C ist, dann scheint seine Syntax die einzig mögliche zu sein. Wir könnten Sie eine "Programmierjungfrau" nennen.
Da jedoch viel Code in C, C ++, Java, JavaScript, Pascal und anderen Sprachen geschrieben ist, werden Sie feststellen, dass sich ObjectiveC von allen unterscheidet, jedoch nicht in guter Weise. Hatten sie einen Grund dafür? Sehen wir uns andere beliebte Sprachen an:
C ++ hat C viele Extras hinzugefügt, aber die ursprüngliche Syntax wurde nur so weit wie nötig geändert.
C # hat im Vergleich zu C ++ viele Extras hinzugefügt, aber nur Dinge geändert, die in C ++ hässlich waren (wie das Entfernen des "::" von der Benutzeroberfläche).
Java hat viele Dinge geändert, aber die bekannte Syntax beibehalten, außer in Teilen, in denen die Änderung erforderlich war.
JavaScript ist eine vollständig dynamische Sprache, die viele Dinge kann, die ObjectiveC nicht kann. Dennoch haben die Entwickler keine neue Methode zum Aufrufen von Methoden und Übergeben von Parametern erfunden, um sich vom Rest der Welt zu unterscheiden.
Visual Basic kann Parameter wie ObjectiveC nicht in der richtigen Reihenfolge übergeben. Sie können die Parameter benennen, aber Sie können sie auch auf normale Weise übergeben. Was auch immer Sie verwenden, es ist eine normale, durch Kommas getrennte Art und Weise, die jeder versteht. Komma ist das übliche Trennzeichen, nicht nur in Programmiersprachen, sondern in Büchern, Zeitungen und der Schriftsprache im Allgemeinen.
Object Pascal hat eine andere Syntax als C, aber seine Syntax ist für den Programmierer einfacher zu lesen (vielleicht nicht für den Computer, aber wen interessiert es, was der Computer denkt). Vielleicht schweiften sie ab, aber zumindest ist ihr Ergebnis besser.
Python hat eine andere Syntax, die (für Menschen) noch einfacher zu lesen ist als Pascal. Als sie es geändert und anders gemacht haben, haben sie es zumindest für uns Programmierer besser gemacht.
Und dann haben wir ObjectiveC. Hinzufügen einiger Verbesserungen zu C, aber Erfinden einer eigenen Schnittstellensyntax, Methodenaufruf, Parameterübergabe und was nicht. Ich frage mich, warum sie nicht + und - getauscht haben, so dass plus zwei Zahlen subtrahiert. Es wäre noch cooler gewesen.
Steve Jobs hat es vermasselt, ObjectiveC zu unterstützen. Natürlich kann er C # nicht unterstützen, was besser ist, gehört aber zu seinem schlechtesten Konkurrenten. Dies ist also eine politische Entscheidung, keine praktische. Technologie leidet immer, wenn technische Entscheidungen aus politischen Gründen getroffen werden. Er sollte das Unternehmen führen, was er gut macht, und Programmierangelegenheiten echten Experten überlassen.
Ich bin mir sicher, dass es noch mehr Apps für das iPhone geben würde, wenn er iOS schreiben und Bibliotheken in einer anderen Sprache als ObjectiveC unterstützen würde. Für alle außer eingefleischten Fans, jungfräulichen Programmierern und Steve Jobs sieht ObjectiveC lächerlich, hässlich und abstoßend aus.