Anfängerprogrammiersprache

Hallihallöle!

Ich habe vom Programmieren und eigentlich auch von Computern und von Informatik allgemein nur vage Vorstellungen, interessiere mich aber seit kurzem ziemlich dafür. Ich habe auch großen Spaß an Mathematik und Abstraktion also denke ich, dass das Themengebiet gut zu mir passt.
Um mich selbst aus dem Sumpf meiner Unwissenheit, die mich ziemlich unruhig macht, zu retten, habe ich mir gedacht, wäre es vielleicht eine gute Idee, eine Programmiersprache zu erlernen.
Nun die beiden Fragen, auf die ich mir schnelle Antworten erhoffe (Ich leider unter akutem Tatendrang!):

  1. Ist das überhaupt eine gute Idee oder sollte ich vielleicht besser wo anders innerhalb des Themengebietes Computerinformatik anfangen, mich zu bilden? Sprich: Braucht ein Programmierer notwendigerweise großartige Vorkenntnisse aus bestimmten anderen Bereichen?

  2. Welche Programmiersprache ist gut geeignet für einen Einsteiger wie mich? Sollte ich von einer die Finger lassen? Bauen manche auf anderen auf? Kann ich mit Haskell starten? Das hat mir glaube ich einmal jemand empfohlen, aber ich kann mich nicht richtig erinnern und der hat eigentlich selber keine Ahnung.

Danke schon im Voraus
Hupe

Hallo

  1. Ist das überhaupt eine gute Idee oder sollte ich vielleicht
    besser wo anders innerhalb des Themengebietes
    Computerinformatik anfangen, mich zu bilden? Sprich: Braucht
    ein Programmierer notwendigerweise großartige Vorkenntnisse
    aus bestimmten anderen Bereichen?

Nö, Programmieren ist schon eine „kulturvolle Beschäftigung“,
die man durch Übung erlernen kann. Man braucht natürlich -
in Abhängigkeit davon, *was* man denn Programmieren möchte,
Kennntnisse auf *diesem* Gebiet.

  1. Welche Programmiersprache ist gut geeignet für einen
    Einsteiger wie mich? Sollte ich von einer die Finger lassen?
    Bauen manche auf anderen auf? Kann ich mit Haskell starten?
    Das hat mir glaube ich einmal jemand empfohlen, aber ich kann
    mich nicht richtig erinnern und der hat eigentlich selber
    keine Ahnung.

Ich denke, alle guten Programmierer haben mit C angefangen -
und selbst wenn sie vorher Pascal oer Basic gemacht haben,
haben sie doch später *irgendwann* mit C angefangen :wink:

Ganz simples, einfaches C. Ohne Schnickschnack. Dazu z.B.
den Bloodshed-Compiler (mit Editor) und ein gutes Buch.
http://prdownloads.sourceforge.net/dev-cpp/devcpp-4…

Haskell ist auch gut, aber sicher nicht für einen
totalen Anfänger. Ich würde dafür folgende Reihenfolge
vorschlagen:

C => C++ => Perl => Haskell

Grüße

CMБ

Ich denke, alle guten Programmierer haben mit C angefangen -
und selbst wenn sie vorher Pascal oer Basic gemacht haben,
haben sie doch später *irgendwann* mit C angefangen :wink:

Ganz simples, einfaches C. Ohne Schnickschnack. Dazu z.B.
den Bloodshed-Compiler (mit Editor) und ein gutes Buch.
http://prdownloads.sourceforge.net/dev-cpp/devcpp-4…

Da fangen schon meine ersten Verständnisprobleme an: Was ist ein Compiler?
Außerdem steht auf dem Link: Thank you for downloading Dev-C++.
Das sieht mir doch sehr nach C *mit* Schnickschnack in Form von „++“ aus. Ein gutes Buch ist sicherlich eine gute Idee, darum werde ich mich als nächstes kümmern.

Hi,

Da fangen schon meine ersten Verständnisprobleme an: Was ist
ein Compiler?

Angenommen, Du hast ein Programm z.B. mit Pascal/Delphi oder C geschrieben. Den Programmcode nennt man auch Symbolcode, weil die CPU Deines Rechners nicht Ausdrücke wie IF…THEN versteht.

Da kommt der Compiler ins Spiel. Das ist ein Programm (üblicherweise Bestandteil der Programmiersprache), das jetzt z.B. das IF…THEN in Maschienencode übersetzt, den die CPU versteht. Als Resultat erhälst Du eine Datei, die üblicherweise (beim PC) die Endungen EXE oder DLL haben. Diese Dateien enthalten jetzt Befehle die die CPU direkt steuern.

