Ich arbeite seit den letzten 4-5 Jahren an C ++. Kürzlich habe ich iPhone und Macbook gekauft und möchte etwas für iphone programmieren.
Ich habe also begonnen, ein Buch über Objective-C zu lesen. Ich habe auch gelernt, dass wir mit Ruby und Python auf MAC programmieren können.
Meine Frage ist also welche? In welcher Sprache siehst du die ZUKUNFT ???
Können wir mit diesen Sprachen auf anderen Plattformen programmieren? Oder sind diese nur auf MAC beschränkt?
Ich bin nur ein Anfänger in Ziel-C.Need einige Expertengedanken, welchen Weg zu gehen.
AC
Ich benutze alle Sprachen C ++, Ruby, Python und Objective-C. Ich mag jeden auf unterschiedliche Weise. Wenn Sie in die Entwicklung von Mac und iPhone einsteigen wollen, empfehle ich Objective-C.
Einer der nicht erwähnten Vorteile ist, dass Objective-C eine richtige Obermenge von C ist (C ++ ist fast eine Obermenge), dh Sie können alle Ihre C-Programmierkenntnisse von C ++ auf Objective-C-Programmierung übertragen. Tatsächlich können Sie auch C ++ - Code in Objective-C-Code mischen.
Das geht nicht nahtlos in Python und Ruby. Der Grund, warum Sie dies tun können, ist, dass Objective-C tatsächlich eine sehr einfache Sprache ist.
Ursprünglich war es nur C mit einem maßgeschneiderten Präprozessor, der solche Anweisungen annahm:
%Vor%und wandelte es vor dem Kompilieren in dieses um:
%Vor%Abgesehen davon sind Ruby, Python und Objective-C in ihrem Objektmodell zumindest im Vergleich zu C ++ sehr ähnlich. In C ++ werden Klassen zur Kompilierzeit erstellt. In Objective-C werden Ruby- und Python-Klassen zur Laufzeit erstellt.
Ich schrieb ein paar Sachen auf warum Obj-C hier cool ist
Wenn Sie für iphone programmieren möchten, sollten Sie objective-C verwenden. Die gesamte iphone API basiert auf objective-C, und Sie haben die Vorteile der Verwendung von Interface Builder und IDE-Unterstützung von Xcode.
Objective-C ist die einzige Möglichkeit, ein iPhone zu programmieren, wenn Sie native Programme erstellen möchten, die im App Store verkauft werden können.
Einige der fortgeschritteneren Konzepte in Objective-C werden jetzt zu Sprachen wie C # hinzugefügt (zB: Erweiterungsmethoden in C # v3.0). Das Lernen in Objective-C ist nützlich, das OO-Modell, das Sie lernen, wird in den meisten anderen Sprachen und Umgebungen als Ergänzung zu Ihrer C ++ - Erfahrung anwendbar sein.
Rubys Objektmodell ist näher an dem von Objective-C als Python, also empfehle ich auch, Ruby zu lernen, aber erst, wenn Sie Ihre Objective-C-Fähigkeiten fest im Griff haben.
Beachten Sie, dass Sie Objective-C ++ verwenden und C ++ für alle außer Ihrem GUI-Code verwenden können, indem Sie .mm-Suffixe auf Ihren Dateien haben - das funktioniert sowohl auf dem iPhone als auch auf dem Mac. Angesichts Ihrer C ++ - Erfahrung, die Ihnen dabei hilft, produktiv zu sein.
Wenn Sie das iPhone programmieren wollen, machen Sie sich keine Sorgen um die neue Objective-C 2.0-Speicherverwaltung, aber Sie können weiterhin das Eigenschaftsmodell verwenden (das iPhone hat tatsächlich eine Teilmenge der Objective-C 2.0-Laufzeit).
Welche Sprache siehst du als ZUKUNFT ???
Zukunft von was? iPhone Entwicklung? Ziel c.
Webdienste? Python / Ruby parallel für eine Weile. Zumindest solange, bis die Leute beginnen, große Ruby-Anwendungen zu warten und frustriert werden, weil sie undurchsichtig sind.
Echtzeit-Spiele-Engine-Entwicklung? Eingebettete Anwendungen? Zukunft von was?
"Können wir diese Sprachen auf anderen Plattformen programmieren? Oder sind diese nur auf MAC beschränkt?"
Ruby und Python: Ja. Diese sind entworfen, um auf jeder Plattform zu laufen, die C unterstützt.
Ziel-C: Ja. Es ist Open Source, es ist im GCC, sollte fast überall funktionieren .
Das Erlernen einer neuen Sprache ist nicht ein Nullsummenspiel. Sie können mehr als eine Sprache lernen; Das Lernen von Objective-C hindert Sie nicht daran, in Zukunft Python oder Ruby zu lernen.
Als Perlite möchte ich nur darauf hinweisen, dass OS X sowohl Perl als auch Python oder Ruby enthält.
Was Perl / Python / Ruby betrifft, sind Programme fast vollständig plattformübergreifend. Es ist ziemlich einfach, ein Perl / Python / Ruby-Programm auf jeder Plattform auszuführen, und es funktioniert mehr oder weniger gleich. Es kann einige kleine Unterschiede geben, aber sie sind nicht groß.
Objective-C wird, obwohl es nicht ausschließlich auf OS X beschränkt ist, nur in OpenStep-basierten Umgebungen verwendet, was normalerweise OS X und das iPhone bedeutet. Der einzige Objective-C-Compiler, den ich kenne, ist gcc, und ich kann mir vorstellen, dass Sie Objective-C unter Linux schreiben können, aber ich weiß nicht, ob die Windows-Unterstützung sehr gut ist (falls vorhanden).
Was die Sprache der "Zukunft" ist, werden alle 3 (oder 4) Sprachen in Zukunft sehr weit verbreitet sein. Niemand kann so etwas wirklich vorhersagen, und keine der Sprachen wird wirklich absterben (es sei denn, Apple wechselt zu einer neuen Sprache als "Standard" für die Erstellung von Mac-Programmen), so dass Sie mit jedem sicher sind sie.
Mein Rat: Probieren Sie alle aus und sehen Sie, welcher Ihrer Meinung nach am besten zu Ihrem Stil passt, und lernen Sie diesen.
Wie von anderen bemerkt, wenn Sie das iPhone programmieren wollen, ist Objective-C der richtige Weg.
Objective-C ist ziemlich Mac-spezifisch; Natürlich ist der Gnu Objective-C-Compiler auch für andere Plattformen verfügbar, und es gibt auch GnuStep , aber ich Ich denke, die Hauptanwendbarkeit von Objective-C ist heute die Programmierung von Macs und iPhones.
Python und Ruby dagegen sind auf einer großen Anzahl von Plattformen verfügbar (einschließlich Windows und vielen Unix-Dialekten). Persönlich bevorzuge ich Python, aber ich würde sagen, dass beide Sprachen sehr brauchbar und ziemlich einfach zu erreichen sind.
Beachten Sie auch, dass sowohl Python als auch Ruby haben Objective-C-Brücken zur Verfügung, mit denen Sie ziemlich ausgefallene Cococa-Anwendungen in einer dieser Sprachen schreiben können.
Wenn Sie mit Objective-C programmieren, sollte Ihr Hauptziel darin bestehen, Cocoa-Anwendungen auf dem Mac zu schreiben. Darüber hinaus hat es wenig Nutzen. Ruby und Python sind nützliche Skriptsprachen und es gibt auch Brücken, um Cocoa-Anwendungen zu schreiben.
Wenn Sie Apps auf dem Mac schreiben möchten, würde ich mit Objective-C beginnen. Es gibt mehr Unterstützung verfügbar.
In Bezug auf die Zukunft scheint es, als ob viele Leute im Moment auf den Ruby-Zug aufspringen. Viel Glück.
Um auf Mac OS X zu programmieren, brauchen Sie wirklich eine gute Grundlage in Objective-C. Die überwiegende Mehrheit der Dokumentation wird Objective-C annehmen. Selbst wenn Sie einige Anwendungen in einer anderen Sprache programmieren, sind Sie besser mit einem guten Verständnis vertraut.
Rubin. Mit Ruby können Sie sowohl Web-Entwicklung (Rails / Sinatra / etc.) Durchführen als auch sehr bald auf der MAC / Iphone-Plattform mit dem Macruby-Projekt programmieren. Warum nicht das Beste aus beiden Welten?
Tommy
Nur meine zwei Cent ... Wie Sie sicher wissen, machen Apple und andere in den jeweiligen Communities viel Arbeit mit Ruby und Python, sowohl für die Mac- als auch für die iPhone-Entwicklung. Objective-C wird dich nur in diesen Tagen in Apple-Arenen bringen (obwohl das vielleicht keine schlechte Sache ist;) Wenn du jedoch in absehbarer Zeit nur eine Sprache lernen wirst, denke darüber nach, wo du sie verwenden wirst, und wozu. Ruby und Python werden Sie viel weiter bringen, wenn Sie nicht nur Mac Desktop und iPhone betrachten.
Ich habe in Ruby kleine Spiele, Interpreter und jede Menge toller Sachen geschrieben. Ich würde es nicht empfehlen, zum Beispiel intensive KI-Programme zu schreiben, aber es macht Spaß zu lernen und ist für die meisten Anwendungen sehr leistungsfähig. Selbst wenn ich die meiste Arbeit in C ++ mache, ist Ruby aus subjektiven Gründen meine Lieblingssprache.
Objective C, wie die meisten Leute sagten, ist ein Muss in der iPhone-Entwicklung, und macht Spaß, wenn Sie begeistert sind, Sprachen zu lernen.
Ich habe Python nicht ausprobiert, aber ich höre nichts als gute Dinge über es, und PyGames ist ziemlich populär.
Ich würde die drei lernen (naja ... Ich würde Ziel C überspringen, wenn Sie nicht neugierig auf die iPhone-Entwicklung sind), die meisten Sprachen, die Sie kennen, die beste professionelle Sie werden. Wie ein guter Professor von mir immer gesagt hat..Es geht nicht darum, der Meister in nur einer Sprache zu sein, es geht darum, die Vor- und Nachteile eines jeden zu kennen, um den richtigen zu wählen nach dem speziellen Problem, das du lösen willst.
Prost!
Objective-C ist nur Mac / iPhone, und ich empfehle Ihnen zu lernen, ob Sie Anwendungen für Mac / iPhone entwickeln möchten. Python ist alles und es ist Zukunft, aber Python mehr für Web-Entwicklung. Python ist Google :) Python ist Web, Spiele, Wissenschaft, Grafik, Desktop, etc. Es ist auch eine sehr gute Wahl, wenn Sie C / C ++ - Entwickler sind.
Nicht sicher, ob ich dir empfehlen kann, Ruby zu lernen ...
Tags und Links python ruby objective-c programming-languages