• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Welche Programmiersprache hat Zukunft ?

  • Ersteller künstler
  • Erstellt am

künstler

Gast
Hallo,

kann mir jemand verlässlich sagen, welche Programmiersprache man jetzt lernen sollte, um bei Mac-Applikationen in Zukunft mithalten zu können.

Ist es Java, Cocoa, Carbon, C++, andere ??? Was wird bei Apple in Zukunft weiterverwendet ? Welche Programmiersprache eignet sich am besten für die neuen Intel Dual-Core Systeme?

Spielt es überhaupt eine Rolle, welche Programmiersprache man wählt oder ist das einfach eine individuelle Präverenz ?? Wohin gehen die Trends ??

Danke für eine verlässliche Auskunft dazu.

Gruss
Künstler
 

tjp

Altgelds Küchenapfel
Registriert
07.07.04
Beiträge
4.059
Hallo,

kann mir jemand verlässlich sagen, welche Programmiersprache man jetzt lernen sollte, um bei Mac-Applikationen in Zukunft mithalten zu können.
Alle paar Jahre wird eine neue Sau durchs Dorf gejagt. Es gibt immer wieder Zyklen von Modeprogrammiersprachen, die eine zeitlang hochgejubelt werden und dann wird es wieder stiller um diese Sprache.

MacOS X bringt von Haus aus zwei Frameworks mit Cocoa und Carbon. Es ist anzunehmen, daß auch in Zukunft die beiden Frameworks eine große Bedeutung haben werden. Cocoa wird mittels Objective-C programmiert Carbon mit C und C++. Für neue Programme ist Cocoa empfehlenswerter, sofern es nicht spezielle Gründe gibt Carbon dennoch zu verwenden.

Objective-C erlaubt die Verwendung von C oder C++ Programmteilen.

Wichtig ist es verschiedene Paradigmen zu lernen und diese in verschiedenen Programmiersprachen verwenden zu können. Dann und nur dann ist man in der Lage flexibel auf die Neuerungen, die die Zukunft bringen wird, einzugehen.
 
  • Like
Reaktionen: schatzspatz

Peter Maurer

Pommerscher Krummstiel
Registriert
16.03.04
Beiträge
3.077
Objective-C erlaubt die Verwendung von C oder C++ Programmteilen.
Das ist der entscheidende Punkt. Auch ich rate dem originalen Fragesteller deshalb dazu, Cocoa/Objective-C als Ausgangspunkt fuer seine Programme zu waehlen. Fuer mich persoenlich spielt dabei auch durchaus eine Rolle, dass Objective-C eine schoene, leicht zu lesende Sprache ist.

Allerdings kommt man in der echten Welt bei nicht voellig trivialen Projekten nur sehr selten drum rum, Carbon/C-Teile in sein Programm einzubauen. Cocoa und Carbon haben auch viel groessere Schnittmengen, als es dem Anfaenger zunaechst scheinen mag.

Deshalb: Wer sowohl mit den Cocoa- als auch den Carbon-Frameworks und den dafuer benoetigten Sprachen zurechtkommt, der sitzt fuer Mac-spezifische Anwendungen m.E. ziemlich fest im Sattel.

Disclaimer: Diese meine Auskunft ist nicht verlaesslich.
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
Hallo,

kann mir jemand verlässlich sagen, welche Programmiersprache man jetzt lernen sollte, um bei Mac-Applikationen in Zukunft mithalten zu können.

Ist es Java, Cocoa, Carbon, C++, andere ??? Was wird bei Apple in Zukunft weiterverwendet ? Welche Programmiersprache eignet sich am besten für die neuen Intel Dual-Core Systeme?

Spielt es überhaupt eine Rolle, welche Programmiersprache man wählt oder ist das einfach eine individuelle Präverenz ?? Wohin gehen die Trends ??

Danke für eine verlässliche Auskunft dazu.

Gruss
Künstler

Für OS X ist die Hauptsprache Objective C. Ab 10.5 dann auch mit Garbarge-Collection wie bei Java.
 

Big-D

