• Liebe User, bitte beachtet folgendes Thema: Was im Forum passiert, bleibt im Forum! Danke!
  • Hallo Gemeinde! Das Problem leidet zurzeit unter technischen Problemen. Wir sind da dran, aber das Zeitkontingent ist begrenzt. In der Zwischenzeit dürfte den meisten aufgefallen sein, dass das Erstellen von Posts funktioniert, auch wenn das Forum erstmal eine Fehlermeldung wirft. Um unseren Löschaufwand zu minimieren, bitten wir euch darum, nicht mehrmals auf 'Post Reply' zu klicken, da das zur Mehrfachposts führt. Grußworte.

Welche Programmiersprache als Einstieg?

Mitglied seit
11.08.2006
Beiträge
45
Reaktionen
0
Nabend,

wollte mal Fragen welche Programmiersprache ihr am besten für den Einstieg empfindet? Ich bin auf dem Gebiet ein Neuling und habe mal mit dem Java Tutorial angefangen und finde das doch ziemlich gut. Vorallem der Teil in dem es um den Prozessor, seine Architektur und die Maschinensprache ging (Maschinenoperationen, Maschinenbefehle) fand ich extrem interessant. Letztlich dachte ich Java wäre ein guter Einstieg, da es dank der JRE sogut wie auf jeder CPU läuft. Aber irgendwie scheint mir die Java-Sprache gerade deswegen (weil es eben immer über einen Interpreter läuft, außer man hat eine physische Java CPU) ziemlich entfernt von der Maschine an sich zu sein? Wäre es nicht besser als Anfänger eine Sprache zu lernen die Systemnäher ist? Das ist aber letztlich nur mein Eindruck nach etwa 2 Stunden mit dem Tutorial ohne vorherige Kenntnisse. Ich kann mich also auch komplett täuschen...
 
Zuletzt bearbeitet:
Mitglied seit
02.09.2002
Beiträge
3.281
Reaktionen
106
Was deine Frage angeht wirst du (garantiert auch hier) verschiedene Meinungen bekommen.
Allgemein lernst du nicht eine Programmiersprache, sondern Programmieren, d.h. du kannst viel was du in einer Sprache gelernt hast auf eine andere übertragen.
Ob du jetzt mit einer low-level Sprache anfangen willst, weil dich Maschinenbefehle und Speicherverwaltung interessieren oder ob du eine high-level Sprache wählst weil du dich darum nicht kümmern möchtest ist denke ich egal. Du hast halt immer die Wahl zwischen Kontrolle und Kompfort.

In diesem Sinne würde ich folgende Sprachen (sortiert von low nach high-level) empfehlen:
C, C++, Java, Python
Alle sind weit verbreitet und früher oder später wird man ohnehin 2 oder 3 von den vieren da lernen.
 
Mitglied seit
09.01.2011
Beiträge
30
Reaktionen
0
Für Programmieren an sich ist die Sprache erstmal egal. Java ist in Ordnung, viele empfehlen Python oder C#, ich selbst habe mit C++ angefangen. Am Anfang geht es erstmal darum die grundlegenden Dinge (Variablen, Bedingungen, Schleifen) zu begreifen und sich ein gewisses Abstraktionsvermögen anzueignen. Wenn dich die unteren Systemschichten interessieren sind natürlich C, C++ oder sogar Assembler eine gute Wahl, aber sei gewarnt, da unten benötigt es eine hohe Ausdauer und Fehlertoleranz, besonders wenn man gleichzeitig noch programmieren lernt. Wo Java so nett ist und eine NullPointerException wirft, die dir gleich die fehlerhafte Programmzeile anzeigt, verzieht sich dein C oder C++ Programm einfach ins virtuelle Nirvana.
Wenn du die Ausdauer hast, kannst du dabei wahrscheinlich sogar noch mehr lernen, hängt von dir ab.
 

zhxb

Casino Port Zion, Community-Forum, SC2 Kontaktbörs
Mitglied seit
24.06.2005
Beiträge
2.647
Reaktionen
0
Ort
Berlin
# an die Vorposter: hauptsache anfangen. Kennen(lernen) sollte man spaeter eh mehr als eine und wo man dann haengenbleibt ist Geschmacks- bzw. Geldsache.

Nebenbei: http://www.yosefk.com/blog/low-level-is-easy.html fand ich wahr und witzig zugleich - wobei die Aussage "low level is easy" natuerlich grob fahrlaessig ist.
 
Mitglied seit
11.08.2006
Beiträge
45
Reaktionen
0
Danke für die Antworten bisher. Ja mir geht es darum das Programmieren zu lernen. Das die Sprache letztendlich nur der Mittel zum Zweck ist habe ich nun auch schon auf mehreren Seiten gelesen, also ist es letztendlich egal mit was man startet. Ich hatte aber bei Java den Eindruck gewonnen, dass es ziemlich stark vereinfacht und vorallem sehr langsam ist. Ich meine, man muss bei Java seinen Quellcode erstmal kompilieren damit der daraus enstandene Bytecode vom Java Interpreter ausgeführt werden kann. Das hat mich dann doch verunsichert, da mir das doch ziemlich ineffizient zu sein scheint.
Kennt ihr eventuell ein ähnlich gutes Tutorial für Assembler oder C? Diese Low-Level Sprachen scheinen mir doch noch etwas interessanter zu sein, da sie wohl sehr nahe an der Prozessorarchitektur sind? Was mir an dem Java Tutorial sehr gefällt ist unter anderem das erstmal mit dem Grundsätzlichen begonnen wurde und nicht gleich mit dem Klassiker "Hello World" und man mit dem "Quiz" und/oder "Vokabeltraining" sein Wissen testen kann.

