Wie lernt man eine Programmiersprache

Alterac

PC-Selbstbauer(in)
Hallo,

leider finde ich nicht wirklich weiter, ich möchte gerne eine Programmiersprache lernen aber ich finde einfach keinen Ansatz. Sie sollte einfach sein und Tutorials haben. Ich würde gerne einfache Programme entwickeln.



mfg
 
Wie wäre es denn mal mit C? Das lerne ich grade an der Schule und ich finde das wirklich einfach.
Ich könnte dir auch die ersten Schritte beibringen, eben so weit mein Wissen reicht ;)
 
Wie wärs denn mit einer aktuellen Programmiersprache, z.B. C#, die auch alle Möglichkeiten einer modernen Programmierung bietet ?

Nutzt dazu am besten das Visual Studio von Microsoft, gibt es für personal use in der Express-Edition for free.
Mit der MSDN und diversen C#-Communities habt ihr Millionen von Beispielen und viele Tutorials zur Verfügung.
Des weiteren könnt ihr damit so ziemlich alles machen, von einfachen Konsolenanwendungen, über Webseiten und Windows-Anwendungen
bis hin zu Services und Plugins für Micrsoft Office. Über die Templates im Studio wird dabei der benötigte Coderahmen bereits vorgeneriert.

Eine gute Entwicklungsumgebung ist hier schon die halbe Miete ...
 
Ich würde C++ sagen, weil C++ Elemente von C und von C# hat :D

Nein, C++ ist fast die meist genutzte Sprache und spielt im Bereich der Wissenschaft und der Spielentwicklung eine unheimlich große Rolle, weil keine Sprache gleichzeitig so performant und komfortabel ist.
C++ ist eigentlich das gleiche wie C, nur dass noch der Teil der OOP (Objekt Orientierte Programmierung) dazu kommt, welches so ziemlich die Zukunft der Programmierung ist.

Aber fang erstmal ohne OOP an, also im Prinzip C.


Und zu deinem Problem: Du musst die Sprache nicht bezahlen, nur den sog. Compiler bzw die Entwicklungsumgebung. Der Compiler übersetzt deinen C++ Code in Maschinensprache. Dazu brauch man den.
Da kann ich dir nur eins empfehlen: Microsoft Visual Studio Express Edition
Super Umgebung, und kostenlos. Wenn du über deine Schule oder so ein Dreamspark account bekommst, kriegst du sogar kostenlos die "Professionell" Edition.
Ich finde damit kann man super arbeiten.

Und zu C++ gibt es haufenweise gute Online Tutorials. Da wird dir Google sicher weiterhelfen.

Viel Spaß und Gelingen,

Lukas


PS: Bei großen Problemen oder Fragen kannste mich auch ruhig anschreiben
 
Eine Programmiersprache lernt man in dem man Programme schreibt. Bücher helfen zb. du musst dich aber erstmal für eine Sprache entscheiden C++ ist ne sehr schwierige Sprache aber wenn du mit der angefangen hast und sie beherscht, kannst ohne probleme auch alles andere schreiben falls du dich mit anderen Sprachen beschäftigen willst.
 
Ich würde auch zu C raten. Das ist keine Sprache, um sofort tolle und hübsche Ergebnisse zu produzieren. Aber sie ist gut geeignet, um zu lernen, wie eine Programmiersprache tickt. Das was du aus C mitnimmst, lässt sich auf so ziemlich jede andere Sprache anwenden und ganz nebenbei ist sie auf Rang 2 der am meisten genutzten und am weitesten verbreiteten Programmiersprachen der Welt:

TIOBE Software: The Coding Standards Company

Ganz oben ist Java. Java ist eigentlich auch sehr gut für Anfänger geeignet, objektorientierte Sprachen können Einsteiger anfangs jedoch etwas überfordern.

Informier dich einfach ausführlich über beide Sprachen, über ihre Eigenheiten und Unterschiede. Entscheide dann, auf was du dich zuerst konzentrieren willst. Zum reinen Einstieg sind beide gut, wenn du weiter eintauchst, musst du dich jedoch zunehmend um Struktur und Organisation bemühen, das gilt für C - aber nochmal mit Abstand mehr für Java.

Wichtig für jede Programmiersprache ist Übung und Routine. Schreib was das Zeug hält. Du lernst in dem Bereich zu über 80% durch die praktische Anwendung deines Wissens. Machen, das ist am wichtigsten, gerade am Anfang.

Viel Spaß! :) Und gutes Gelingen. Auch mich kannst du gerne anschreiben wenn du Fragen hast. ;)
 
Wenn du mit C/C++ (Ich würde C empfehlen) anfangen willst dann kannst
due dir mal Code::Blocks anschauen. Das ist eine sog. IDE, sprich es enthält
alles was man zum Programmieren braucht, einen Editor und einen Kompiler
(gcc/g++ In diesem Fall). Das ist mMn ein guter Start, denn die IDE ist
leicht zu bedienen und hat nen guten Debugger. Für C würde ich dieses Buch
empfehlen:

C: Programmieren von Anfang an: Amazon.de: Helmut Erlenkötter: Bücher

oder das openBook (vllt etwas umfangreich für den Anfang)

Galileo Computing :: C von A bis Z

für C++ dieses:

Einstieg in C++: 4. Auflage (Galileo Computing): Amazon.de: Arnold Willemer: Bücher

Viel Spaß! Und nicht zu schnell aufgeben, dauert ein wenig bis man sich
reingefunden hat ;)
 
Ich kann Perl und C empfehlen.

Je nach dem was du spaeter ev. machen willst.

WebApps => Perl
StandAlone Programme mit GUI => C und dann C++/C#

Wobei C# "etwas" komisch ist. Dies ist aber meine Meinung :)
 
Noch mal ein Kommentar:

Fang nicht mit Java an. Das ist nur Platz 1 aufgrund der vielen mobilen Apps, also für Handys. Java ist meiner Meinung nach einfach nicht toll, ich verabscheue es in einer virtuellen Maschine zu arbeiten (Also das Java Runtime blub). Meine Meinung, aber Java ist echt nicht die beste Wahl. Notch hat den Fehler gemacht und Java gelernt. Aus seinem Hobbyprojekt ist jetzt Minecraft geworden mit massiven Performanceschwächen und anderen Problemen.

Und wie meine "Kollegen" schon sagten:
C vermittelt super die Grundlagen und du kannst es auf alle anderen Programmiersprachen "anwenden".

Zur IDE: Ich kann nur MS Visual Studio empfehlen. Mit Code::Blocks habe ich auch schon gearbeitet. Aber VS ist einfach professioneller, bietet viel mehr Möglichkeiten und ist tatsächlich auch für Anfänger gut geeignet.
Und C/C++: Der Unterschied zwischen C und C++ ohne OOP ist minimal. Von daher kannst du auch direkt C++ lernen.

mfg
 
Fang nicht mit Java an. Das ist nur Platz 1 aufgrund der vielen mobilen Apps, also für Handys. Java ist meiner Meinung nach einfach nicht toll, ich verabscheue es in einer virtuellen Maschine zu arbeiten (Also das Java Runtime blub). Meine Meinung, aber Java ist echt nicht die beste Wahl. Notch hat den Fehler gemacht und Java gelernt. Aus seinem Hobbyprojekt ist jetzt Minecraft geworden mit massiven Performanceschwächen und anderen Problemen.
mfg

Was Java nich zu einer schlechte Programmiersprache, nur eben zu einer die nicht
ausnahmslos für alle Zwecke geeignet ist. Genausi ist es manchmal übertrieben
C++ zu nehmen, den so performant muss eine bestimmte Anwendung meist nicht
sein, da ist java völlig ausreichend

Zur IDE: Ich kann nur MS Visual Studio empfehlen. Mit Code::Blocks habe ich auch schon gearbeitet. Aber VS ist einfach professioneller, bietet viel mehr Möglichkeiten und ist tatsächlich auch für Anfänger gut geeignet.

