Neuling: Carbon oder Cocoa?

Hi
zum guten Programmierer braucht man kein C, das würde ich mir nicht antun.
Zuerst würde ich mich an Scriptsprachen versuchen wie:
shellscript, html, javascript, perl, php ...phython, applescript
dann würde ich zu OOP greifen zB java.
Dabei ist es wichtig mit UML arbeiten zu lernen und ein Buch über Software Engineering kann nie Schaden. Wenn man aber nicht lange rummachen will und gleich unter und für OSX programmieren will würde ich mir direkt dazu Obj-C anschauen. Bei kleinen bis mittleren Projekten würde ich allerdings raten, modellieren zu lernen. Das Programmier-Thema taucht hier jede Woche auf die Foren-Suche kann nicht Schaden ;)
 
Deinem Vorschlag kann ich ueberhaupt nicht zustimmen, aber jedem das seine... :rolleyes:

Im uebrigen ist HTML keine Scriptsprache. Und es heisst Python. (kommt von Monty Python!)
 
Hi
Sry mit Python war ein Fipptehler.
Wenn html keine Scriptsprache ist was sonst? Der Interpreter ist der Browser.
 
Zuletzt bearbeitet:
Hi
ok, html ist eine Auszeichnungssprache.
Noch mal zu C, ich würde die Sprache zum erlernen einer Programmiersprache nicht empfehlen, da C einen hohen Anspruch und schweren Einstieg hat. C ist auch sehr maschinennahe und eigentlich nicht OO. Wenn man am OS bzw am Kernel programmieren will ist das noch ok aber für Anwendersoftware würde ich mindestens C++ nutzen.
 
Also C muss man nun wirklich nicht können.

C ist auch "nur" eine Sprache. Was man können sollte sind die Grundbegriffe definieren können. D.h. Funktionen, Methoden, Klassen, Objekte, Integer, etc. etc. etc. pp.

Das man C können sollte um mit anderen Sprachen weiter machen zu können, ist imo Käse. Sagt auch der Erfinder von C++. Er sagt jedoch sogar das zuerst "C lernen" sogar falsch ist. Man kann C ruhig zum Einstieg benutzen. Aber dann nicht zu weit gehen. Wenn die Grundbegriffe drin sind, dann ran an die OOP-Sprachen.

Alle anderen gängigen Sprachen sind weitestgehen Objektorientiert. Es dürfte klar sein das objektorientierte Programmierung wesendlich anders ist. Wozu also C lernen? Bringt einen beim Entwickeln von Awendungen eh nichts mehr.

Ich kriege in C nicht mal ein prinf hin, ohne ins Handbuch gucken zu müssen (Zitat: Wie jetzt? %d, %s, oder was?). Das einzige was ich bisher in C brauchte war fopen. Also das öffnen von Dateien. Mehr nicht. Der Rest ist Sprachenübergreifend ähnlich.
 
-Nuke- schrieb:
Wozu also C lernen? Bringt einen beim Entwickeln von Awendungen eh nichts mehr.

Ganz einfach. Objective C == C :rolleyes:

Von dem her ist es wichtig C zu koennen, wenn man ObjC lernt. Der andere Ansatz waere zuerst ObjC mit den Cocoa-Libs zu lernen und dann die C fundamentals, aber letztendlich MUSS man die C Grundlagen (Pointer, structures, static functions, function pointers, arrays...) beherrschen, sonst kommt man ueber das Niveue eines VB-Programmierers nicht hinaus. Cocoa zu koennen heisst auch deren Speicherverwaltung zu verstehen. Das ist wesentlich einfacher wenn man weiss was C kann, und was C nicht kann.

ObjC ist nicht wie C++. ObjC ist C + eine kleinere Erweiterung zur Objektorientierung.

Weiterhin sollte man C lernen, weil C schnell zu erlernen ist. Die Sprache ist klein und nicht aufgeblassen wie z.B. C++.
 
Die "C-Gundlagen", wie du sagst, z.B Pointer, lernt man aber auch in ObjC. Du kannst ebenso ObjC "lernen" und dabei das selbe mitschneiden, als wenn du mit "C" anfängst. Der Vorteil bei ObjC hingegen ist, das man gleich die OOP mit drinnen hat. Das selbe gilt für C++. Denn ich sag mal so. In Zukunft wird die Programmierung nicht schwerer, sondern einfacher.

