Objective-C - Einstieg und Vorkenntnisse

Bellringer

Lieutenant
Registriert
Mai 2006
Beiträge
803
Hallo zusammen,

ich möchte mich hobbymäßig gerne ein bisschen näher mit dem Programmieren beschäftigen.
Genauer gesagt um Objective-C für iOS und Mac-Entwicklung.

Meine Vorkenntnisse im Programmieren sind durchaus bescheiden.
HTML und CSS3 kann ich zwar einigermaßen gut mittlerweile, mehr aber auch nicht.

Da ich mich irgendwie noch nicht richtig an das Thema rantraue, möchte ich mich gerne mal bei euch umhören ob
ihr mir Tipps für den Einstieg geben könnt.

Ich habe gehört, dass für Objective-C "C"-Vorkenntnisse geeignet wären.
Seht ihr das genauso? Macht es einem das Leben einfach etwas leichter mit C-Vorkenntnissen zu Objective-C einzusteigen oder wäre das unnütz erstmal "C" zu lernen und dann objective-c?

Gleich direkt mit Objective-C anfangen zu lernen?

Gibt es sonst noch irgendwelche Vorkenntnisse, die ich haben sollte bevor ich mich an Objective-C ranwage?

Ich bin absolut gerne bereit mir einiges vorher anzueignen aber es wäre schade, wenn ich viel Zeit in etwas investiere
um dann zu merken, dass es nicht nötig gewesen wäre.

Oder vielleicht auch ganz anders gefragt:
Wie würdet ihr mir den Einstig in Objective-C bzw. Mac-Entwicklung empfehlen?

Freue mich auf jegliche Tipps eurerseits :)
 
Erst C & C++ dann objective C.
 
@ Sephe

Wozu vorher C++ lernen? Damit man vorher auch mal einen voollkommen anderen Ansatz kennenlernt, Objektorientierte Programmierung mit C zu machen? Da könnte man auch vorher C und Python oder C und Java lernen.
 
Hallo,

ich habe mich mal vor einiger Zeit sehr intensiv mit ObjectiveC und iOS Entwicklung beschäftigt. C++ und ObjC haben C als gemeinsamen Vorfahren, haben aber sonst nichts miteinander zu tun. Was du lernen musst? Das kommt hauptsächlich drauf an welches Ziel du verfolgst.

Willst du ein:

-einfaches Terminal Programm das dir 1+1 zusammenrechnet so bekommst du das mit reinem und oberflächlichem Wissen über ObjectiveC relativ schnell hin. C brauchst du dafür nicht.
-kleine iOS oder OSX App die mehr als eine Liste darstellt. Dafür wirst du immenses Wissen über Objective C, C (wird an vielen Stellen benötigt), Xcode (Entwicklungsumgebung) ,Cocoa brauchen. Cocoa ist das Framwork für die App Entwicklung und ist Hölle, da extrem umfangreich. Zudem brauchst du Wissen darüber wie ein Compi im inneren tickt. Also Memory Managment, Pointer und Referenzierungen, Threads, etc... Das volle Programm.
iPhone, OSX Apps sehen zwar schick aus, sind in der Entwicklung aber extremst aufwändig und kompliziert. Wenn du konstant am Ball bleibst bekommst du, als Beginner, eine eigene und brauchbare App in ca 2-3 Jahren hin. Wenn du das geschafft hast lernst du jede andere Programmiersprache im nu und kannst dir selbst am Ende auf die Schulter klopfen. ;)
 
Zuletzt bearbeitet:
Vielen Dank für eure hilfreichen Antworten.

@macos:
Das hört sich ja alles recht demotivierend an ;-)
Aber wie gesagt, ich möchte das alles hobbymäßig machen und bin nicht im Zeitdruck. Alleine das Beschäftigen damit macht mir ja Freude.

Was ich aber eigentlich wissen möchte ist:
Du schreibst, dass ich immenses Wissen über C, C++ und Objective-C haben muss (incl. anderem) um da was machen zu können.
Das ist mir durchaus bewusst - aber WIE komme ich da hin? Was soll ich als erstes lerenen? C? C++? Gleich Objective-C? Ganz wo anders ansetzen?