Gast
Ich würde gerne Cocoa/Objectiv C lernen. Kann mir jemand ne gute Lektüre empfehlen???
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
Ich würde gerne Cocoa/Objectiv C lernen. Kann mir jemand ne gute Lektüre empfehlen???

"Cocoa Programming For Mac OS X" von Aaron Hillegass ist das Standardwerk zu dem Thema.

Danach vielleicht noch "Advanced Mac OS X Programming" von Mark Darlrymple und Aaron Hillegass.
 

tjp

Altgelds Küchenapfel
Registriert
07.07.04
Beiträge
4.059
Für OS X ist die Hauptsprache Objective C.
Das ist eindeutig zu verneinen. Für die Entwicklung von Kernel-Treibern wird ein abgespeckts C++ verwendet, die ganzen Low-Level Sachen wie Drucker-Treiber u.ä. werden in C oder C++ programmiert, die meisten APIs von MacOS X sind nur C Schnittstellen.

Objective-C wird nur im Zusammenhang mit Cocoa verwendet. Das ist zwar für die Anwendungsentwicklung der sichtbarste Teil von MacOS X, aber auch der kleinste Teil von OS X.
 

tjp

Altgelds Küchenapfel
Registriert
07.07.04
Beiträge
4.059
Ich würde gerne Cocoa/Objectiv C lernen. Kann mir jemand ne gute Lektüre empfehlen???
Neben den Buch von Hillegass ist noch das Buch: "Kochan, Stephen G.: Programming in Objective-C. Sams Publishing, 800 East 96th Street, Indianapolis, Indiana 46240, November 2003, ISBN 0-672-32586-1" zu empfehlen, ggf. gibt es eine Neuauflage.
 

MacMark

Jakob Lebel
Registriert
01.01.05
Beiträge
4.874
tjp,
mit Hauptsprache bezog ich mich auf die Art von Programmen, die er offensichtlich entwickeln will. Er machte mir nicht den Eindruck, an XNU oder mit EFI spielen zu wollen ;)
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
Objective-C wird nur im Zusammenhang mit Cocoa verwendet. Das ist zwar für die Anwendungsentwicklung der sichtbarste Teil von MacOS X, aber auch der kleinste Teil von OS X.

Aber sicherlich für den Fragesteller auch der relevanteste.

Wer hier im Forum schreibt den Kernelextensions und Gerätetreiber für OS X? Wenn es da ausser mir noch andere gibt würde ich mich freuen, wenn die sich mal zu erkennen geben würden.

Grundsätzlich sollte man immer links und rechts des Weges kucken, und die Programmiersprache vom Problem abhängig machen, nicht umgekehrt. Und für das Problem "OS X Anwendungsentwicklung" ist ObjC einfach richtig.
Es ist sicher nicht falsch, nebenbei auch reines C++ zu lernen, nur damit man sich mal ein Bild verschafft.

Und was die "Zukunftssicherheit" angeht ... Hätte wirklich jemand geglaubt, das dieses komische C derartig populär wird, und viele schönere Sprachen auf der Strecke bleiben? Oder das für Fortran heute noch Hochleistungscompiler gebaut werden? Oder das es immer noch Stellenausschreibungen für Cobol Programmierer gibt?

Alex
 
  • Like
Reaktionen: MacMark

osfreak

Zuccalmaglios Renette
Registriert
19.12.04
Beiträge
262
Objective-C hat (denke ich jedenfalls) das Problem dass es nur für MacOSX da ist und man dann mit seinem Programmcode nicht so ohne weiteres woandershin umziehen kann. Es macht also nur dann Sinn wenn man ausschließlich für MacOSX programmiert.

Thomas
 

Tekl

Fairs Vortrefflicher
Registriert
01.06.05
Beiträge
4.630
Und was eignet sich am besten für Crossplattform-Projekte? C++? Werden alle größeren Crossplattform-Produkte (Opera, Firefox, Adobe Programme ...) in C++ geschrieben? Java ist ja aufgrund des Arbeitstempos nicht überall empfehlenswert und Realbasic ist scheinbar etwas beschränkt.
 

