Welche Programmiersprache für den Einstieg?

Ich wollte auch nicht ausdruecken, dass man nun unbedingt C lernen muss.

Ging halt eher um den Hinweis, dass es (wie Klos ja auch sagt) massenhaft verschiedene "Richtungen" und Teilbereiche in der Programmierung gibt und jeder Teilbereich halt "seine" Sprachen hat. Im Grunde ist es relativ egal womit man anfaengt. Wenn man erstmal eine Sprache gelernt hat, faellt es deutlich leichter auf andere Sprachen umzusteigen. Spaeter wird man sich vielleicht auf einen Teilbereich und eine Sprache spezialisieren - was das genau sein wird, haengt halt auch davon ab was man genau machen moechte und in welchem Umfeld.

Wenn man sich zum Beispiel im Open-Source-Umfeld bewegt, wird man merken, dass da auch Sprachen beliebt sind, die vielleicht kommerziell nicht so stark genutzt werden. Python oder Ruby zum Beispiel.
 
Fürs lernen ist es auf jeden Fall positiv wenn man sich selbst motiviert. Wenn man Spass an Elektronik Baukästen hat die man dann mit C programmiert dann wird dies sicher z.B. eine starke Motivation sein.
Ich fand es immer gut wenn ich Sachen machen konnte die ich selbst benötige und verwende.
 
Also ich hab damals mit Basic begonnen, bin dann zu TurboPascal (gibts das eigentlich noch?) und letzendlich zu C++ gekommen. Es geht ja hier darum, welches den grössten "Wert" hat gelernt zu werden...wenn ich das ma so sagen darf. Da bin ich der Meinung uist man mit C schon wirklich auf dem rechten Weg. Denn viele Sprachen sind dem recht ähnlich von der Syntax her und sie ist vielseitig einsetzbar. Wenn man C drauf hat kann man Syntax in fast jeder Hochsprache "entziffern" bzw sich vorstellen was im Programm abgeht.
 
Also ich hab damals mit Basic begonnen, bin dann zu TurboPascal (gibts das eigentlich noch?) und letzendlich zu C++ gekommen. Es geht ja hier darum, welches den grössten "Wert" hat gelernt zu werden...wenn ich das ma so sagen darf. Da bin ich der Meinung uist man mit C schon wirklich auf dem rechten Weg. Denn viele Sprachen sind dem recht ähnlich von der Syntax her und sie ist vielseitig einsetzbar. Wenn man C drauf hat kann man Syntax in fast jeder Hochsprache "entziffern" bzw sich vorstellen was im Programm abgeht.

Wenn du C kannst, hast du aber noch überhaupt keinen Plan von objektorientierten Programmieren. Das heißt, wenn du ein solches Programm vor dir hast, dann kannst du dir zwar vorstellen, was die Methoden im einzelnen machen, vom Objektmodell hast du dennoch keinen Schimmer.
Bis man dieses objektorientierte Denken drauf hat, vergeht einige Zeit. Man sieht bei uns schon im Code, wenn da ein Programmierer dran war, der Jahre lang nur prozedural programmiert hat. Und nur weil du als jemand aus der C-Ecke zum Beispiel C#-Code deuten kannst, heißt das in meinen Augen noch lange nicht, dass man mit C anfangen sollte. Ich kann auch C-Code deuten. Ist kein Problem. Meiner Meinung nach hängt es davon ab, was man machen will. Und da ist es nun mal Fakt, dass das Erlernen von C nicht in jedem Fall die glücklichste Entscheidung sein muss. Für meine persönliche Situation wäre es zum Beispiel absoluter Humbug gewesen, wenn ich mich während meiner Ausbidlung intensiv mit C beschäftigt hätte, anstelle der Dinge, dir für mich elementar sind.

Du kannst also nicht pauschal sagen, dass Erlernen von C hat den größten Wert. Kann es haben, ja. Es kann sich aber später auch gut herausstellen, dass es die denkbar schlechteste Alternative gewesen ist.
Je nachdem, was du halt machst.
 
Ich meinte auch eher, dass er durchaus bei maschinennaher Programmierung anfangen kann, ich seh das nicht als Nachteil. Das kann man sogar noch ganz gut gebrauchen.

Du hast stark von Dir und Deinem Job gesprochen - der ist aber nicht alles und eventuell liegt Dein Jobprofil ihm auch nicht.

Ich hab überall reingeschnuppert: Basic, Pascal, C, C++, Step7, S7 Graph, PHP, Perl... usw usw
Und auch in den Bereichen was gemacht.

"Programmierer - Generalist oder Spezialist" war an der Uni mal ne Vorlesung.

Summa summarum: "Der Programmierer ist Generalist, der die Sprache lernt/kann, die gerade nötig ist".

D.h. v.a. das Denken muß er vorher können. Prozeduren, Objekte, etc muss er können.

Klar, im Endeffekt macht man dann X Projekte mit Sprache/Typ A, und ist dann hier eher Spezialist.
Aber im Grundsatz: Alles kann kommen.
 
