Frage von DerNichtCheker, 91

Welche Programmiersprache sollte ich zuerst lernen?

Also: Ich möchte unglaublich gerne programmieren lernen. Ich habe auch die nötigen Voraussetzungen um dies zu ermöglichen. Allerdings gibt es so viele Programmiersprachen und ich weiß nicht mit welcher anfangen soll.

MfG

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von NoHumanBeing, 46

Kann ich so nicht beantworten, da ich das Programmieren bereits in meiner Kindheit und wenig "systematisch" gelernt habe. Damals gab es auch noch ganz andere (nach heutigen Maßstäben furchtbare ;-) ) Sprachen. Das würde ich heutzutage niemandem mehr empfehlen. Die Systematik kam dann später, als ich längst programmieren konnte.

An vielen Universitäten fängt man mit Java an. Das ist sicher nicht verkehrt. Python schätze ich auch als ziemlich "einsteigerfreundlich" ein. Java ist statisch typisiert, Python dynamisch. Beides hat seine Vor- und Nachteile.

Dynamisch typisierte Sprachen eignen sich eher zur schnellen Erstellung von Prototypen. Statisch typisierte Sprachen eignen sich eher für größere, komplexere Projekte.

Das klingt nun so, als wäre es besser, mit einer dynamisch typisierten Sprache anzufangen, schließlich wird man zu Anfang keine hochkomplexe Software entwickeln. Allerdings sind statisch typisierte Sprachen "strenger" (heißt: sie geben Dir weniger Freiheiten). Wenn man mit einer dynamisch typisierten Sprache anfängt und dann auf eine statisch typisierte Sprache wechselt, empfindet man das eventuell als "Einschränkung" und kommt dann nicht so gut klar. Anders herum ist es eventuell einfacher. Außerdem ist es einfacher zu verstehen, was eine dynamisch typisierte Sprache macht, wenn man bereits in statisch typisierten Sprachen entwickelt hat.

Kommentar von DerNichtCheker ,

Ich weiß nicht, wie ich mich bei dir bedanken soll. Hilfreichste Antwort haste.

Kommentar von NoHumanBeing ,

Keine Ursache! Dafür bin ich hier. :-)

Kommentar von triopasi ,

Habe schon in in dynamisch typisierten sowie statisch typisierten Sprachen programmiert und wollte deshalb kurz meine "Meinung" dazu sagen. Persönlich finde ich es, wenn ich ne weile zB mit C# gearbeitet habe und dann wieder am PHP meiner Website arbeite, sehr nervig, dass PHP dynamisch typisiert. Gerade weil ich auch Klassen (als Datentyp) habe und die wiederum zig Sachen speichern. In PHP tendiert man dazu Arrays für alles zu verwenden, das zusammen mit den fehlenden Datentypen kann's schon mal echt verwirrend machen, wenn man sich nich sicher ist ob das jetzt "false" oder false gespeichert ist (string vs boolean). Andererseits ist es schwerer was statisches zu lernen, vA da manche Standartfunktionen "komische" Rückgabewerte haben (eigene Klassenobjekte anstatt primitiven Typen). Auch muss man halt am Anfang einfach mal lernen, was ein int, bool, float ist, und in Java warum es String statt string heisst.

Kommentar von NoHumanBeing ,

Keine Frage! Ich "mag" statisch typisierte Sprachen auch und "umgehen" kann ich natürlich mit beidem. Für's Prototyping ist Python jedoch meiner Meinung nach einfach unschlagbar.

Wenn ich in Java einen Callback implementieren möchte, muss ich ein Interface deklarieren, dieses in einer Klasse implementieren, die Klasse instanziieren und die Instanz (das Objekt) als Callback-Handler registrieren. Dann muss ich, wenn das Ereignis eintritt, auf diesem Objekt die "handleEvent(...)"-Methode aufrufen. Jede Menge so genannter "boilerplate code".

In Python kann ich den Callback-Handler als Lambda-Expression schreiben und direkt als Parameter der Callback-Registrier-Funktion übergeben. (Lambda-Expressions sind anonyme Funktionen.)

Kommentar von VBHHerzog ,

kann dem nur zustimmung, super erklärt!

ein persöhnlicher rat:  schau dir mal python an :p

Kommentar von NoHumanBeing ,

Ich kenne Python und verwende es auch gerne, habe es auch selbst in dieser Antwort erwähnt.

Oder meinst Du den Fragesteller?

Antwort
von PeterKremsner, 66

Ich Persönlich würde dir Empfehlen mit C zu beginnen, wenn du vorhaben solltest, irgendwann mal mit Mikrocontrollern zu arbeiten oder anders Hardwarenahe zu Programmieren.

Sollte das nicht der Fall sein, kannst du im Prinzip mit C++ starten (dafür benötigst du aber C), oder C# bzw Java, die sind beide ziemlich einsteigerfreundlich.

Antwort
von kordely, 12

Ich würde dir diese empfehlen:

Python, Ruby, Lua, Java, C#

Du kannst auch mit C beginnen, das ist aber nicht so einfach.

Antwort
von R3lay, 56

Würde mit C anfangen

Kommentar von DerNichtCheker ,

Ok, vielen Dank.

Antwort
von DeiDei2303, 43

PYTHON <3

Antwort
von Akecheta, 50

Natürlich mit Basic, der Goto-Befehl ist genial ;)

Kommentar von MalNachgedacht ,

COMEFROM ist viel besser als Goto:

https://en.wikipedia.org/wiki/COMEFROM

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten