Welche Programmiersprache nutzen die Apple Mitarbeiter?

P

Philosoph

Mitglied
Thread Starter
Dabei seit
19.04.2004
Beiträge
59
Reaktionspunkte
0
Hallo, ich bin neu hier im Forum, bin derzeit Windows User und wirklich sehr begeistert von den Apple Produkten!
Mich würde interessieren wie die Mitarbeiter von Apple ihr OS programmiert haben, also mit welcher Programmiersprache usw.?

Noch eine weitere Frage:
Welche Programmiersprache empfiehlt ihr mir (hab' Pascal & Basic Kentnisse) für das Programmieren von OS X Programmen?

Danke im Voraus. :)
 
in einem Wort:
Cocoa

Wenn Du am Mac Programmieren willst, empfehle ich Dir C (mindestens Grundkenntnisse) und mindestens eine OOP Sprache (zB c++ und/oder JAVA) zu lernen.
Dannach weiter mit Objective-C und Cocoa.
perl zu lernen kann prinzipiell auch nicht schaden; wenn man mal anfängt zu Programmieren, besteht ohnehin Suchtgefahr.

Pascal und Basic-kenntnisse geben Dir schon mal ein Grundverständnis, wie man programmiert und sind eine gute Vorbereitung.
Ernsthaft mit XCode anfange würde ich erst, wenn Du auf der Kommandozeile sicher coden und kompilieren kannst und wenn du mit make und Makefiles klarkommst.
 
Das wird wohl C++ sein.

Eine Empfehlung kann man nicht ohne weiteres geben: welche Ansprüche hast du? Ich für meinen Teil würde entweder Real Basic verwenden (ähnlich wie Visual Basic) oder aber noch ein paar Monate warten und dann PureBasic kaufen, denn davon ist eine Mac OS X Version in Arbeit.

Ansonsten kannst du dir ja X-Code ansehen, welches bei einigen Macs mitgeliefert wird. Wenn nicht, ist es über die Apple-Website ladbar.
 
hallo JWolf,

ich finde schon, dass man da ohne Weiteres eine Empfehlung geben kann.

Apple empfiehlt ganz eindeutig Cocoa für die Programierung von Apple Anwendungen.
Cocoa ist ungeheuer dynamisch und vielseitig.
Beispiele für Anwendungen die in Cocoa programiert sind, sind zB XCode, die übrigen Apple Progarmme (Mail, iTunes, Adressbuch etc.) und nicht zuletzt Mac OS X selbst.

In Cocoa kann man unveränderten C Code einsetzen und 100%pureJava.
Überwiegend wird man aber wohl mit Objective-C arbeiten, welches (anders als c++) eine reine Obermenge von C ist.

c++ ist ratsam zu lernen, weil man zum einen Kommandozeilenprogramme mit reinem c++ schreiben kann (mit reinem C Code auch) und zum anderen damit die objektorientierte Programmierung und das Klassenkonzept sehr gut lernen kann.
Außerdem gibt es für C und c++ tonnenweise Anleitungen im Internet und auch sehr gute Foren.
 
Zuletzt bearbeitet:
Er sagt, er hat Pascal und Basic Kenntnisse. Wenn ich ihm dann C++, Java, Smalltalk oder sonst etwas empfehle, bringt es ihn nicht weiter.

Noch einmal, er hat Pascal und Basic Kenntnisse. Das bedeutet, ich würde ihm zu einem Basic-Dialekt raten - auch weil ich selber am liebsten in Basic programmiere. Allerdings weiß ich nicht, was seine Ansprüche sind. Und diese soll er erst beschreiben, bevor man hier definitiv eine Empfehlung abgibt.
 
hallo JWolf,

eins vorneweg-nur damit keine Mißverständnisse entstehen. :)
Ich möchte Dich keinesfalls persönlich angreifen, und Deine Meinung respektiere ich natürlich.
Wenn ich ihm dann C++, ... empfehle, bringt es ihn nicht weiter.
Zitat JWolf:
Das wird wohl C++ sein.
hm ? :D
Mich würde interessieren wie die Mitarbeiter von Apple ihr OS programmiert haben, also mit welcher Programmiersprache usw.?
...
Welche Programmiersprache empfiehlt ihr mir ... für das Programmieren von OS X Programmen?

Allerdings weiß ich nicht, was seine Ansprüche sind.

Da hör ich schon Einiges heraus:
a) die Bereitschaft Neues zu lernen
b) von Basic und Pascal aus sich ggf. auch weiterzuentwickeln
c) richtig Mac-like zu programmieren

Von der Warte aus denke ich, ist wirklich Cocoa die einzige Wahl.
Und um Cocoa zu lernen sind ein paar "Vorstudien" - wie ich meine - sehr empfehlenswert.

Nichts gegen Basic - (hab ich in den 80er Jahren auch mal gelernt) und was daraus geworden ist, aber ich denke wenn man definitiv Mac OS X Programme schreiben will ist das eher suboptimal.
Ich nehme an, damit arbeitet man eher, wenn man hauptsächlich in anderen Weltern codet und seine Programme dann an Mac OS X anpassen will ("... denn davon ist eine Mac OS X Version in Arbeit").
Ich lasse mich aber gerne eines Besseren belehren.
 
Ich möchte Dich keinesfalls persönlich angreifen, und Deine Meinung respektiere ich natürlich.

Dies hatte ich auch nicht anders verstanden, keine Sorge. :)

>Zitat JWolf:
>Das wird wohl C++ sein.

Damit hatte ich ausdrücken wollen, dass Apple wohl C++ verwendet - es sollte keine Empfehlung für ihn sein, auch wenn man es so verstehen kann... Da hätte ich besser ein Zitat von ihm ("Mich würde interessieren wie die Mitarbeiter von Apple ihr OS programmiert haben") vorher eingefügt, so wäre es nicht zu diesem Missverständnis gekommen.

Ich nehme an, damit arbeitet man eher, wenn man hauptsächlich in anderen Weltern codet und seine Programme dann an Mac OS X anpassen will ("... denn davon ist eine Mac OS X Version in Arbeit").

Ich sehe es so: im Laufe der Jahre habe ich nicht nur eine Programmiersprache gelernt. Außer Basic waren dies C, Pascal, Modula 2 und Amiga-E. Natürlich kann man mit C, bzw. C++ die meisten Dinge erreichen. Man kann kleine, schnelle, effektive Programme erzeugen. Aber für welchen Preis? Es ist definitiv nichts für Anfänger. Wer "nur mal eben" in die X-Programmierung reinschnuppern will, ist mit XCode überfordert (ich zum Beispiel :rolleyes: ). Mir persönlich ist es egal, ob ein Basic-Programm 10mal langsamer als ein entsprechendes C-Programm ist (PureBasic ist allerdings verdammt schnell!). Ich möchte Spaß am Programmieren haben - und das habe ich definitv NICHT mit C.

Und darum ging es mir. Cocoa mag für OSX die eleganteste Lösung sein, die beste Lösung für jeden Zweck ist es allerdings nicht.
 
In den mitgelieferten Entwickler-Tools XCode stehen dem GUI-Programm-Entwickler bei Mac OS X zwei unterschiedlichen Umgebungen zur Verfügung: Carbon und Cocoa.
Carbon ist eine prozedurale API, hier wird idR in C programmiert.
Cocoa ist ein Set von objekt-orientierten Frameworks, hier wird in Objektive-C programmiert. Es kann aber auch C- und C++-Code integriert werden. Außerdem lässt sich für Cocoa alternativ auch in Java programmieren.
Auch die Apple-Programmierer benutzen diese Umgebungen.

http://developer.apple.com/document...ook/index.html#//apple_ref/doc/uid/TP30000415
 
Original geschrieben von Philosoph
Hallo, ich bin neu hier im Forum, bin derzeit Windows User und wirklich sehr begeistert von den Apple Produkten!
Das legt sich. Nicht, dass Apple keine guten Produkte macht, aber so der Heilsbringer wie immer wieder behauptet, sind sie auch nicht. Bin mit meinem iBook glücklich, aber ich lauf deswegen nicht immer voller Begeisterung durch die Gegend. ;)


Original geschrieben von Philosoph
Mich würde interessieren wie die Mitarbeiter von Apple ihr OS programmiert haben, also mit welcher Programmiersprache usw.?
Welcher Teil vom OS? Darwin - also der Kern - ist in C geschrieben und Apple selbst hat da nicht soo viel davon selbst geschrieben (basiert auf OpenSource-Code).
Der Rest des Systems ist in einem lustigen Sprachen-Mischmasch (C, C++, Objective-C, Objective-C++ und was weiß ich noch alles) geschrieben, wobei Objective-C einen wirklich großen (den größten?) Teil davon ausmacht.

Original geschrieben von Philosoph
Welche Programmiersprache empfiehlt ihr mir (hab' Pascal & Basic Kentnisse) für das Programmieren von OS X Programmen?
Wenn du wirklich nur für OSX entwickeln willst, dann nimm Objective-C. Wenn du, wie es sich gehört, für mehrere Plattformen entwickeln willst, dann C++ und Qt oder wxWidgets als Toolkit.
 
hallo JWolf,

Damit hatte ich ausdrücken wollen, dass Apple wohl C++ verwendet
Ah, jetzt verstehe ich Dich.

Ist allerdings so, dass seit OSX (bzw genauer gesagt seit NextStep) bei Apple überwiegend mit Cocoa (bzw den Vorgänger davon) gearbeitet wird. Unter dem klassischen Mac OS war es AFAIK tatsächlich überwiegend C und c++.

Der Einstieg in XCode war für mich auch nicht so einfach, aber es ist eine super luxuriöse IDE und in Verbindung mit InterfaceBuilder ausgesprochen innovative noch dazu. Und dass gilt m. E. immer noch, obwohl das Grundkonzept rd. 14 Jahre alt ist.

Aber seien wir doch einmal ehrlich.
Am "Besten" ist doch immer das, was man am Besten kann :D.
Nur eins noch:
Ich möchte Spaß am Programmieren haben ...
Cocoa macht enorm viel Spass, wenn man den Einstig mal geschafft hat -
Vorsicht: Suchtgefahr !

@ ._ut:
programmierst du auch ? *neugierigbin* ;)
 
@ all
Also der Tread ist mal interessant
ich hab mich auch immer gefragt mit was die eigendlich Mac Os programmiert haben
aber
mit was soll ich anfangen (mit welcher programmiersprache)?
Ich hab mich ein bisschen in Java versucht, war aben etwas schwierig, da ich ein kommpletter Neuanfänger bin, auf dem Gebiet des Programmierens.
Also welche Sprache ratet ihr mir ?
 
Java ist eigentlich schon recht "einfach". Ansonsten könntest du dich an Basic oder Pascal versuchen. Ich weiß jedoch nicht, wie es mit Pascal auf dem Mac aussieht..

C/C++/Obj-C sind eigentlich schwerer als Java, imho.

Ciao
 
hallo nochmal,

also wer irgendwann mal richtige Mac Programme schreiben möchte und wem C und c++ zum Anfange zu schwer ist, dem kann ich guten Gewissens shellskripting (z.B: sh oder bash ) empfehlen.
Als zweiter Schritt könnte dann evtl perl oder schon C/c++ gewählt werden.

Warum?
1. Die Syntax ist C/c++ ähnlich, also ist es eine gute Vorbereitung
2. Es muss nicht kompiliert werden
3. man kann ganz einfach anfangen und sich "hocharbeiten".
4. Es gibt sehr viel Material im www, wo man sich informieren kann
5. (und das finde ich sehr wichtig) man lernt dabai sehr viel über sein Betriebssystem. Das macht Spaß und ist IMHO für Programmierer schon wichtig.

Damit es nicht so trocken bleibt, hier ein oder zwei kleine Beispiele; zunächst einmal das legendäre "Hallo Welt".
(Nicht irritieren lassen, ich formatiere als php, weil code nicht funktioniert)
PHP:
#!/bin/sh
# Name des Skripts hallowelt
# Dieses Skript schreibt "Hallo Welt" auf den Bildschirm
echo "Hallo Welt"

Um es zu starten, muss man es in einer "nurText"-Datei (Name: halloWelt) speichern.
dann
chmod +x hallowelt
eingeben, um das Skript ausführbar zu machen.
und dann mit
./hallowelt
aufrufen.
Wichtig ist dabei, dass sich die datei im aktuellen Arbeistverzeichnis befindet.

zweites Beispiel:
es sollen die Zahlen von 1-10 am Bildschirm augegeben werden:
PHP:
#!/bin/sh
# Name des Skripts zahlen
# Diese Skript zaehlt bis zehn
i=0         
                                                                             
while test $i -le 10;                                                                    
do                                                                                       
    echo $i                                                                              
    i=`expr $i + 1`;                                                                     
done                       
                                                              
echo Danke

Ist mir klar, dass man das zweite auch einfacher hätte schreiben können.
wollte aber auch das Kommando "expr" reinbringen, um zu demonstrieren, wie man in der Shell rechnet (in c/c++ geht das einfacher) und das Kommando "test".
"-le" steht übrigens für "less or equal", also "kleiner oder gleich"
Diese Zeile:
while test $i -le 10;
kann man auch so schreiben
while [ $i -le 10 ];

Mit solchen Shell-Skripts kann man natürlich noch viel mehr machen:
- kleine Spiele schreiben (RussischRoulette, Tower of Hanoi, usw.)
- aus reinen Textdateien in postscript, pdf, rtf oder html (!) Dateien erzeugen
- Zeitgesteuerte backups durchführen
- firewall konfigurieren
- Informationen über Benutzer ausgeben
- Gruppen von Dateien umbennen (zb alle Dateien mit der Endung .jpg mit Endung .gif umgenennen)
- Berechnungen durchführen (quadratische Gleichung lösen, alle Primzahlen von .. bis . ausgeben, Pascalsches Dreicek berechnen, triangulär Zahlen suchen etc)
- Hardwareinformationen auslesen (zB die Seriennummer eures Mac´s, Name der Grafikkarte, des Prozessors etc)
...
Die Liste ist endlos.

Wenn es hier noch mehr Interessierte gibt, könnte man ja gelegentlich kleine Aufgaben stellen, und jeder der möchte, postet sein Lösung (oder seinen Lösungsansatz so weit er eben kommt).
Ich denke so kann man realtiv schnell gemeinsam was lernen.
Was meint Ihr ?
 
Zuletzt bearbeitet:
Gute Idee

sehr gute Idee

So könnte ich auch noch programieren lernen
könntest du uns bitte ein paar interessante Links posten

*bittebittebitte*

mfg freek
 
Zurück
Oben Unten