C++ Mac, ANFÄNGER

chrismars92

chrismars92

Neues Mitglied
Thread Starter
Dabei seit
02.07.2015
Beiträge
7
Reaktionspunkte
0
Gruß an die Gemeinde.
Da ich bisher mit meinem einzigen Beitrag nur gute Erfahrungen gemacht habe, wende ich mich auch diesmal gern an euch! :)

Ich würde das programmieren gern lernen, besitze einen Mac und habe mir sagen lassen dass es ratsam wäre, mit einer der grundliegenden anzufangen, ich habe mich für C++ entschieden da das Ziel ist, irgendwann mal eine eigene App für iOS zu schreiben.

Kann mir evtl jemand helfen und mit grob sagen, welches Buch und evtl welches Programm dafür geeignet ist?
Der Wissenstand beschränkt sich lediglich auf ein wenig HTML und kaum CSS.

Freue mich über jede Antwort, danke schon jetzt! :)
 
Hallo chrismars92,

(...)Ich würde das programmieren gern lernen, besitze einen Mac und habe mir sagen lassen dass es ratsam wäre, mit einer der grundliegenden anzufangen, ich habe mich für C++ entschieden da das Ziel ist, irgendwann mal eine eigene App für iOS zu schreiben.(...)

ich antworte Dir mal als jemand der auch gerade anfängt programmieren für den Mac zu lernen und nicht als "Profi". Ich habe mich für Objective-C entschieden. Falls Du vorhast für OS X, iOS oder watchOS zu programmieren ist das, oder die neue Programmiersprache "swift", ratsam. Als Buch habe ich mir "Programming in Objective-C" von Stephen Kochan gekauft. Das gibt es auch im iBooks Store.

Viele Grüße

André
 
Hallo André,

danke für die Antwort!
Das "Swift" das wohl aktuellere ist hab ich ebenfalls auf dem Schirm, ich war nur der Meinung, dass es auf Objective-C basiert, was wiederum auf C++ basieren soll.
Ich kann doch schlecht mit etwas anfangen, bei dem mir die grundliegende Basis fehlt, oder?!

Korrigiere mich, wenn ich falsch liege.
 
Objective-C ist eine Weiterentwicklung von C und somit eher ein Geschwister von C++ ! Grundsätzlich ist nicht die Frage was für eine Sprache man lernen will, sondern was für ein Problem man lösen will! Dazu gibt es dann unterschiedliche Werkzeuge in Form von Entwicklungsplattformen und Sprachen. Wenn man iOS Apps schreiben will, sollte man heute Swift lernen. Objective-C wirkt mit seiner Syntax eher altbacken, das würde ich mir nicht mehr antun heute!

Anfangen mußt Du irgendwo! Wenn Du die Hierarchieleiter weiter runter gehst, kommst Du sonst dabei raus, dass eh alles Assembler-/Maschinencode ist und den lernt heute kein Mensch mehr! Es macht also nicht unbedingt Sinn alle Sprachen zu lernen nur weil sie Abhängigkeiten haben. Im Laufe eines Programmiererlebens wird man so Einige Sprachen lernen und dabei Mechanismen wiedererkennen oder Besonderheiten einiger Sprachen lernen. Das ist wichtig um einschätzen zu können welche Sprache man wozu verwendet!
 
  • Gefällt mir
Reaktionen: anhe
(...)Korrigiere mich, wenn ich falsch liege.

ich kann gar nicht anders als Dich zu korrigieren ;) Andernfalls müsste ich zugeben, dass ich es aktuell falsch mache! :) Ich habe mal während des Studiums einen C-Kurs gemacht, das ist aber mittlerweile so lange her das es nicht mehr zählt. Aber ein paar Grundlagen sind natürlich hängengeblieben. Also, ich habe bisher keine Probleme mit dem Buch und komme ganz gut zurecht. Aus aktueller Sicht würde ich es wieder so machen.

Viele Grüße

André
 
Alles klar, also ist Swift Vorreiter wenn man aktuell anfangen möchte iOS Apps zu schreiben, wunderbar! :)

André, schreibst du gelerntes mit xCode oder hast du eine andere Oberfläche?
Dann würde ich mich direkt an deine Herangehensweise hängen, wenn du sagst dass das Buch zu empfehlen ist, und du gut voran kommst.

Die Frage wäre allerdings, kann man das Buch einem blutigem Anfänger empfehlen, werden Kleinigkeiten erklärt wo jeder andere sagen würde "Das weis doch jeder"? :D
Des weiteren fände ich von Vorteil, wenn es auf Deutsch ist, ist es das?
Englisch ist nicht das Problem, aber bei so komplexen Sachen will ich meinen, ist es einfacher in der Muttersprache zu lernen.
 
Hallo zusammen,