Denn was ausser Systemkkomponente werden denn noch in C geschrieben? Ich sag mal so. 90% aller Sicherheitslücken sind ja die schönen Pufferüberläufe. In "modernen" Sprachen sind diese Sicherheitslücken kein Problem, denn sie lassen keine überläufe zu. C lässt es zu (bzw. die C-Untermenge in C++).

Gundlagen kann ich auch so lernen. Da muss ich mir kein Buch über C-Programmierung kaufen.

Wie gesagt. Ich kann kaum C. Nur ein bisschen. Die Pointer-Geschichten werden auch in C++-Büchern abgehandelt. Ich habe jetzt keine Probleme C-Code zu lesen und zu verstehen, obwohl ich nie ein Buch über C gelesen habe.
 
Sry, sinnloses Posting gelöscht
 
Zuletzt bearbeitet:
-Nuke- schrieb:
Die "C-Gundlagen", wie du sagst, z.B Pointer, lernt man aber auch in ObjC.
Kommt drauf an wie du "lernt man auch in ObjC" verstehst. Wenn du damit meinst (so wie ich), dass man sich http://developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/ durchliest liegst du falsch, denn da werden Pointer nicht beschrieben. Im uebrigen gibt es auch kein wirklich gutes ObjC-Buch das sich an komplette Programmieranfaenger richtet (ausser eines - aber ich hab schon meine Grunede wieso ich den C->ObjC-Weg vorschlage). Bei C++ ist das anders. Aber hier geht es um ObjC.

Ein Buch sollte man haben. Fuer ObjC lohnt es sich nicht das Buch zuzulegen, also liegt es wohl am naechsten C zu lernen (mit dem besten Buch das es dafuer gibt) und sich ObjC an einem Nachmittag mit oben genannter Doku reinzuziehen.

Du kannst ebenso ObjC "lernen" und dabei das selbe mitschneiden, als wenn du mit "C" anfängst.
Es laeuft sich aufs selbe hinaus, denn wie du selber sagst muss man auch in ObjC die Sache mit den Pointern etc. lernen. Von dem her lernt man doch C, also was hast du?

Der Vorteil bei ObjC hingegen ist, das man gleich die OOP mit drinnen hat.
Es sagt keiner dass man nach dem erlernen von C bei C bleiben muss. Die Nutzer in eine bestimmte richtung zu schieben ist IMHO Schwachsinn. Nur weil das unser Herr Stroustrup vorschlagt, ist das noch lange nicht gut. IMHO sollte man alles mal gesehen haben und sich selber ein Bild machen. Dazu gehoert auch ein Ausflug in die funktionale Programmierung mit LISP und Scheme und in die OO Welt von Smalltalk. Denn C++, Java & Co. sind keine wirklichen OO Programmiersprachen, und so sollten sie IMHO auch angegangen werden. Wenn man OOP lernen will, dann soll man sich Smalltalk angucken und nicht diese Mainstream-Sprachen. Danach denkt man naemlich wirklich anders ueber die ganze Sache.

In Zukunft wird die Programmierung nicht schwerer, sondern einfacher.
Es schadet nicht C zu koennen!

Denn was ausser Systemkkomponente werden denn noch in C geschrieben?
Man sollte C lernen damit man den Umgang mit Zeigern richtig lernt! Wenn du nur den Stroustrup von C++ durchliest setzt du wahrscheinlich nur auf Referenzen und findest Poiner schlecht. (steht ja afaik in dem Buch sogar drin) Dieser Gedanke bringt bei ObjC nicht viel, denn dort ist alles ein Pointer. Nur so als Beispiel. Ich habe selber mit einem Studenten Erfahrung gemacht mit dem ich vor etwa 2 Jahren was zusammen programmiert habe in C++. Sein Code bestand aus keinem einzigen Zeiger. Nur Referenzen und sehr viel auf const gesetzt, und dann wunderte man sich dass man aus dem const_cast<> nicht mehr rauskommt. C++ ist keine gute Sprache, aber das ist ein anderes Thema...

Ich sag mal so. 90% aller Sicherheitslücken sind ja die schönen Pufferüberläufe. In "modernen" Sprachen sind diese Sicherheitslücken kein Problem, denn sie lassen keine überläufe zu. C lässt es zu (bzw. die C-Untermenge in C++).
Das mag schon stimmen, aber meiner Meinung nach sollte ein guter Programmierer schon wissen was unter der Haube passiert. IMHO ist es sogar besser mit C anzufangen, denn dann findet man OOP sogar noch besser, weil man weiss wie viel umsaendlicher es in purem C ist! Ich sage nicht dass man bei C bleiben soll!

