Einstieg in C

Es kann auf keinen Fall schaden C mit zu lernen, selbst wenn ObjC das eigentliche Ziel ist. Die Frage ist warum man programmiert…
privat = dann wird man sich sicher auch fremden Code anschauen und C ist recht verbreitet,
beruflich = dann kommt man häufig gar nicht an C vorbei
Es ist wie mit Fremdsprachen, kann man eine verwandte Sprache lernt sich eine weitere leichter.
 
och Leute! Welche Sprache man zuerst lernen sollte ist eine Glaubensfrage! Entscheidend ist doch das man das analytische Denken lernt und die Design Patterns für eine Sprache oder eine Umgebung erlernt. Das C und Obkective-C sich viele Schlüsselworte teilen und das C den kleineren Umfang davon ausmacht, macht es noch lange nicht sinnvoll erst C und dann Objective-C zu lernen, umgekehrt schadet es aber auch nicht trotzdem genau so vorzugehen.

Ich bin mit prozeduralen Sprachen aufgewachsen und es hat mich viel Mühe gekostet die alte Denke über Bord zu werfen und OO zu denken. Wer heute prozedurale Sprachen lernt, lernt sie aber anders und er wird ja - wie hier - schon vorab darauf hingewiesen das das alles nur ein Aspekt der möglichen Formulierung von Algorithmen ist.


Wichtig ist es anzufangen und wichtig ist es zu wissen das man immer weiter wird lernen müsse. Womit man anfängt ist sekundär und hat zeitweise einen fast religiösen Charakter wie mir scheint.
 
Wichtig ist es anzufangen und wichtig ist es zu wissen das man immer weiter wird lernen müsse. Womit man anfängt ist sekundär und hat zeitweise einen fast religiösen Charakter wie mir scheint.

Ich finde es ist eher logisch und zweckmässig am Anfang anzufangen ;-)
 
Transistor, Binäres Zahlensystem, Microprozessor, Befehlsatz, Assembler, C, ObjC.

Ich dachte, es ging um Programmierung im Herkömmlichen Sinn und nicht um die Herbetung der Meilensteine der Computertechnik (Wobei ObjC kein Meilenstein ist)?

Ich gebe zu, ich habe mit meiner Aussage provoziert, weil ich deine für pauschal und unpassend hielt. C hat seine Berechtigung, gerade im Embedded-Bereich und in der Systemprogrammierung. C bringt sicherlich auch große Performance-Vorteile gegenüber ObjC und sollte an entsprechenden Stellen eingesetzt werden.

Mir wurde übrigens mal gesagt, dass man mit jeder objektorientierten Sprache auch prozedural programmieren kann. Umgekehrt geht es übrigens auch. Das führt hier allerdings zu weit und ist eh gerade Thema in der ProgrammierBar.
 
Transistor, Binäres Zahlensystem, Microprozessor und Befehlsatz, Assembler, C, ObjC.

Der Vorteil für uns damals war es das die Welt noch einfach war, man schlichten ASCII-Code auf den Schirm schreiben konnte. Da war es noch möglich mit Rechnerstrukturen und dem Halbaddierer anzufangen! Es hilft mir auch heute noch oft genug zu wissen was ein Interrupt wirklich ist, wie NAND und NOR funktionieren und was Microcode ist...

...ich hatte aber auch über 20 Jahre Zeit den Weg mit zu gehen (ich hab noch Windows 2.0 auf einem Hercules IBM AT gesehen und mich gefragt wer so einen Stuß wie grafische Uhren und Notizblck braucht) und würde keinem zumuten die letzten 20 Jahre PC-Entwicklung bis zu ihrer heutigen Komplexität aufzudrücken bis er das erste print "Hello World" schreiben dürfte.

Die Ansprüche sind heute andere, die Abstraktionsebenen auch und da macht es eher selten Sinn imPC-Pleistozän zu beginnen wenn man eine Anwendung programmieren will.
Umgekehrt kommt der Kenntnis von Design-Patterns, algebraischer Strukturen und Mengentheorie eine Aktualität zu, wie sie noch vor 10 Jahren so nicht existiert hat.

Alles andere und da wiederhole ich mich, ist mehr Glaubenskrieg von Euch als dem Newbie nützlich!
 
also bei uns an der FH werden solche sachen wie anfänge grundstrukturen eines rechners und hardwarenahe programmiersprachen ab dem ersten semester gelehrt. schließlich soll ein grundverständnis bestehen, damit die leute wissen, was da so passiert im rechner...

im übrigen sind C und Assembler die ersten sprachen, die man hier lernt. (evtl. noch shellskript, wenn man das als sprache ansieht, wobei das im grunde bloß regex sind)

ob und wie sinnvoll es für den TE ist, C zu lernen, muß er selbst wissen.
 
Ich bin mit prozeduralen Sprachen aufgewachsen und es hat mich viel Mühe gekostet die alte Denke über Bord zu werfen und OO zu denken. Wer heute prozedurale Sprachen lernt, lernt sie aber anders und er wird ja - wie hier - schon vorab darauf hingewiesen das das alles nur ein Aspekt der möglichen Formulierung von Algorithmen ist.