Ich kann doch schlecht mit etwas anfangen, bei dem mir die grundliegende Basis fehlt, oder?!
Korrigiere mich, wenn ich falsch liege.
Du kannst problemlos ohne Vorkenntnisse von C direkt mit Objective-C beginnen.
Für Dein Ziel, eine Anwendung fürs iOS zu schreiben, ist es auf jeden Fall ratsam sofort zu Objective-C bzw. Swift zu greifen.

Ob Du Objective-C oder Swift nehmen sollst ist mittlerweile schon eine philosophische Frage.
Es gibt auf beiden Seiten Vor- und Nachteile.
Wobei Swift immer noch in der "Entwicklungsphase" ist und sich in der kurzen Zeit schon drei Mal "verändert" hat.

An Deiner Stelle würde ich sofort zu Objective-C greifen. Es gibt Unmengen an Tutorials und Bücher.
Zudem sind die meisten Code-Schnipsel auch in Objective-C.

Wenn Du Objective-C erlernt hast, dann ist der Umstieg zu Swift nicht eklatant.
Schließlich benötigst Du unabhängig der Programmiersprache die gleichen Frameworks aka Cocoa und UIKit.
Natürlich gibt es in der Sprache Eigenheiten, aber die sind schnell erlernt wenn Du die Programmierung als solches verstehst.

D.h. wenn Du mit Objektive-C eine Datei verschieben kannst, dann kannst Du das auch sofort mit Swift.
Schließlich benötigst Du die gleichen Klassen/Instanzen dafür. Nur die Schreibweise ist eine andere.

Viele Grüße
 
  • Gefällt mir
Reaktionen: anhe
Hallo noch mal,