Die Aussage sollte aber dennoch nicht sein, dass er sich mit dem befassen soll, was ich in meinen Job mache. Die Message sollte sein, such dir etwas und konzentriere dich darauf. Ob das nun maschinennahes Programmieren ist, oder was auch immer.
Und als Spezialisierungsmöglichkeit sehe ich jetzt nicht unbedingt nur die Sprache, sondern eigentlich vielmehr, was du damit machst. Prozesse, Web, Treiber, Spiele oder was auch immer. Das du von der Sprache her bei einen Jobwechsel mal umsteigen musst, ist völlig klar.
Wenn du aber jemanden, der sein Leben lang nur Web gemacht hat irgendwo hinsetzt, wo er jetzt Treiber entwickeln soll, dann sitzt er erstmal dumm da. Von daher teile ich deine These mit dem Generalisten, egal, welchem hochrangigen Professor sie auch entfallen sein mag, nicht wirklich.
 
Kennt zufällig jemand gute Literatur für C++? Müsste es mir mal so langsam aneignen..
Es sollte möglichst mit Grundlagen beginnen.

Werde es demnächst für algorithmische Mathematik benötigen. Das sind unter anderem die Themen: Elementare Algorithmen, Diskrete Algorithmen; Lösung linearer Gleichungs­syste­me; Approximation, Interpolation, numerische Differentiation und Integration; Algorithmische Stochastik; Iterative Nähe­rungsverfahren, Fehlerabschätzungen
 
C++ von A bis Z: http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-2156?GalileoSession=07359748A4.Yp-t6e7M
C++ programmieren: http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-2418?GalileoSession=07359748A4.Yp-t6e7M
C/C++: http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-1299?GalileoSession=07359748A4.Yp-t6e7M
Coding for Fun mit C++: http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-2259?GalileoSession=07359748A4.Yp-t6e7M

Einstieg in C++: http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-2083?GalileoSession=07359748A4.Yp-t6e7M
Grundkurs C++: C++-Programmierung verständlich erklärt : http://www.galileocomputing.de/katalog/buecher/titel/gp/titelID-2313?GalileoSession=07359748A4.Yp-t6e7M

Es gibt noch sehr viele andere Bücher dazu.

Wäre MathLab für die algorithmische Mathematik nicht besser?
 
Zuletzt bearbeitet von einem Moderator:
Ja, das nutze ich auch. Aber der Prof. wills (lieber) in C++.

Edit. Achja, danke für die Links.
 
Zuletzt bearbeitet von einem Moderator:
Naja für den Einstieg kann man auch Basic nehmen...
 
Für Anfänger (aus meiner Sicht) klar C++ und dann C#. (Client-Programmierung...Software die auf dem PC läuft)

Für Webanwendungen (mein Favorit) Java (nicht JavaScript!).

Für WEB2.0-Anwendungen Java+Google Web Toolkit (GWT)



Gruß
 
@eaglestar:

Für 111 Jahre hast du dich aber gut gehalten.
 
So lang du nicht so freakig unterwegs bist, wie Spectrumizer und Treiber entwickeln willst
Kommt selten vor, aber 2x stand ich in meiner Laufzeit schon vor dem Problem, hab mich geärgert und mußte das Teilprojekt dann halt an jemanden abgeben.

bin dann zu TurboPascal (gibts das eigentlich noch?)
Ja, heißt heute aber Delphi. Oder die unabhängige OpenSource Weiterentwicklung "Free Pascal" und dem damit verbundenen Lazarus .
 
Zuletzt bearbeitet von einem Moderator:
Fang mit C# oder Java an. Das ist am verbreitesten. Den Rest vergisst du erstmal wieder. Es gibt keinen Grund, warum man nicht eine der beiden Sprachen am Anfang lernen sollte. Basic lohnt sich nur, wenn du deinen Horizont auf AddOns für WoW, RoM, LotRO und WAR beschränken willst. Die Syntax von lua ähnelt Basic sehr.

Sobald du ohne Probleme damit klar kommst, vergisst du Java und C# auch wieder und fängst mit C/C++ an. Java und C# versauen Programmierer. Die Compiler compilen dir jeden Dreck den du denen gibst und du lernst nichts dabei. Meiner Meinung nach muss jeder Programmierer sich mit Speicherverwaltung auskennen. Das ist einfach ein großer und wichtiger Bestandteil des Computers und du willst schließlich nicht sowas wie Photoshop lernen sondern du willst einige Level nach unten und Spiele programmieren. Ich persönlich mag eigentlich c++ auch nicht so gerne. Bin eher der Objective-C Typ (ich liebe diese Sprache). Aber ohne Mac lohnt sich die Sprache nicht.
Wenn du in C++ ein wenig weiter bist, kannst du dir ja mal LWJGL angucken. Die Schnittstelle bringt dir OpenGL nach Java. Momentan programmiere ich in Java mit ein paar Freunden ein kleines Spiel. Das gute ist, dass die normalen OpenGL Funktionen benutzt werden. Wenn dein Spiel in Java läuft, kannst du es einfach nach C++ portieren und somit auch aufwendigere Grafiken benutzen und das Programm dann in C++ fixen und weiterentwickeln. Somit hast du vielleicht mehr Arbeit, aber du siehst schneller Erfolge ohne dich vorher mit Pointern und Speicherverwaltung zu stressen. Aber da wären wir wieder bei Java und C#. Habe mit C# angefangen und die Fehlermeldung "Makes Pointer from Integer without a Cast" hat mich erstmal lange beschätigt xD.