Die IDE ist im Prinzip egal, ich hab meine ersten richtigen C/C++ Programme
mit gedit (einfache Editor mit Syntax Highlighting) geschrieben und mit gcc/g++
in der Konsolo programmiert. Warum? Weil es am Anfang sch***egal wie der
Kompiler was wegoptmiert und in welcher IDE man besser die Maus umher -
schubsen kann. Es geht einzig und allein darum die Basics einer Programmier-
sprache zu lernen und dafür ist Code::Blocks super. Wenn man dann irgendwann
mal die professionellen Tools von VS braucht (Brauche ich bis heute nicht, von
daher nutze ich Eclipse für C/C++/Java und PHP) kann man imer noch umsteigen.
Die IDE sollte wirklich keine Rolle spielen :what:
 
Wenn es nicht um Performance geht würde ich Ruby empfehlen :D
Hat einen wesentlich angenehmeren Syntax als C und C++ und es ist dank der Gems wesentlich einfacher zu erweitern.
 
Es soll ja auch Leute geben, die den Java Syntax gut finden (:P)- von daher kann man das glaube ich nicht verallgemeinern und sagen Ruby hat einen besser Syntax als Programmiersprache XY ;)
 
Scala find ich da noch etwas angenehmer als Java, wobei ich damit noch nicht gearbeitet habe, aber es sieht doch irgendwie schöner aus :D.
Und Ruby ist an übersichtlicher Syntax wohl nicht zu überbieten, macht echt Spaß damit Sachen zu machen.

Java/Ruby/Python/C# sind so die gängigen Einstiegssprachen, C & C++ mal aussen vor gelassen, ist zwar nett und bietet halt auch extrem viel, aber echte Motivationskiller (Pointer am Anfang :ugly:) und für 99% aller Einsteiger halt genausogut im Umfang wie die anderen, da man sowieso erstmal die Grundlagen mit Schleifen etc lernt und da ist ne nette IDE + einfache Syntax viel mehr wert.

GO finde ich auch noch extremst interessant, könnte C++ mittel- bis langfristig ablösen, mal schauen was Google da so zaubert bis zum finalen Release Anfang 2012, aktuell starten kann man aber auch schon.
 