Ahja, danke für die Information bzgl. Low Level und High Level Programmiersprachen!
 

ROOT

Technik/Software Forum, Casino Port Zion
Mitglied seit
17.11.2002
Beiträge
7.052
Reaktionen
38
Ort
MS
Naja, man muss letztlich immer Kompromisse eingehen.
Niemand schreibt ein komplexes Programm in Assembler, damit es maximal schnell ist. Insbesondere weil die meisten Programme ja gar nicht geschwindigkeitskritisch sind.
Außerdem hängt die Programmeffizienz letztlich sowieso weniger von der verwendeten Sprache ab, als davon, dass man die Rechnungen strukturell günstig implementiert hat und eine effiziente Parallelisierung eingebaut hat - was die meisten Programme ohnehin nicht machen.

Also Assembler zu lernen als Einstieg ins Programmieren macht imo nur Sinn, wenn man sich speziell dafür interessiert. Ansonsten würde ich "mindestens" mit C anfangen, das ist immernoch sehr hardwarenah und sehr schnell. Fortran ist übrigens noch schneller, aber außerhalb vom akademisch/wissenschaftlichen Bereich kaum noch verbreitet.

Imo liefern C/C++ (da muss man sich nicht unbedingt auf eines beschränken, auch wenn ich vllt. mit C erstmal anfangen würde, bevor ich mich dem ganzen OOP-Wahn aussetze) hier das beste Gesamtpaket zwischen Hardwarenähe, Geschwindigkeit und moderner Programmierung. Ich denke auch, dass man wenn man C lernt, am schnellsten wichtige Grundprinzipien wie Datentypen, Speicherverwaltung, Zeiger usw. begreift, was in Java/Python alles versteckt ist um das programmieren einfacher zu machen.

Python find ich auch super, weil das programmieren damit einfach so schnell geht. In C/C++ müsste man wohl 3x soviel Quellcode schreiben wie in Python, um dasselbe Programm zu implementieren.
 

Gelöschtes Mitglied 160054

Guest
C ist einfach mal ultra hässlich.
Und nicht objektorientiert.
Wenn du je Sprache lernen willst, dann eine die zumindest objektorientiert ist, ist einfach deutlich geiler zu programmieren und zu dem gängige designweise.
Dann eher C++(mega geile Sprache)
 
Mitglied seit
09.01.2011
Beiträge
30
Reaktionen
0
Für C++ gibts das hier http://www.amazon.de/Programming-Pr...3726/ref=sr_1_1?ie=UTF8&qid=1364511664&sr=8-1

Ich selbst habe zwar mit einem anderen Buch angefangen, (für C++ sollte es ruhig ein Buch sein, Internet Tutorials sind da immer so la la) würde ich heute aber in C++ einsteigen, wäre dies meine Wahl.

Für C würd es wohl auch gute Bücher geben, als Alternative kannste hier mal vorbeischauen https://www.openlearning.com/. Die bieten einen Online Kurs an, der wohl bei uns einer Einführung in die Programmierung ähnelt. Musste den Kurs aus Zeitmangel abbrechen, war aber eigentlich ganz nett.
 
Mitglied seit
11.08.2006
Beiträge
45
Reaktionen
0
Danke für eure Eindrücke. Ich werde jetzt erstmal bei Java bleiben, da es letztendlich egal ist wie man anfängt. Ausschlaggebend für diese Entscheidung war einfach das es für Java viele gute, kostenlose und im Internet frei verfügbare Informationen wie Tutorials usw. gibt.
 
Mitglied seit
10.08.2000
Beiträge
12.908
Reaktionen
1
C++ finde ich zum Einstieg eher unpassend. Man "versaut" sich den Programmierstil einfach mit dem ganzen Unfug, den man mit C++ machen kann. Außerdem lernt man weder objektorientiertes noch prozeduales programmieren richtig, weil C++ effektiv ein Clusterfuck aus beidem ist. Klar, C++ ist mächtig und man sollte es sicher irgendwann können aber zuerst würde ich eine "echte" objektorientierte Sprache empfehlen.

Also ruhig erst mal bei Java bleiben, da lernst du dann "sauberes" programmieren und auch die OO-Konzeption.
Danach kannst du dir mal C oder Fortran anschauen um die Sache mit den Prozeduren hinter dich zu bringen.
Und danach nimmst du dann mal sowas wie CUDA oder OpenMP um Parallelisierung zu verstehen.
 

Shihatsu

Administrator
Mitglied seit
26.09.2001
Beiträge
49.670
Reaktionen
10.267
Zustimmung, MV, aber bei einer Sache würde ich dir widerprechen: PArallelisierung sollte man schon beim Java-codieren verstehen und üben.
 
Oben