Und das ist der Grund, aus dem ich nicht empfehle, C zu lernen, um dann Objective C zu lernen. Ich habe in grauer Vorzeit versucht, von C auf C++ umzusteigen und habe es nicht geschafft, von der prozeduralen Denke wegzukommen. Jetzt "nach Jahren des Vergessens" ist es mir viel einfacher gefallen, in Objective C einzusteigen. Das mag natürlich von Person zu Person anders sein, meine Empfehlung deswegen als Käse zu bezeichnen finde ich dann aber doch etwas übertrieben.
 
evtl. noch shellskript, wenn man das als sprache ansieht, wobei das im grunde bloß regex sind

[OT]Shellscript ist ohne weiteres eine Programmiersprache. Ohne Beweis würde ich behaupten, dass sie Turing-Vollständig ist. Eines enthalten die verbreitetsten Shell-Sprachen (sh, csh, bash) aber doch nicht: RegEx. [/OT]
 
guude
Ich habe hier eines seiner Bücher "Programming in Objective-C" vor mir. Wenn Du es gelesen hättest, dann wäre Dir klar, warum Kochan dieser Meinung ist! Denn die erste Hälfte des ersten Teils dieses Buchs beschäftigt sich damit Grundlagen von C zu vermitteln.
ich verstehe nicht genau was du meinst. ich habe das buch auch sowohl "programming in objective-c" als auch "programming in objective-c 2.0" und ich finde nicht das er in der ersten haelft c behandelt. meiner meinung nach steigt er direkt in objective-c ein.

auserdem habe ich doch nur verlinkt, was der autor geschrieben hat?!?

regards,
buk
 
guude

ich verstehe nicht genau was du meinst. ich habe das buch auch sowohl "programming in objective-c" als auch "programming in objective-c 2.0" und ich finde nicht das er in der ersten haelft c behandelt. meiner meinung nach steigt er direkt in objective-c ein.

auserdem habe ich doch nur verlinkt, was der autor geschrieben hat?!

Klar hast Du nur verlinkt, was Herr Kochan geschrieben hat.
Die ganze Sache habe ich so gemeint: ObjC ist wie bekannt ja ein "Aufsatz" auf C. Das Buch behandelt die Sprache in ganzer Breite, also auch (alle) Dinge, die in C vorhanden sind. Somit besteht das Buch natürlich auch teilweise aus Teilen, die man genauso in einem C Buch finden kann.


Nebenbei geht die ganze Diskussion hier ziemlich am eigentlichen Thema vorbei. ;)
 
Hi Marcel,
ich würde Dir eher nicht empfehlen, erst C zu lernen. Die Konzepte von C und Objective C weichen stark voneinander ab. Für einen Einstieg empfehle ich Dir "Objective C und Cocoa" von Amin Negm-Awad, das deckt auch die Grundlagen wie Schleifen gut ab.

Gruss,
Thomas.

Natürlich weicht es ab das eine ist Prozedural das andere ist Objektorientiert, tut aber mal garnichts zur Sache

Selten so nen Mumpitz gelesen ich empfehle dir C zu lernen mit Objectiv C hast du keinen Einstieg in das Thema Pointer was ich eigentlich für essentiell hallte, mag am Anfang stressig und schwierig wirken aber ist unabdingbar.

Ein C Programmierer weiß was er tut

Wenn du ein Buch empfohlen haben willst, kaufe dir die Taschenbuchausgabe von Erlenköter aus dem rororo Verlag, das gefiel mir damals am besten, mag vielleicht bessere geben , aber das entzieht sich meiner Kenntnis
 
Hallo,

Nach dem ich nun schon seit geraumer Zeit auf Mac OS X umgestiegen bin, wollte ich mich auch mal dem Programmieren auf dieser Plattform widmen.
Bevor mit Objective-C / Cocoa anzufangen ist, riet man mir allerdings, erst einmal C zu lernen.

Danke =)

Lg
Marcel


Genau das ist das Thema und dieser, jener, welcher, der dir diesen Rat gegeben hatte liegt auch goldrichtig
 
[OT]Shellscript ist ohne weiteres eine Programmiersprache. Ohne Beweis würde ich behaupten, dass sie Turing-Vollständig ist. Eines enthalten die verbreitetsten Shell-Sprachen (sh, csh, bash) aber doch nicht: RegEx. [/OT]

keine regulären ausdrücke in einem shellskript?
 
Also ich habe zunächst ANSII C gelernt und anschließend dann mit Java angefangen. Und ich muss sagen der Einstieg in Java war viel einfacher als der in C.

Auch heute komme ich mit objektorientierten Ansätzen besser klar als mit prozeduralen.
 
Nur mit sed oder awk als Zusatztools. Die Shells können es nicht selbst!

bash Version 3 hat einen eingebauten Operator für regular Expressions der mit "=~" aufgerufen wird.

Quelle u.a. hier
 
Zurück
Oben Unten