Gundlagen kann ich auch so lernen. Da muss ich mir kein Buch über C-Programmierung kaufen.
K&R ist ein Standardwerk, gar nicht teuer und absolute Pflicht fuer jeden der mit C was zutun hat. (und das hat man mit ObjC!)

Wie gesagt. Ich kann kaum C. Nur ein bisschen.
Wahrscheinlich weil dir der K&R fehlt. :-D (und komm mir jetzt nicht mit "Ich will gar kein C koennen")

Die Pointer-Geschichten werden auch in C++-Büchern abgehandelt.
Aber hier lernt keiner C++ sondern ObjC.

Ich habe jetzt keine Probleme C-Code zu lesen und zu verstehen, obwohl ich nie ein Buch über C gelesen habe.
Hatte ich auch nicht vor dem K&R. Nur danach war ich wirklich aufgeklaert, weil ich wusste was unter der Haube passiert.

Seit dem kaufe ich nur noch Buecher von den Spracherfindern selber.
 
Hi
lass doch bitte dein getrolle oder geh zu heise. Diese Trash-Sätze bringen keinem etwas. Des weiteren glaube ich gerne das du jeden Abend vorm Bett gehen ein C-Gebet sprichst. Das kann jeder machen wie er will. Aber wenn du schon über Sprachen hetzt und über Authoren pauschal urteilst dann versuch es mal sachlich. Vielleicht wäre vorher ein Studium hilfreicht ;).
Programmiersprachen sind nur Techniken zum umsetzen bestimmter Systemziele. Daher gibt es genug Projekte bei denen mehrere Sprachen ihrer Technik entsprechend eingesetzt werden. Wenn du darüber mehr wissen willst solltest du vielleicht ein Buch über Software Engineering lesen. Programmiersprachen an der Anzahl der Zeilen für bestimmten Code zu messen ist lächerlich. Vielleicht solltest du dich etwas mehr mit Programmiersprachen und Techniken befassen bevor du so oberflächliche und subjektive Vergleiche rausgibst.
 
glotis schrieb:
lass doch bitte dein getrolle oder geh zu heise. Diese Trash-Sätze bringen keinem etwas.
Danke, aber bei Heise bin ich nicht aktiv.

Des weiteren glaube ich gerne das du jeden Abend vorm Bett gehen ein C-Gebet sprichst.
Ich bin kein C-Fan, wenn du das meinst. Von Smalltalk und Scheme halte ich viel mehr. Aus sprachlicher Sicht.

Aber wenn du schon über Sprachen hetzt und über Authoren pauschal urteilst dann versuch es mal sachlich.
Ich habe meine klare Einstellung gegenueber C++ und Java. Das ist alles. Die Sache mit guten Buechern von den Spracherfindern selber beruht auf meiner eigenen Erfahrung. Soviel werd ich doch wohl noch kundtun duerfen, oder? Sorry wenn man in deiner Anwesenheit keine eigene Meinung mehr haben darf.

Programmiersprachen an der Anzahl der Zeilen für bestimmten Code zu messen ist lächerlich. Vielleicht solltest du dich etwas mehr mit Programmiersprachen und Techniken befassen bevor du so oberflächliche und subjektive Vergleiche rausgibst.
Ich beschaeftige mich ziemlich intensiv mit Programmiersprachen und habe schon einen breiten Ueberblick ueber alle Sprachen, weil ich nicht nur eine kenne sondern alle wichtigen. Auch habe ich schon selber welche entwickelt. Dass ich hier nicht breit darueber Diskutiere liegt daran, dass ich mich nicht dauernd wiederholen will. Ich habe das Thema naemlich schon oefters diskutiert. Und viele andere machen das auch. Und dort endet es in sinnlosen Diskussionen. Und ich hoffe du willst das hier nicht zu einer solchen verkommen lassen. Denn das Thema ist ein anderes.

Der obige Beitrag war sicherlich etwas subjektiv, aber spiegelt auch nicht meine komplette Meinung wieder. Hier geht es naemlich darum ob man zuerst C lernt und dann ObjC oder nicht. Nicht um die Qualitaet einer Sprache.

ObjC ist nunmal C, desshalb sollte man es auch lernen. Vor allem ist man fuer spaeter auch wesentlich flexibler. Man sollte naemlich beachten dass ObjC nur noch im Cocoa/GNUstep-Bereich aktiv eingesetzt wird.
 
Zuletzt bearbeitet:
Zurück
Oben Unten