Welche Sprache sollte man zuerst lernen?

Menofwar

Gesperrt
HI

Ich habe mir schon jetzt (mit 13 Jahren) vorgenommen eine Programierer Sprache zu lernen.
Aber da kamen schon meine ersten Fragen:

1)Welche Sprache zuerst?(C/C++/Java/pascal)
2)Welche ist eig. die einfachste?
3)Mit welcher kann man am meisten erreichen?
4)Was ist zum lernen das Beste?->Buch ->Lernsoftware . . .
5)Welches Buch/Lernprogramm wäre die Richtige für Einsteiger?
6)Welche Programme braucht man um C++ auszuführen?(vill Editor. . .)
aber welche programme noch?
6.1)^^Gib es ein web link dazu?^^[/


Bis jetzt habe ich nur wenig programmiererkenntnisse. . .
Ich kann ein bisschen HTML und ich habe oft mit Bat-Dateien rumgespielt(lol)

Ich würde mich freuen, wenn ihr manche von meinen Fragen beantworten könntet, dass mein Traum ein Programmeirer zu werden wahr wird

MFG Menofwar
 
Zuletzt bearbeitet:
HI
1)Welche Sprache zuerst?(C/C++/Java/pascal)
Wenn das zur Auswahl steht dann entweder Pascal (weil es eine sehr ausführliche und gut strukturierte Syntax hat) oder Java (welches meiner Meinung nach ein sehr guter Einstieg in volle objektorientierte Programmierung ist). Blankes C oder C++ würde ich für einen Direkteinstieg schon etwas heftig finden, weil bei beiden die Syntax stark verkürzt ist. Da müsstest du dich nicht nur mit den Prinzipien der Programmierung herumschlagen sondern auch stärker mit dem "wie sag ich es dem Computer?" als in Pascal oder Java.
Ein simples Beispiel:
In Pascal schreibst du
Code:
for i := 1 to 10 do...
und schon rein von der Sprache her wird relativ klar, daß da etwas 10mal wiederholt werden soll.
Das gleiche in C/C++:
Code:
for(i=1; i <= 10; i++)...
Das ist dann wohl schon etwas schwieriger zu lesen und zu verstehen.


2)Welche ist eig. die einfachste?
BASIC ist eine Abkürzung für "Beginner's All Purpose Simple Instruction Code" (dt. "für alle Zwecke geeignetes Anweisungsset für Anfänger"). Wenn sich da nicht massiv viel geändert hat, dann dürfte BASIC immer noch eine der am leichtesten zu lernenden Sprachen sein. Allerdings sind meine BASIC-Kenntnisse "etwas" älter. Da können dir sicher andere hier im Board genauere Informationen geben.

3)Mit welcher kann man am meisten erreichen?
Ich denke, das wäre dann Assembler. Direkter kann man keinen Chip programmieren. Allerdings ist selbst C++ noch regelrecht ausführlich im Vergleich zu Assembler.

4)Was ist zum lernen das Beste?->Buch ->Lernsoftware . . .
Das hängt von dir selber ab. Ich komme prima mit Büchern zurecht. Ich suche mir ein Thema oder eine Aufgabe und das löse ich dann. Und alles, was ich nicht weiß und von dem ich glaube, daß ich es brauche, lese ich mir dann an und lerne es. Aber keine Ahnung, ob das auch für dich so funktioniert.

5)Welches Buch/Lernprogramm wäre die Richtige für Einsteiger?
Das würde ich dann tatsächlich davon abhängig machen, was du als Einstiegssprache nehmen willst. Aber achte darauf, daß du ein für Anfänger geeignetes Buch findest. Die Rezensionen bei Amazon können da teilweise aufschlußreich sein.

