Blutiger Anfang des Programmierers

Atalantia

Atalantia

Aktives Mitglied
Thread Starter
Dabei seit
26.11.2009
Beiträge
1.894
Reaktionspunkte
432
Programmieren ohne Vorkenntnisse zu erlernen ist keine einfache Aufgabe. Ich habe jetzt in einige Bücher reingeschnuppert und musste feststellen, dass ich den ersten Seiten und dem Hallo Welt Beispiel noch folgen kann. Doch später ist alles nur noch Bahnhof.

Was ich vermisse ist ein Buch welches genauer beschreibt:
-Was bedeutet eine Klammer.
-Was bedeutet eine eckige Klammer.
-Was bedeutet eine geschwungene Klammer.
-Was bedeutet ein Doppelpunkt.
-Was bedeutet ein Strichpunkt.
-Was bedeutet ein Minus vor der Variablendefinition
-Was bedeutet der Stern*.
-Welches sind die Proprietären Wörter in der Sprache und welche können vom Programmierer frei gewählt werden.
usw.

Also wirklich ein Buch, das einen von 0 abholt und (ganz wichtig) zeigt welche Richtungen man im Programmieren einschlagen kann und was in welcher Reihenfolge man lernen sollte.

Leider wurde dieses Buch für Objectiv-C noch nicht geschrieben.
 
Na ja zu den ersten Sachen kannst Du vielleicht etwas aus der Reihe "C für Dummies" oder "C in 21 Tagen" oder so etwas oder eine knappe Lektüre wie "Programmieren in C".
Die Sachen die Obj-C betreffen - suchst Dir später bei Apple in der Sprachdefinition.
 
Na ja zu den ersten Sachen kannst Du vielleicht etwas aus der Reihe "C für Dummies" oder "C in 21 Tagen" oder so etwas oder eine knappe Lektüre wie "Programmieren in C"
:nono: bloss nicht.
Das finde ich einsteigergeeignet: fundiert, witzig geschrieben, unterhaltsam zu lesen. Aber halt nicht ObjC
 
Wobei die Obj-C Syntax etwas gewöhnungsbedürftig ist, wenn man von C kommt.
Das sind nämlich genau diese eckigen Klammern [object nachricht] ;)
Wobei man die auch in bei Arrays in C hat ;)
In dem Beispiel dienen die halt zur Kommunikation zwischen Objekten.
Wenn du z.B. ein Objekt Apfel mit der Methode essen hast, das wird in Obj-C so aufgerufen:
[Apfel essen]
Eigentlich gehört da noch ein Semikolon ; hinter, um zu sagen, dass die Zeile dort aufhört.
Das Semikolon findet aber auch als Trennzeichen bei einer for-Schleife Anwendung.
 
Zuletzt bearbeitet:
Ob es Einsteigerbücher für Objective-C gibt weiß ich nicht, vermute allerdings eher nein. Für den Anfang würde ich wie bereits der Vorredner sagte ein Buch für eine weiter verbreitete Sprache nehmen (Java oder C), da du hier bessere Chancen bei Anfänger Literatur hast. C bietet sich an, da es Grundlage für Objective-C ist. Java hat aber den Vorteil, dass du (richtiges Buch vorausgesetzt) direkt die objektorientierte Programmierung lernst.
 
Programmieren ohne Vorkenntnisse zu erlernen ist keine einfache Aufgabe. Ich habe jetzt in einige Bücher reingeschnuppert und musste feststellen, dass ich den ersten Seiten und dem Hallo Welt Beispiel noch folgen kann. Doch später ist alles nur noch Bahnhof.

Also wirklich ein Buch, das einen von 0 abholt und (ganz wichtig) zeigt welche Richtungen man im Programmieren einschlagen kann und was in welcher Reihenfolge man lernen sollte.

Leider wurde dieses Buch für Objectiv-C noch nicht geschrieben.


Tja so was würde mit auch gefallen. An die 0-Wissen Zielgruppe denkt wohl niemand.
Und Java wäre für mich keine Alternative.
 
Programmieren hat viel mit Abstraktionsvermögen zutun. Hinterfragen ist nicht falsch, aber das kann einen auch hemmen. Ich kann da nur empfehlen, sich auf das Buch einzulassen und die Muster zu übernehmen. Das Verständnis kommt dann nach einer Weile von selbst. Welche Zeichen was bedeuten, lernt man dann automatisch. Ach und wenn du wissen möchtest, welche Zeichen und Worte reserviert sind, schau dir die Grammatik der Sprache an (http://objc.toodarkpark.net/grammar.html - Scherz!!!) ;)
 
Und Java wäre für mich keine Alternative.
warum? Du willst ohne Vorkenntnisse Programmieren lernen. Warum nicht java? Da gibts gute Einsteigerbücher (das von mir verlinkte ist nur eins), und wenn Du java einigermaßen kannst, kannst du immer noch auf was anderes umsteigen, das geht dann mit relativ überschaubaren Aufwand
 
Da kann ich minilux nur zustimmen. Gerade für Einsteiger ist Java optimal, da hier einfach die meisten und besten Bücher für Anfänger vorhanden sind. Um so erstmal die Grundlagen des Programmierens zu lernen ist das imho der beste Weg. Wenn man erstmal eine Sprache kann, lernen sich andere deutlich leichter, da die Funktion häufig doch sehr ähnlich ist (von gewissen exotischen Sprachen mal abgesehen).
Das kann man z.B. mit dem Autofahren vergleichen. Fahren lernen muss man nur einmal. Bei einem anderen Auto muss man sich dann nur auf dessen Eigenheiten umstellen. Verhält sich mit Programmiersprachen ähnlich ;)
 