Tekl

Fairs Vortrefflicher
Registriert
01.06.05
Beiträge
4.630
Was ist eigentlich vom Buch von Fritz Andersson zu halten. Das Buch "Objective-C und Cocoa" von "Klaus Rodewig" bekommt bei Amazon teils vernichtende Kritiken.
 

tjp

Altgelds Küchenapfel
Registriert
07.07.04
Beiträge
4.059
Und was eignet sich am besten für Crossplattform-Projekte? C++?
Damit sind die meisten Frameworks geschrieben. Die wichtigsten (im Sinne von Marktanteilen und Zahl der Projekte) Compilersprachen sind C, C++, C# und Java. Im Bereich der Skriptsprachen ist es wohl Perl, Python, Ruby, Tcl, PHP (nur fürs Web). Die Listen erheben keinen Anspruch auf Vollständigkeit, durchaus möglich das ich was vergessen habe.
 

osfreak

Zuccalmaglios Renette
Registriert
19.12.04
Beiträge
262
Und was eignet sich am besten für Crossplattform-Projekte? C++? Werden alle größeren Crossplattform-Produkte (Opera, Firefox, Adobe Programme ...) in C++ geschrieben? Java ist ja aufgrund des Arbeitstempos nicht überall empfehlenswert und Realbasic ist scheinbar etwas beschränkt.

Na ja,

ich vermute mal dass schon das meiste in C oder C++ geschrieben wird und einiges wohl auch noch in Fortran. Eventuell ist eine gute Lösung, wenn man die eigentlichen Proogrammfunktionen alle in C schreibt und die Bedienoberfläche mit den Hilfsmitteln des jeweiligen Betriebssystems. Mir ist da auch keine einfache Lösung bekannt, die wirklich vollkompatibel zu allen Systemen ist. Bei Java kommen dann doch immer mal wieder Fragen wie man spezielle Sachen beim Ausdrucken löst oder wie man sich bei Apple in die Reaktion auf Apfel-Q einklinkt.

Ich persönlich bevorzuge ja Pascal aber das liegt nun weniger an den Vorteilen der Sprache als daran dass ich einst damit angefangen habe. Zum Lernen dürfte es trotzdem auch gut geeignet sein und es ist für alle Plattformen verfügbar. Für den Mac gibt es Free Pascal (www.freepascal.org) und Gnu-Pascal (www.microbizz.nl), beides mit Integrationskits für XCode. Wobei man allerdings sagen muss das das alleine auch noch keinen plattformunabhängigen Code ergibt sondern man genauso auf die API des jeweiligen Betriebssystems angepasst aufsetzen muss.

Wer mal schnell plattformunabhängigen Code schreiben will kann sich auch an Tcl/Tk versuchen (www.tcl.tk). Das ist eine ungewöhnliche aber einfache Sprache, kostet nichts, bringt aber mit recht wenig Aufwand plattformunabhängige Bedienoberflächen zustande. Allerdings wird es interpretiert. Da aber die Computer heute im Grunde alle recht schnell sind kann man das auch öfters vertreten. Bei Bedarf kann man zudem auch schnelle Programmteile in C dazuschreiben bzw. sogar nach alter Unix-Tradition über Pipes mit der Tcl/Tk-Oberfläche verbinden, sogar ggf. auf verschiedene Rechner verteilt.

Thomas
 

Tekl

Fairs Vortrefflicher
Registriert
01.06.05
Beiträge
4.630
Sehr interessant. Danke für den Link MacMark.
 

tjp

Altgelds Küchenapfel
Registriert
07.07.04
Beiträge
4.059
Cocoa ist plattform- und betriebssystemunabhängig.
Zuviel Radio Eriwan gehört? In der Realität scheitert das, daß es keine aktuelle Ports von Cocoa auf anderen Plattformen gibt. GNUstep ist ja nett, kann aber nicht mit dem Funktionsumfang von Cocoa mithalten. Viele andere Techniken von MacOS X gibt es ebenfalls nicht für andere Plattformen z.B. QuickTime.