Ich wünsch dir mal viel Erfolg und hoffe dadrauf, dass du besser als Notch wirst und dein Spiel nicht so viele Ressourcen frisst wie Minecraft.
 
Fang mit C# oder Java an. Das ist am verbreitesten. Den Rest vergisst du erstmal wieder.

Ähm nein. Ich verstehe nicht warum so viele leute die es eigentlich besser wissen müssten nicht verstehen dass je nachdem was man macht viele Sprachen ihre Berechtigung haben.
 
... dass je nachdem was man macht viele Sprachen ihre Berechtigung haben.

Für Client-Software würde ich kein Java (Swing) nehmen, obwohl ich beruflich nur mit Java programmiere.
Außerdem, wie sagte in grauer Vorzeit mein Lehrer zu mir: "...Wir lernen hier Programmieren und nicht wie man C++ programmiert!"


Variablen, Schleifen, Operatoren, Verzweigungen, Klassendiagramme, Struktogramme...sollte doch jeder Entwickler kennen, egal welche Sprache
er bevorzugt, oder!?
 
Die Diskussion wird irgendwie jedes Jahr neu ausgegraben und jeder weiß es besser, vor allem die, die sich beruflich mit dem Programmieren beschäftigen. Ich geb jetzt trotzdem meinen Kommentar ab, obwohl mich der thread schon wieder anwidert.

Ich hab mich mit 12, 13 Jahren an VB versucht, weil doch ein Windows- bzw. GUI-Kind bin - also die ersten Erfahrungen hab ich in der Objektorientierten Programmierung gesammelt. Ich muss aber zugeben, dass das mehr Malen nach Zahlen, als sonstwas war (mit MS-Press Handbuch).

Im Gymnasium (8 Wochenstunden INF) hat man uns dann näher an die Materie rangeführt. TurboPascal (V6.0, glaub ich) stand da in der ersten Klasse auf dem Lehrplan! Juhu, das war ein Spaß! Naja, als wir da dann bis hin zu graphischen Anwendungen ausgelebt hatten, wurde es dann spannend und wir durften uns an Delphi ranwagen. Im vorletzen und auch letzten Jahr kam dann noch Flash dazu. Nebenher, und das war wirklich nur nebenher, HTML, PHP, Pearl und SQL.

Ihr merkt schon, hier wurde eine gewisse Reihenfolge befolgt und so wird es auch im Informatik-Studium an Universität XY praktiziert. Es hat schon einen Sinn, dass man auch beim Programmieren von vorne anfängt und nicht quer einsteigt.

Pascal ist doch eher unbekannt/ausgestorben, also würd ich als Compilersprache dann eben mit C anfangen, ist ja im Prinzip das Selbe.
 
Variablen, Schleifen, Operatoren, Verzweigungen, Klassendiagramme, Struktogramme...sollte doch jeder Entwickler kennen, egal welche Sprache
er bevorzugt, oder!?

Ja, vor allem fällt der Umstieg viel leichter wenn man die Konzepte die es so gibt kennt. Es ist ja nicht so dass man eine Programmiersprache anfängt und dann niemals wieder umsteigen kann oder für den Rest seines Lebens davon besudelt und verdorben ist.

Auf der Schule hatten wir auch Cobol und als wir dann eine größere Abschlussarbeit machen mussten hat ein Großteil angefangen und sich selbst Visual Basic beigebracht. Warum? Weils mehr Spass machte und die Erstellung einer Benutzeroberfläche nicht Pain in your ass war.

Oder ganz am Anfang nach meiner Assembler-Pleite habe ich dann mit CanDo angefangen. Das war nur bedingt Programmierung und mehr Geklicke. Ich merkte nach ein paar Programmen dass ich dabei nicht bleiben will. Aber ich habe dadurch einige Grundlagen erfahren und hab dann mit Amos Basic weitergemacht.
Wenn man dann mal sein erstes Spiel macht und bei Sachen wie Highscore Listen landet dann denkt man das erste mal über Problematiken wie sortieren oder suchen nach.

Und um- und weiterlernen muss man bei der Programmierung eh immer.


Man neigt halt schnell "seine" programmiersprache als die beste und allein seeligmachende darzustellen. Das ist aber kompletter Unsinn.
 
Zuletzt bearbeitet von einem Moderator:
Zurück