AW: Programmiersprache :)
Ich würde mit C anfangen, dann mit C++ nachlegen für OOP.
Gutes Buch dazu:
[ame]http://www.amazon.de/Grundlagen-professionellen-Programmierung-Galileo-Computing/dp/3934358039[/ame]
Das Buch hat mir eigentlich alles in meinem Informatikstudium beigebracht was ich wissen musste über C und C++ Achtung! Vieles ist sehr mathematisch und es wird auch unter anderem auf Sortieralgorithmen usw eingegangen, es gibt aber zu jedem Kapitel Übungen und in der neusten Auflage des Buches auch Lösungen dazu.
Wenn du das Buch komplett durchgearbeitet hast hast du eine solide Grundbasis in C/C++, OOP, Algorithmen, Laufzeitanalysen, Diskrete Mathematik, Boolsche Algebra, Datenstrukturen(Bäume, Hashtabellen, einfach verkette Listen, Skiplisten... uswusw), Graphentheorie... und vieles mehr!
Gruß
AW: Programmiersprache :)
Ich rate Einsteigern generell, mit Python anzufangen. Python ist sehr einfach zu lesen und zu lernen und es vermittelt alle grundlegenden Programmierkonzepte, wie z.B. objektorientierte Programmierung. Python zwingt dich mehr oder weniger sogar dazu, sauber zu programmieren. Das ist eigentlich eine sehr gute Vorbereitung auf das weitere Lernen von Programmiersprachen.
Außerdem lernst du dadurch, wie eine Programmiersprache generell funktioniert. Jede Programmiersprache ist in etwa gleich aufgebaut. D.h., wenn du eine Programmiersprache kannst, lernst du auch andere sehr schnell, da du nur die Syntax neu lernen musst (also wie Befehle aufgeschrieben werden).
Danach kannst du dich entweder in Richtung der systemnahen Programmiersprachen (C bzw. C++), in die Richtung der "oberflächlichen" Programmiersprachen (Java bzw. .net-Zeugs) oder in die Richtung der Websprachen (PHP, Python-Django) gehen. Das hängt dann aber wirklich davon ab, was du wirklich erreichen willst.
Ich persönlich arbeite gerne mit Programmiersprachen, die Cross-Platform funktionieren, also mit denen man Programme erstellen kann, die sowohl auf Windows als auch auf Linux oder MacOS laufen. Das sind u.A. C, C++ oder Java. Scriptsprachen, wie Perl, Python oder PHP funktionieren sowieso auf jeder Platform, weil für jede Platform ein Interpreter existiert).
Viel Glück beim Lernen und lass dich nicht entmutigen! (Was bei Python selten passiert).
AW: Programmiersprache :)
Zitat:
Zitat von
H4x0r007
Ich persönlich arbeite gerne mit Programmiersprachen, die Cross-Platform funktionieren, also mit denen man Programme erstellen kann, die sowohl auf Windows als auch auf Linux oder MacOS laufen. Das sind u.A. C, C++ oder Java. Scriptsprachen, wie Perl, Python oder PHP funktionieren sowieso auf jeder Platform, weil für jede Platform ein Interpreter existiert).
#
Hoffe bin nicht zu besoffen:
Java wird doch auch durch einen Interpreter (Virtuelle Maschine) ausgeführt.
C bzw C++ muss für jede Plattform extra Kompiliert werden (tlw sogar Anpassung des Codes)
AW: Programmiersprache :)
Es gibt auch Java Compiler, die Code für entsprechende Prozessoren ausspucken und keinen Java Bytecode. Ein dazu fähiger Compiler wäre GCJ.
Allgemein ist es für die Definition von Compiler denkbar irrelevant in welche "Zielsprache" (CPU Instruktionen, Java Bytecode, ...) übersetzt wird, solange eben übersetzt wird. Der Übergang ist aber auch etwas schwammig, da viele Skriptsprachen auch nicht mehr im eigentlichen Sinn "interpretiert" werden, sondern auch zunächst in eine "primitivere" Sprache übersetzt werden, welche dann von einer virtuellen CPU ausgeführt wird.
Der Unterschied zu Java ist hier dann wohl der, dass das Resultat dieser Übersetzung tatsächlich auch auf der Festplatte landet und nicht sofort nach Ausführen des Programms wieder im Datennirvana versinkt (Cache-Funktionen jetzt mal außen vor gelassen ;).
AW: Programmiersprache :)
Zitat:
Zitat von
Hu5eL
#
Hoffe bin nicht zu besoffen:
Java wird doch auch durch einen Interpreter (Virtuelle Maschine) ausgeführt.
C bzw C++ muss für jede Plattform extra Kompiliert werden (tlw sogar Anpassung des Codes)
Ja, das stimmt. Java läuft in der VM. Ich wollte es nur nicht noch komplizierter ausdrücken.
C bzw. C++ muss kompiliert werden, trotzdem ist dein Source Cross-Platform, solange du keine betriebssystemspezifischen Commands (wie die WinAPI) nutzt, da du ihn für jede Platform kompilieren kannst.
Aber lasst doch den Threadstarter erstmal eine Sprache auswählen ;-)
AW: Programmiersprache :)
Wie H4x0r007 schon richtig sage wollte: Es kommt nicht darauf an mit welcher Sprache du anfängst. Wichtig ist die verschiedenen Konzepte und Paradigmen zu erlernen, welche tatsächlich so gut wie in jeder Sprache gleich sind - der Rest ist nur Syntax pauken. Den Syntax einer neuen Sprache zu erlenen dauert, sofern man schon 1-2 Sprachen kann, kaum mehr als ein Wochenende.
Programmiersprachen die sich tatsächlich zum Einstieg wegen ihrer Struktur und Lesbarkeit anbieten sind wie bereits erwähnt 'Python' aber auch 'Ruby' und 'Scala'. Gerade letzteren beiden sind momentan die modernsten - d.h nicht die "besten", sondern jene die alle modernen Konzepte sinnvoll unter einen Hut bringen und dem Programmierer dadurch viel Arbeit abnehmen.