1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Welche Programmiersprache hat Zukunft ?

Dieses Thema im Forum "OS X-Developer" wurde erstellt von künstler, 08.12.06.

  1. künstler

    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
     
  2. KayHH

    KayHH Gast

    hellsehen?

    Du hast die Sprache der Wahl vergessen, Objective-C.

    Sind keine Programmiersprachen.


    Gruss KayHH
     
  3. tjp

    tjp Baldwins roter Pepping

    Dabei seit:
    07.07.04
    Beiträge:
    3.252
    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.
     
    schatzspatz gefällt das.
  4. Peter Maurer

    Peter Maurer Carmeliter-Renette

    Dabei seit:
    16.03.04
    Beiträge:
    3.274
    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.
     
  5. MacMark

    MacMark Biesterfelder Renette

    Dabei seit:
    01.01.05
    Beiträge:
    4.709
    Für OS X ist die Hauptsprache Objective C. Ab 10.5 dann auch mit Garbarge-Collection wie bei Java.
     
  6. Big-D

    Big-D Gast

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

    MacMark Biesterfelder Renette

    Dabei seit:
    01.01.05
    Beiträge:
    4.709
    "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.
     
  8. tjp

    tjp Baldwins roter Pepping

    Dabei seit:
    07.07.04
    Beiträge:
    3.252
    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.
     
  9. tjp

    tjp Baldwins roter Pepping

    Dabei seit:
    07.07.04
    Beiträge:
    3.252
    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.
     
  10. MacMark

    MacMark Biesterfelder Renette

    Dabei seit:
    01.01.05
    Beiträge:
    4.709
    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 ;)
     
  11. below

    below Kalterer Böhmer

    Dabei seit:
    08.10.06
    Beiträge:
    2.865
    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
     
    MacMark gefällt das.
  12. marcozingel

    marcozingel Brettacher

    Dabei seit:
    07.12.05
    Beiträge:
    7.481
  13. osfreak

    osfreak Zuccalmaglios Renette

    Dabei seit:
    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
     
  14. Tekl

    Tekl Fairs Vortrefflicher

    Dabei seit:
    01.06.05
    Beiträge:
    4.622
    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.
     
  15. Tekl

    Tekl Fairs Vortrefflicher

    Dabei seit:
    01.06.05
    Beiträge:
    4.622
    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.
     
  16. tjp

    tjp Baldwins roter Pepping

    Dabei seit:
    07.07.04
    Beiträge:
    3.252
    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.
     
  17. osfreak

    osfreak Zuccalmaglios Renette

    Dabei seit:
    19.12.04
    Beiträge:
    262
    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
     
  18. MacMark

    MacMark Biesterfelder Renette

    Dabei seit:
    01.01.05
    Beiträge:
    4.709
  19. Tekl

    Tekl Fairs Vortrefflicher

    Dabei seit:
    01.06.05
    Beiträge:
    4.622
    Sehr interessant. Danke für den Link MacMark.
     
  20. tjp

    tjp Baldwins roter Pepping

    Dabei seit:
    07.07.04
    Beiträge:
    3.252
    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.
     

Diese Seite empfehlen