Für den Anfang ist es eigentlich egal welche C Abart es wird(auch Java zähle ich dazu,ist schließlich auch nicht viel mehr als ein Versuch C++ "sicher" zu machen). Die Syntax ist bei allen vergleichbar und nun mal DER Standard(bei all ihren Stärken und schwächen).
Je nach dem was man in Zukunft dann machen will kann man recht leicht auf die dafür geeignete Sprache wechseln.
(Online, Smartphones-> Java; Microcontroller->C;Windows Programme-> C#;Performance Orientiert auf dem PC->C++)

Edit zum Thema IDE: Um sich eine GUI zusammen zu klicken und bei großen Programmen vielleicht noch zum Debuggen ist sowas ja ganz nett, aber programmieren an Sich geht mit einem guten Editor wie Notepad++ und dem entsprechenden Compiler für die gewählte Sprache auch prima.
 
Zuletzt bearbeitet:
Die IDE ist im Prinzip egal, ich hab meine ersten richtigen C/C++ Programme
mit gedit (einfache Editor mit Syntax Highlighting) geschrieben und mit gcc/g++
in der Konsolo programmiert. Warum? Weil es am Anfang sch***egal wie der
Kompiler was wegoptmiert und in welcher IDE man besser die Maus umher -
schubsen kann. Es geht einzig und allein darum die Basics einer Programmier-
sprache zu lernen und dafür ist Code::Blocks super. Wenn man dann irgendwann
mal die professionellen Tools von VS braucht (Brauche ich bis heute nicht, von
daher nutze ich Eclipse für C/C++/Java und PHP) kann man imer noch umsteigen.
Die IDE sollte wirklich keine Rolle spielen :what:

Es geht mir dabei aber nicht ums optimieren, sondern um die einfachkeit. Wenn man gerade was neues in C++ lernt, will man sofort das ausprobieren.
Sonst müsste mans ich in deinem Fall mit dem Compiler aussernandersetzen und längere Zeit gucken, wie man denn jetzt compiliert. Macht man das in VS klickt man einmal f7 dann hat man fein compiliert und bei f5 startet das programm sofort. Das meine ich. Die Optimierungen sind den Anfängern absolut egal, klar da haste recht. Aber man will sich auf C++ konzentrieren, das brauch mans einfach
 
Kompilieren in c oder c++ ist ja wohl mal nicht kompliziert. Einfach gcc installieren und dann halt in der Kommandozeile aufrufen
Code:
gcc [I]programmname[/I].c -o [I]nameDerZieldatei[/I]
Optimieren geht mit -O und schon hat man eigentlich alle Funktionen die man braucht. Das Ergebnis ist mit letzterer Option übrigens meist besser als das was MS verzapft.

Bei anderen Sprachen heißt halt der Compiler anders, aber komplizierter ist es auch nicht. Direkt in eine große IDE zu springen fördert vor allem die Angst vorm Kompilieren von Hand und das ohne Grund.

Ich hab in der Schule auch Java direkt in Eclipse betrieben und musste dann später feststellen wie hilflos man zum Teil der "Macht" der IDE gegenüber steht wenn man nicht wirklich nachvollziehen kann was die eigentlich alles macht.
 
Zuletzt bearbeitet:
Die Frage geht ja mehr in Richtung wie lernt man eine Programmiersprache und nicht welche soll ich nehmen. Drum versuch ich mal hierauf eine Antwort zu geben:
Also prinzipiell lernt man eine Programmiersprache indem man kleine und einfache Programme erstellt um die grundsätzliche Syntax einer Sprache zu erlernen. Das bekannteste diesr Programme ist halt die "Hallo Welt" Geschichte. Das ist im Prinzip auch der Inhalt von mindestens 90% aller Bücher Programmiersprache xy in 21 Tagen oder was man so im Gallileoverlag findet. Ich vergleiche Syntaxlernen immer ein wenig mit Vokabeln in einer gesprochenen Sprache lernen. Das ist einfach notwendig um dann Sätze (bzw. in der Programmierung komplexere Logiken und Gebilde) bilden zu können.
Wie lang man nun benötigt um sich diese grundsätzlichen Themen anzueignen hängt jetzt schwer von der jeweiligen Person ab. Ist aber auch absolut uninteressant, wichtig ist das man es verstanden hat und sicher einsetzten kann ohne jedesmal das Thema komplett neu erarbeiten zu müssen. Wie bereits geschrieben ist dieser Vorgang für jede Programmiersprache erst einmal gleich. Klar wenn man sich die 3. Sprache aneignet geht dieser Prozess natürlich schneller als bei der ersten aber es ist trotzdem wichtig.

Beherrscht man nun die Syntax und die Funktionalität einer Programmiersprache muss man sich Programmiertechniken aneignen. Als Beispiel würd ich jetzt hier mal komplexe Statemachines oä. aufführen oder allgemein halt einen sauberen und qualitätsorientierten Programmierstil.

Jetzt noch ein Wort zu den entsprechenden Tools:
Um die grundsätzliche Syntax einer Programmiersprache zu erlernen ist definitiv kein großes SDK notwendig. Ein Editor der die Syntax der jeweiligen Programmiersprache beherrscht (highlighten von Schlüsselwörten) und ein Konsolenkompieler genügen vollkommen. Wer sich das nicht zutraut kann aber natürlich auch gerne zu etwas wie DevC++ greifen.
Für die weiteren Schritte kann bzw. wird es dann schon notwendig sein sich zumindest rudimentär gedanken über die Architektur der Software zu machen. Dies kann wiederum sehr vereinfacht mit Stift und Papier gemacht werden oder aber man nimmt hier Tools die einen hierbei unterstützen. Wie es dort allerdings auf dem (bezahlbaren/freien) Markt aussieht weiß ich nicht so genau da ich solche Tools nur in der Firma einsetzte. Dort werden oft dann Tools eingesetzt, die aus dem Design heraus Code generieren (z.B. Statemate, Ascet oder Matlab).
 
Direkt in eine große IDE zu springen fördert vor allem die Angst vorm Kompilieren von Hand und das ohne Grund.

Ich hab in der Schule auch Java direkt in Eclipse betrieben und musste dann später feststellen wie hilflos man zum Teil der "Macht" der IDE gegenüber steht wenn man nicht wirklich nachvollziehen kann was die eigentlich alles macht.

Denke ich auch. Als Anfänger direkt mit einer IDE einzusteigen ist purer Overkill und schüchtert eher ein, als dass es ermutigt (meine Meinung).
 
Zurück