Eine andere Spielart ist der Interpreter. Dabei lieferst Du an den Anwender im Prinzip den Quellcode aus. Und außerdem auch den (Run-Time) Interpreter. Wenn der Anwender Dein Programm startet, startet er in Wirklichkeit den Interpreter. Der lädt jetzt den Quellcode und übersetzt ihn Zeile für Zeile. Zu der eigentlichen Laufzeit Deines Programms kommt also noch die Übersetzungszeit hinzu weshalb interpretierte grundsätzlich lngsamer sind als compilierte.

Das sieht mir doch sehr nach C *mit* Schnickschnack in Form
von „++“ aus.

Nein, C++ ist kein Schnickschnack sondern eine Weiterentwicklung von C. Und zwar eine die sich auf objektorientierte Programmierung (OOP) bezieht. Solltest Du unbedingt benutzen/lernen weil heutzutage fast alles mit OOP arbeitet.

Ein gutes Buch ist sicherlich eine gute Idee,
darum werde ich mich als nächstes kümmern.

Das auf alle Fälle.

Gruss,

Tim

Hallo.

Ein gutes Buch ist sicherlich eine gute Idee,
darum werde ich mich als nächstes kümmern.

Das kann man sicherlich tun. Internetresourcen gibt es natürlich auch, z.B. http://www.marquardtnet.info/cecke/index.htm oder http://www.galileocomputing.de/openbook/c_von_a_bis_z/

mfg M.L.

Hallihallöle!

Ich habe vom Programmieren und eigentlich auch von Computern
und von Informatik allgemein nur vage Vorstellungen,
interessiere mich aber seit kurzem ziemlich dafür. Ich habe
auch großen Spaß an Mathematik und Abstraktion also denke ich,
dass das Themengebiet gut zu mir passt.
Um mich selbst aus dem Sumpf meiner Unwissenheit, die mich
ziemlich unruhig macht, zu retten, habe ich mir gedacht, wäre
es vielleicht eine gute Idee, eine Programmiersprache zu
erlernen.
Nun die beiden Fragen, auf die ich mir schnelle Antworten
erhoffe (Ich leider unter akutem Tatendrang!):

  1. Ist das überhaupt eine gute Idee oder sollte ich vielleicht
    besser wo anders innerhalb des Themengebietes
    Computerinformatik anfangen, mich zu bilden? Sprich: Braucht
    ein Programmierer notwendigerweise großartige Vorkenntnisse
    aus bestimmten anderen Bereichen?

Programmierung bedeutet das formalisierte Aufschreiben einer Rechenanweisung. Interessanterweise wurden Programme geschrieben bevor es Computer gegeben hat, weil Leute daran geforscht haben, was man überhaupt berechnen kann (Church, Turing).

Je besser eine Programmiersprache von konkreten Computern abstrahiert, desto weniger muss man über all die schmutzigen Hardwaredetails und sonstigen Kram wissen.

Aus didaktischer Sicht ist es daher für Anfänger empfehlenswert, möglichst gut designte, gut abstrahierende Sprachen zu verwenden.

  1. Welche Programmiersprache ist gut geeignet für einen
    Einsteiger wie mich? Sollte ich von einer die Finger lassen?
    Bauen manche auf anderen auf? Kann ich mit Haskell starten?
    Das hat mir glaube ich einmal jemand empfohlen, aber ich kann
    mich nicht richtig erinnern und der hat eigentlich selber
    keine Ahnung.

Klassisch ist LOGO die Sprache um erste Programme zu schreiben.
Würde ich noch immer empfehlen, weil es Spaß macht und einen kinderleichten Einstieg in prozedurale Programmiersprachen gibt.
Unter den modernen Sprachen würde ich Scala, Ruby, Python, OCaml oder Haskell empfehlen.
Aus pragmatischer Sicht wohl am ehesten Ruby.

C, Java, C#, C++ sind alles Sprachen die äußerst schlecht designed sind, und die eher zeigen wie Computersprachen nicht aussehen sollen.
Leute die mit C oder Java anfangen verharren oft in süßer Unwissenheit darüber, was in den letzten Jahrzehnten so geforscht wurde, und was Sprachen eigentlich tun können, um einem Programmierer auf das Wesentliche konzentrieren zu lassen.

Nach einiger Zeit ist es aber egal: wer mal seine ersten Programme geschrieben hat sollte ohnehin bald anfangen *mehrere* Sprachen zu lernen.