ja, ich mache das alles in Xcode. Das Buch (Stephen Kochan "Programing in Objective-C" ist super. Es ist auf Englisch, aber ich kann es Dir guten Gewissens empfehlen. Es gibt zu jedem Kapitel (zumindest bis zu dem bei dem ich jetzt bin) Beispielsprogramme und am Ende des Kapitels Übungsaufgaben. Die Lösungen zu den Aufgaben werden in einem Forum erläutert. Die Antworten beziehen sich nicht auf die aktuelle Auflage (6) sondern auf die Vierte. Das ist aber egal, denn bisher waren alle Aufgaben identisch.
Ich finde es sogar leichter das Programmieren durch ein englisches Buch zu lernen. Xcode ist auch auf englisch.
Viele Grüße

André

Ergänzung: Ich möchte übrigens auch mit Swift beginnen, sobald ich mein Ziel mit Objective-C erreicht habe (und sobald das Buch von Stephen Kochan zu swift erschienen ist).
 
… schreibst du gelerntes mit xCode oder hast du eine andere Oberfläche?
Hier bei MacUser darf Dir dieser Fauxpas passieren, aber die Entwicklergemeinde nimmt es Dir sehr übel, wenn Du Xcode falsch schreibst.

Xcode ist Deine Entwicklerumgebung. Es gibt natürlich mittlerweile kleine Nischenprodukte, aber die können Dir nicht das bieten was Apple kann.
Natürlich haben sie andere attraktive Features, aber die stehen nicht im Verhältnis zu der Funktionalität, die Du benötigst.

Ich würde Dir auch gleich anraten 99 Euro zu verprassen.
Hole Dir bei Apple einen Entwickler-Account und steige ins Bezahlprogramm ein.
Im Jahr verprasst man seine Kohle oft primitiver und bei Apple bekommst Du informative Inhalte, wie z.B. die unzähligen Sessions von der WWDC etc.

Viele Grüße
 
  • Gefällt mir
Reaktionen: beage und anhe
Ich würde auch zu Objective-C raten, Swift ist m. E. noch etwas zu sehr im Wandel, die Version 2.0 kommt im Herbst und ist nicht Sourcecode-kompatibel.
Ausserdem hat Objective-C eben den Vorteil, auf C zu basieren, was die Grundlage andere Sprachen ist. Schon allein noch den ";" zu "lernen" kann ganz hilfreich sein.
 
Das "Swift" das wohl aktuellere ist hab ich ebenfalls auf dem Schirm, ich war nur der Meinung, dass es auf Objective-C basiert, was wiederum auf C++ basieren soll.
Du willst ne iOS App machen und dafür bei C++ anfangen.
Das ist wie - Du willst eine Spritztour mit dem Auto machen und machst erstmal ein Ingenieursstudium.
Geht, ist auch völlig beeindruckend und irgendwann mal zielführend... Aber halt total bekloppt.

Bis Du da C++ drin hast, gibts Objective-C schon nicht mehr und Swoft steht bereit, um Swift abzulösen
 
Hallo Hausbesetzer,

ich bin zwar selber auch noch blutiger Programmieranfänger, aber lange genug hier im Forum dabei, dass ich die unzähligen Beiträge kenne die genau andersrum beginnen. Auf Dein Beispiel bezogen: "Hey, ich will mal Auto fahren, habe aber keinen Führerschein. Was meint Ihr wo bekomme ich einen Schlüssel her" Insofern besser so ...

Viele Grüße

André
 
Auch wenn ich nur ungern anderer Meinung bin als wegus, aber für einen Anfänger mit dem klaren Ziel (zur Bedeutung dieser Einschränkung komme ich gleich), iOS Apps zu entwickeln, tendiere ich eher zu Objective-C als zu swift (Obwohl swift den cooleren Namen und vor allem das coolere Logo hat). Hintergrund ist ganz einfach, dass es dazu viel mehr Literatur, Support, Foren, ... gibt. Und der Hauptjob von chrismars92 für die nächsten Monate oder Jahre wird sein, viele dumme Fragen zu stellen - und zu Obj-C gibt es zur Zeit mehr Antworten. :D

chris, wenn du tatsächlich nur iOS Apps entwickeln willst: ok. Ansonsten würde ich eher mit einer leichten, gut dokumentierten Sprache anfangen, um die Grundlagen des Programmierens zu verstehen - Python z. B.
 
Hallo,

Also ich würde nicht mit c++ anfangen wenn du auf iOS bzw. OS X losgehen willst.
Ich habe erst C gelernt und danach C++ und nebenbei lerne ich Swift in der Version 2.0.
Objective-C habe ich mal kurz angeschaut. Es wirkt, wie bereitst gesagt wurde, etwas alt gebacken.
Eine sehr, sehr, sehr gute Doku gibt es direkt bei Apple (kostenlos), die wirklich sehr zu empfehlen ist. Spar dir das Geld für Bücher und schau dir die Doku von Apple selber an.
99€/Jahr kann man machen, aber mit der version 2.0 brauchst du keinen bezahl Account um deine Apps zu testen. Das wurde mit Xcode 7, glaube ich mal, frei geschalten.

Gruß alex
 
dass ich die unzähligen Beiträge kenne die genau andersrum beginnen. Auf Dein Beispiel bezogen: "Hey, ich will mal Auto fahren, habe aber keinen Führerschein. Was meint Ihr wo bekomme ich einen Schlüssel her" Insofern besser so ...
C++ nutzt man einfach nicht mehr für Consumer-Anwendungsentwicklung - wozu dann lernen? Wozu sich mit Speichermanagement, Zeigern etc beschäftigen, die einem später nahezu nirgends mehr begegnen werden?
Bis man C++ halbwegs drauf hat, hat man Python UND Swift gelernt und kann damit schon ein Startup gründen, während man sich in C++ zu tode freut, dass man verstanden hat, warum man strncpy nicht verwendet
 
Von der Stabilität und Performance welche Sprache ist besser? Alles für iOS Entwicklung.
 
Vollkommen wurscht
 
Wirklich meinte Apple nicht mal Swift sei schneller als C?
 
Ich lese sowas immer und muss dann doch schreiben:

C (oder C++) ist eine Sprache die darauf ausgelegt ist Code so nah wie möglich an der Prozessorarchitektur zu generieren wie möglich.
Daher ist es dem Programmier überlassen, die Datenstrukturen und Algorithmen so zu entwickeln, wie er sie gerade braucht.

Ein Ausdruck wie "a = x + 7";" wird von einem C Compiler nur nach sehr begrenzten Regeln optimiert.

C garantiert auf einer gewissen Eben eben genau die CPU nahe Umsetzung solcher Anweisungen in Assembler.
Einen Speicherzugriff mit Offset, eine Addition einer Konstanten, usw.
Ein C Compiler wird diese Anweisung kaum verändern, er geht davon aus das der Programmierer das genauso wollte.

Swift hingegen lehnt sich syntaktisch zwar an diese Schreibweisen an, generiert aber zur Laufzeit keine Maschinen nahe Umsetzung der Zeile oben.
Die Zeile oben würde in Swift eine Array Methode aufrufen, deren Implementierung inklusive bounds-checking dynamisch gewählt wird.
Ein Array mit 16 Elementen mag ein Speicherblock sein oder sogar eine kleine Hashmap sein, ein Array mit 5 Millionen Elementen vielleicht etwas ganz anderes.

Daher könnte Swift Code schneller sein als C oder C++, da es keinerlei Zusagen über die darunter liegenden Code Fragmente macht.
Swift kann durch Code Analyse quasi die drunterliegende Darstellung des Codes optimieren.

Auf der anderen Seite kann man in C oder C++ eben genau diese Dinge mit beeinflussen.
Man kann C Code so schreiben, dass er auf ARM CPU's guten Maschinencode erzeugt.

In Swift kann man hoffen, dass moderne Compiler dieselben Möglichkeiten bieten.
 
Zurück
Oben Unten