6)Welche Programme braucht man um C++ auszuführen?(vill Editor. . .)
aber welche programme noch?
Im Wesentlichen Editor, Compiler und Linker. Meistens sind die heutzutage in einer sogenannten IDE (integrated developer environment) zusammengefasst wie z.B. dem Visual Studio von Microsoft oder dem CBuilder von Borland[B[B[B[B[B[B[BCode Gear[B[B[B[B[B[B[B[B[BEmbarcadeo.

6.1)^^Gib es ein web link dazu?^^[/
Mit den Stichworten, die du jetzt hast: :google:
 
Hallo,

Wenn das zur Auswahl steht dann entweder Pascal (weil es eine sehr ausführliche und gut strukturierte Syntax hat) oder Java (welches meiner Meinung nach ein sehr guter Einstieg in volle objektorientierte Programmierung ist). Blankes C oder C++ würde ich für einen Direkteinstieg schon etwas heftig finden, weil bei beiden die Syntax stark verkürzt ist. Da müsstest du dich nicht nur mit den Prinzipien der Programmierung herumschlagen sondern auch stärker mit dem "wie sag ich es dem Computer?" als in Pascal oder Java.
Ein simples Beispiel:
In Pascal schreibst du
Code:
for i := 1 to 10 do...
und schon rein von der Sprache her wird relativ klar, daß da etwas 10mal wiederholt werden soll.
Das gleiche in C/C++:
Code:
for(i=1; i <= 10; i++)...
Das ist dann wohl schon etwas schwieriger zu lesen und zu verstehen.
Meiner Meinung nach muss man dem Computer in C die Instruktionen genau so umständlich vorgeben wie in Pascal, denn AFAIK ist Pascal auf der selben Abstraktionsebene angesiedelt wie C. Hinzu kommt das Pascal im Vergleich zu C/C++/Java heute quasi nicht mehr verwendet wird.
Dennoch hat Pascal als Einsteigersprache seine Berechtigung da sie als solche konzipiert wurde, denn solche Sachen wie starke Strukturierung / Typisierung und gut lesbare Syntax erleichtern das Lernen.

Java besitzt die selbe Syntax wie C/C++. Es ist IMO für einen Anfänger genauso schwierig zu verstehen wie Vererbung / Polymorphie funktionieren und den Nutzen von Interfaces zu begreifen als zu erlernen wie Zeigermechanismen funktionieren. Deshalb würde ich C und Java beide als geeignet bezeichnen, je nachdem mit welchem Ziel man die neue Sprache erlernen möchte und C++ kategorisch als ausschließen (schon deshalb weil ich kein Freund von C++ bin :)). Desweiteren sei gesagt, dass wenn man C kann, kann man dann den Schritt machen und sich die objektorientierte Aspekte mit C++ aneignen. Dies ist jedoch dementsprechend mit mehr Aufwand verbunden.

Menofwar hat gesagt.:
Zitat von Menofwar Beitrag anzeigen
3)Mit welcher kann man am meisten erreichen?
Ich denke, das wäre dann Assembler. Direkter kann man keinen Chip programmieren. Allerdings ist selbst C++ noch regelrecht ausführlich im Vergleich zu Assembler.

Auch das kann man so pauschal nicht sagen. Theoretisch mag das stimmen, praktisch denke ich wird man keinen Menschen finden, der bereit ist und die Zeit findet eine grafische Oberfläche mit Assembler zu entwickeln. Ein Compiler mag damit keine Probleme haben, ein normaler Mensch aber schon, denn gerade in diesen Anforderungen haben Hochsprachen ihre Daseinsberechtigung. Ich denke auch diese Frage lässt sich nur abhängig vom Kontext "Was (welches Ziel) will ich erreichen?" beantworten.

Menofwar hat gesagt.:
6.1)Gib es ein web link dazu?[/
Man kann zusätzlich zu Google auch noch Wikipedia bemühen um sich einen Überblick über die genannten Sprachen und Begriffe zu verschaffen...

C/Java/Pascal und auch - obwohl ich kein M$-Freund bin - C# sind meiner Meinung nach als Einsteigersprachen geeignet. Eine konkretere Antwort zu geben ohne den Kontext zu wissen fällt schwer. Das musst du für dich selber entscheiden.

Gruß,
RedWing
 
BASIC ist eine Abkürzung für "Beginner's All Purpose Simple Instruction Code" (dt. "für alle Zwecke geeignetes Anweisungsset für Anfänger"). Wenn sich da nicht massiv viel geändert hat, dann dürfte BASIC immer noch eine der am leichtesten zu lernenden Sprachen sein. Allerdings sind meine BASIC-Kenntnisse "etwas" älter. Da können dir sicher andere hier im Board genauere Informationen geben.

Hi,
Ich würde Dir auf jeden Fall BASIC als erste Sprache empfehlen, so um mal reinzukommen. Ich mit 12 mit BASIC angefangen, und ich fands genau richtig.

Es 2 wesentliche Versionen von BASIC:
Q(uick)Basic: Eine auf Dos basierende Sprache ohne grafische Benutzeroberfläche (also ohne die Möglichkeit Fenster und so was zu erzeugen). Alles findet nur in der Kommandozeile statt. Bis Win 3.1 wurde QBasic noch mitgeliefert. QBasic ist die abgespeckte Version von QuickBasic. So ist zum Beipiel in QBasic kein Compiler vorhanden, also kannst du keine exe erzeugen. Also lade dir gleich QuickBasic herunter, do kannst beides kostenlos unter www.qbasic.de downloaden. Dort hast du auch ein riesen QB-Forum und viele Tutorials.
VisualBasic:Eine Weiterentwicklung von QBasic, allerdings objektorientiert und grafisch, also mit der Möglichkeit, Fenster zu programmieren. Wenn du dich für VB entscheidest, solltest du dir unbedingt Bücher kaufen. Die aktuellste Version ist Vb 2008 und auch kostenlos. Aber in so ziemlich jedem VB-Buch klebt ne CD mit VB.

Du kannst auch erst QBasic programmieren und dann auf VB umsteigen; der Code ist so ziemlich der gleiche. Kann man vergleichen mit: Wenn du Skaten kannst, kannst du auch ziemlich schnell Schlittschuh fahren.:p

Allerdings gibt es 2 große Nachteile von allen BASIC-Versionen:
1. Nur auf Windows lauffähig.
2. Durch die Befehle GOTO und GOSUB und (bei QBasic) fehlende Objektorientierung wird der Code sehr schnell sehr unübersichtlich.

Diese Nachteile haben mich nach 2 Jahren Basic zu Java vertrieben, trotzdem würde ich jedem Anfänger zu QBasic raten.

Ciao
DosCoder
 
Zuletzt bearbeitet:
Ich werde mich bei allen Antworten auf die von Dir gepostete Liste von Programmiersprachen beschraenken, der Einfachheit halber. ;)

1)Welche Sprache zuerst?(C/C++/Java/pascal)
Also wenn Du auf diese Sprachen beschraenkt bist wuerde ich Pascal (also klassische Pascal) ausschliessen da Pascal (wie gesagt, das klassische Pascal) meiner Meinung nach recht tot ist. Delphi, also sozusagen Object-Pascal, waere hier besser.
C++ wiederum ist quasi ein Super-Set von C, sozusagen eine Erweiterung von C um Objektorientierung, entsprechend lernt man bei C++ mehr oder weniger C gleich mit.

2)Welche ist eig. die einfachste?
Das duerfte hier dann wohl klar Pascal sein.

3)Mit welcher kann man am meisten erreichen?
C, ganz klar, denn C ist, im Vergleich zu den anderen, relativ Low-Level.

4)Was ist zum lernen das Beste?->Buch ->Lernsoftware . . .
Ich persoenlich finde Learning by Doing ganz gut. Ich hab ein konkretes Ziel (die Anwendung) die ich dann versuche mit der gewaehlten Sprache umzusetzen. Das kann auch durchaus etwas sein was ich bereits in einer anderen Sprache umgesetzt habe. Da hab ich dann auch den Vorteil dass ich bereits die Logik kenne, muss halt nur mit den sprachlichen Eigenheiten kaempfen.
Zuletzt hab ich mich so ein wenig in C# eingearbeitet. Nachgedacht was ich mal machen koennte und dann losgelegt. Hilfe gab's zu genuege im Netz oder hier auf tutorials.de.

5)Welches Buch/Lernprogramm wäre die Richtige für Einsteiger?
Kommt auf die Sprache an die Du lernen willst. Und wie gesagt, vielleicht brauchst Du ja garkein Buch/Lernprogramm.

6)Welche Programme braucht man um C++ auszuführen?(vill Editor. . .)
aber welche programme noch?
C++ muss erstmal kompiliert werden bevor das dadurch erstellte Binary ausgefuehrt werden kann.
Entsprechend brauchst Du einen Compiler und einen Linker, und natuerlich die noetigen Bibliotheken, welche aber in der Regel im Umfang des Kompilers oder der Entwicklungsumgebung enthalten sind.

6.1)^^Gib es ein web link dazu?^^
Google, Wikipedia, ...

Wie gesagt, fuer mich ist es am einfachsten eine neue Sprache zu erlernen wie ich dies mit einem konkreten Problem angehe.
Ich hab ueber die Jahre mit einigen Sprachen gearbeitet, und um ehrlich zu sein das meiste davon schon wieder vergessen.
Hier mal eine Liste (soweit ich mich noch erinnere sollte dies auch die Reihenfolge sein in der ich damit rumgespielt hab) wie ich jeweils an die Sprachen rangegangen bin.
  1. QBasic: Mit QBasic hab ich angefangen um Text-Adventures zu schreiben.
  2. Pascal: Da mit QBasic keine Binaries erstellt werden konnten hab ich mir mal Pascal angesehen.
  3. Assembler: Schlichtweg weil die Grafik-Funktionen von Pascal verdammt langsam waren.
  4. Delphi: Mit dem Schritt auf Windows 95 hab ich mir natuerlich auch mal Delphi angeschaut, zur Entwicklung fuer Windows.
  5. C++: Ein kurzer Exkurs zu C++ (mit dem Borland C++ Builder), dort hab ich mehr oder weniger nur ein paar der Programme die ich in Delphi geschrieben hab (die meisten waren nur Tests und wurden nie genutzt) in C++ implementiert um mir mal die Sprache anzuschauen.
  6. PHP: Weil Seiten mit Datenbank im Hintergrund mehr Spass machen.
  7. C: Auf der Arbeit brauchten wir einen Virenscanner fuer Mails. Da ich nichts gefunden hab was mir wirklich gefiel hab ich, basierend auf LibClamAV, selbst einen geschrieben.
  8. C++: Ja, nochmal; warum spaeter. Fuer das Freedomware Gamefest hab ich ein paar kleine Tools geschrieben.
  9. C#: Da QBasic mittlerweile tot ist dachte ich mir dass ich mir einen Interpreter schreibe der meine alten QBasic-Text-Adventures wiederbeleben kann.
So, das sollte alles sein.
RAD-Umgebungen wie Delphi oder den C++ Builder finde ich persoenlich uebrigens nicht sehr gut zum lernen der Sprache, daher hab ich C++ auch 2 mal aufgelistet.
Diese Umgebungen nehmen einem zwar eine Menge Arbeit ab, aber dafuer bekommt man auch nur die Haelfte mit von dem was so abgeht.

Man kann zwar trotzdem schicke Anwendungen erstellen, aber ich finde es dennoch wichtig sich mit den Ablaeufen im Hintergrund zu beschaeftigen wenn man sich wirklich Programmierer nennen will.

Persoenlich werde ich wohl in naechster Zeit mal wieder mehr mit C und C++ machen, und mich auch noch was mit C# beschaeftigen.
Eventuell werde ich auch mal einen Blick auf Java werfen, was ich in all den Jahren irgendwie bislang nicht auf die Reihe gekriegt hab.

Edit:
Mal ein paar Links, alle zu legalem, kostenlosen Kram.
  • FreeBasic - QBasic-kompatibler Basic-Compiler. Keine Ahnung ob irgendeine IDE dabei ist.
  • FreePascal - Turbo-Pascal-, und scheinbar zu grossen Teilen auch Delphi-kompatibler Pascal-Compiler. Eine einfache IDE ist, glaube ich, enthalten.
  • Borland C++ 5.5 - Den alten Borland C++-Compiler gibt es mittlerweile kostenlos. Wenn ich mich recht erinnere ohne IDE.
  • Turbo Explorer - Compiler und IDEs fuer verschiedene Sprache, basierend auf dem Borland Developer Studio 2006. Verfuegbare Sprachen sind C++, Delphi, Ruby und Java. Zuvor gab es auch noch Delphi.NET und C#, diese stehen aber scheinbar nicht mehr zur Verfuegung. Mit IDE.
  • Microsoft Visual Studio Express - Die kostenlosen Version der MS-Entwicklungsumgebung. Verfuegbare Sprachen sind Visual Basic, C++ und C#. Zusaetzlich gibt es, ausser Konkurenz, noch den Visual Web Developer. Natuerlich mit IDE.
  • SharpDevelop - entwickelt in und fuer C# bietet SharpDevelop eine schicke IDE die eben nicht nur C# kann sondern auch Visual Basic.NET und Boo.

So, das sollte jetzt wohl erstmal alles sein was mir so einfaellt und zumindest etwas relevant sein sollte.
Falls Du unter Linux entwickeln willst kann ich gern noch eine 2. Liste anfertigen.
 
1)Welche Sprache zuerst?(C/C++/Java/pascal)
Ich weiß zwar nicht, nach welchen Kriterien du diese Vorauswahl getroffen hast, aber ich würde keine von diesen als Einstieg empfehlen. Stattdessen würde ich dir dazu raten, dir eine der modernen Skriptsprachen anzuschauen. Insbesondere Python und Ruby würde ich dir dabei an's Herz legen. Der Grund hier ist, dass Skriptsprachen in der Regel einsteigerfreundlicher sind, da sie einem nicht so viele Stolpersteine in den Weg legen (wie z.B. händische Speicherverwaltung, Compilereinstellungen). Trotzdem kann man mit ihnen die Prinzipien der Programmierung erlernen wie in jeder anderen Sprache.

Grüße, Matthias

PS: Das Thema wäre im "Coders Talk" vermutlich besser aufgehoben.
 
hmm. Dünnes Eis hier. Kommt darauf an wo man hin will. Java / C# sind managed und laufen in einer Runtime. Also ein Programm, das Java Code interpretiert und ausführt. Dies hat viele Vorteile und ein paar Nachteile. Der Hauptvorteil ist, das man eine implizite Speicherverwaltung hat. So kann man sich mehr auf das was, als auf das wie konzentrieren. Das ist gut. Manchmal muß man aber auch das wie steuern.
Also ich würde kurz C anschauen, aber dann ziemlich schell C++ lernen. Da bekommst man am meisten mit von den grundlegenden Prinzipien, wie der Speicher funktioniert etc.
 
Zurück