Irgendwie hat der aufeinander aufbauende Weg mich auch immer vom Programmieren lernen abgehalten. Um beim Auto-Beispiel zu bleiben, kommt es mir eher so vor, als müsste man zuerst in England den Führerschein machen um dann in Deutschland fahren zu dürfen. Und das ist dann doch eine riesige Umstellung. ;)

Das ist wohl vergleichbar einem älteren Menschen, der sich jetzt wegen dem Internet-Hype doch mal einen Rechner zulegen möchte – im Gegensatz zu unsereinem, der schon auf C64 et. al. die ersten Gehversuche unternommen hat, ist der natürlich im Nachteil, weil er vor einer riesigen Wand vorausgesetzten Wissens steht.

Wirklich schade, dass es noch keinem Autor in den Sinn kam, dass auch komplett Wissensbefreite gerne direkt z.B. ObjC lernen möchten.
 
Im Endeffekt ist es total egal, welche Sprache man als erstes lernt. Ist man in die Denkweise eingestiegen, ist der Rest fast nur noch Syntax.
 
Im Endeffekt ist es total egal, welche Sprache man als erstes lernt. Ist man in die Denkweise eingestiegen, ist der Rest fast nur noch Syntax.

Oh das sehe ich anders ;) Neben der Syntax gehört auch Speichermanagement und die Laufzeitbibliothek dazu - und die allgemeine Handhabung. Java hat sich als Lehr-Sprache nicht ohne Grund durchgesetzt. a) musst du dich beim Lernen nicht damit auseinandersetzen, wann du wie Speicher ausfasst und wieder freigibst und b) gibt ist schon die Standardbibliothek eine der umfangreichsten auf dem Markt. Die Syntax ist C-Basiert, was einen den Umstieg auf einen Großteil der anderen Sprachen erleichtert. Ich würde niemandem zumuten wollen, mit Haskel, Prolog oder Cobol anzufangen - auch wenn es da im Endeffekt nur Syntax ist...
 
Ich hab mit Haskel angefangen :D
 
...ich musste es gezwungenermaßen. Aber hast schon recht: mit Haskel etc. anfangen, ist eher suboptimal. Java oder C# sind da schon besser.
 
Was ich bei den Büchern von Awad bis Reminder vermisse ist ein systematischer Aufbau. Z.B:

Jetzt schreiben wir ein Programm wo wir Strings genauer anschauen.
Jetzt schreiben wir ein Programm wo wir Klassen genauer anschauen.
Jetzt schreiben wir ein Programm wo wir Schleifen genauer anschauen.
Jetzt schreiben wir ein Programm wo wir Variablen genauer anschauen.

Irgendwie kommt da einfach alles gleichzeitig und durcheinander. Es ist schon klar, dass man kein Beispielprogramm für Schleifen ohne Klassen schreiben kann. Aber man könnte in diesem Fall die Schleifen hervorheben mit Fett oder so. Einfach eine Struktur im Buch welche die Basiskonzepte des Programmierens beschreibt. Ohne Extras und Ausnahmen (Material für den Band für Fortgeschrittene?)
Wenn ich die Bücher die es zur Zeit gibt anschaue komme ich mir vor wie ein Bergsteiger der im ersten Kapitel einen Hügel in Holland besteigt und im Zweiten nach Nepal an den Himalaya geschickt wird.
 
Schau dir das mal an, das, Hillegas und Awad benutze ich parallel.
 
Jetzt schreiben wir ein Programm wo wir Strings genauer anschauen.
Jetzt schreiben wir ein Programm wo wir Klassen genauer anschauen.
Jetzt schreiben wir ein Programm wo wir Schleifen genauer anschauen.
Jetzt schreiben wir ein Programm wo wir Variablen genauer anschauen.

das wird auch schwierig, weil das einfach zu grundlegende abstrakte konstrukte sind, die man dir auch nicht mit "programm schreiben" näher erklären kann.
ich weiß auch nicht gerade, wie man z.b. eine for schleife in einem programm jetzt näher erläutern kann.
for(i=0;i<10;i++){}
die z.b. macht ja nichts ausser stupide von 0-9 zu zählen.
i wäre die zähl variable, die zu beginn auf 0 gesetzt wird.
i<10 ist die abbruch bedingung.
i++ heißt nichts anderes als "erhöhe um 1 nach jedem durchlauf.

das würde dann als while schleife so aussehen:
Code:
i=0;
while (i<10) { 
    i++;
}
 
Zuletzt bearbeitet:
Zurück
Oben Unten