Zur Veranschaulichung - ich habe (beispielsweise):
C Tutorial
C++ Tutorial
Objective-C Tutorial
...

Mit welchem soll ich starten? :-)

Vielen Dank!
 
Ich wollte dich nicht demotivieren, mit dem Posting wollte ich dir nur zeigen das hinter App Programmierung harte Arbeit steckt und ein großes Know-How aus vielen Teilbereichen notwendig ist um ein vorzeigbares Ergebniss zu bekommen. ;)
Das geht auch nicht alles von heute auf Morgen sondern braucht seine Zeit.
Und vergiß C++, das brauchst du hier nicht.

Also als ich mich damals damit beschäftigt habe, habe ich zuerst die Grundlagen zu ObjectiveC gelernt und zwar so lange bis ich darin keine Fragen mehr hatte. Erst danach habe ich mir paar Bücher zu Cocoa, Xcode Entwicklung gekauft. Cocoa ist quasi der Werkzugkoffer für die Appentwicklung und programmiert wird mit ObjC. Ich habe allerdings schnell gemerkt das in Cocoa an eigenen Stellen auch in C programmiert wird. Also habe ich paar Bücher zu C gekauft. Nach paar Monaten hatte ich meine erste kleine iOS App fertig welche mehrere Views hatte und Datensätze in Listen anzeigen und persistent speichern konnte. Mittlerweile habe ich mich aber davon getrennt. Lag nicht an ObjectiveC oder an der Entwicklung an sich, die ist nämlich mit den Möglichkeiten und den Werkzeugen die Apple hierfür bereitstellt schon recht spaßig, sondern eher an der diktatorischen und proprietären Politik von Apple. Auch der zeitliche Aspekt der hierfür draufgeht hat eine Rolle gespielt. Würde es aber auch nicht als Zeitvergeudung sehen sondern hab eine Tonne an neuem gelernt zb wie ein Compi unter der Haube funktioniert und das man als Progger mit moderenen Programmierspachen sehr verwöhnt wird.^^

Also ums kurz zu machen.
Grundlagen zu C pauken (geht recht schnell).
Objective-C pauken bis es steht (etwas aufwändiger aber das geht auch noch relativ zugüg).
Danach Cocoa (das ist der schwierigste Teil). Mit Pointer & Co wirst du dann spätestens hier konfrontiert. In guten Büchern
wird das aber alles geklärt. Also am besten nicht aus zusammenhangslosen Tutorials lernen sondern aus gut strukturierten Büchern. Amazon bietet hierzu genug Material. Alles andere kostet sonst noch mehr Zeit ;)
 
Zuletzt bearbeitet:
Klasse. Vielen, herzlichen Dank für die ausführliche, kompetente und nette Hilfe, macos!
Ich werde mal starten, mich ein bisschen mit C auseinanderzusetzen.

Viele Grüße
 
Objective C ist C, lediglich in einer erweiterten Version mit Objektorientierung.
Ist auch voll abwärtskompatibel. C++ kannst ruhig auslassen.

Wenn du lernst am besten im Text Editor unter Linux, da hast gleich die Kommandozeilen tools. Unter Windows ist das alles komplizierter. Wenn es kein Text Editor sein soll, dann nimm dir Eclipse für C/C++, auch am besten für Linux und beschäftige dich mit dem Debugger (gdb muss in Linux installiert sein). Am Anfang hart, aber damit lernst später schneller.

Tip für bischen später:
Wenn du anfängst mit malloc() etc. zu arbeiten, besorg dir das Tool "Valgrind". Das hilft dir bei der Speicherverwaltung und kreidet jedes malloc() an auf das kein free() kommt. Besonders für Anfänger SEHR hilfreich - Speicherlecks einprogrammieren sollte man sich direkt am Anfang abgewöhnen.
 
Zuletzt bearbeitet:
Zurück
Oben