Java oder Python lernen?

Das Ergebnis basiert auf 13 Abstimmungen

Java 46%
Python 31%
Andere Programiersprache 23%

8 Antworten

Andere Programiersprache

Eine Programmiersprache ist ein Werkzeug und für verschiedenste Aufgaben gibt es verschiedenste Werkzeuge.

Spiele werden zB oft mit Unity erstellt und da ist C# die Sprache der Wahl.

Für Businessanwendungen liegt Java recht hoch im Kurs vor allem darum weil die Programme dann auf jeder Plattform laufen ohne Zusatzaufwand.

Für Webprojekte ist PHP der Platzhirsch und wenn es um ML/KI, schnelle und einfache Entwicklung kleiner Tools, etc. geht dann glänzt Python.

Du kannst natürlich im Grunde mit jeder Sprache alles machen. Du kannst GUI-Programme in PHP, Webseiten in C# und Spiele in Python schreiben. Die Frage ist nur welche fertigen Tools und Bibliotheken gibt es die dir das Leben leichter machen und wie sieht die Performance des fertigen Programms aus?

Das gute ist allerdings, dass sobald du allgemeine Konzepte wie OOP, Schleifen, Verzweigungen, Variablentypen, usw. einmal verstanden hast kannst du recht einfach von einer Sprache zu einer anderen umlernen... Im Grunde sind sich Programmiersprachen (abgesehen von Exoten und esoterischen Sprachen) doch sehr ähnlich!

Die Unterschiede, die Sprachen für das eine oder andere geeigneter oder ungeeigneter machen wirst du erst dann merken wenn du dich mit einer Sprache lange und intensiv beschäftigst... Es macht eben einen Unterschied ob man eine Sprache kann oder wirklich beherrscht!

Ich persönlich habe in meinen Kursen die Erfahrung gemacht, dass Anfänger mit Python am besten klarkommen.

Woher ich das weiß:Berufserfahrung – Softwareentwickler f. Web, Win. & Linux (seit 2001)

Sowohl Python als auch Java wären hier eine passende Wahl. Es gibt einige Tools, die die Spiele-Entwicklung mit Java unterstützen (lies z.B. hier) und wiederum andere für Python (lies hier).

Auch normale Desktopanwendungen lassen sich mit beiden Sprachen entwickeln (für Python lies z.B. hier).

Wofür du dich in dieser Angelegenheit auch entscheidest - befasse dich erst ausreichend mit den Grundlagen, bevor du auch nur den ersten Buchstaben für ein kommendes Spiel-/GUI-Projekt startest. Du wirst sie brauchen.

Tutorials u.ä. habe ich schon einmal in dieser Antwort verlinkt.

Python

Ich widerspreche mal mir selber (wenn man meine älteren Antworten zum Thema "Programmieren lernen" betrachtet wo meine Tendenz eher Richtung Java/C# gingen) und empfehle Python.

Python ist ideal für Rapid-Prototyping geeignet (ins besonders mit dem Jupyter Notebook). Das heißt: Man kommt schneller zu einem Ergebnis. Das wird durch überragende Vielfalt von Bibliotheken extrem unterstützt.
Das ist natürlich für Anfänger besonders motivierend. Mit dem Notebook kann man seine Programme iterativ aufbauen - man kann sein Programm in einzelne Schritte aufteilen und kann in einem neuen Schritt auf den Inhalt bisheriger Variablen zugreifen ohne das Programm bis zu dem Punkt erneut auszuführen. Wenn man mit großen Datenmengen arbeitet oder einfach Rechenprozesse etwas länger dauern (eher im fortgeschrittenen Stadium) spart das viel Zeit. Aber auch im Anfängerstadium hilfreich da man so immer mal überprüfen kann was bisher passiert ist.

Aber: es ist nicht alles Gold was glänzt. Für Spiele-Entwicklung ist Python nicht ideal. Bei der Syntax ist Python auch eher verschieden zu Java/C#/C++ (diese 3 Sprachen sind relativ ähnlich). Und Debugging (zur Laufzeit in den Inhalt von Variablen reinschauen) ist bei Python auch nicht so schön gelöst.

Trotzdem: Python halte ich für ideal für Anfänger. Du hast schnelle Ergebnisse. Größere Spiele werden kein Kurzzeitziel sein. Und am wichtigsten: Die Grundideen lassen sich zwischen den Sprachen einfach transferieren, mann muss es nur in die entsprechende Sprache umwandeln - Python ist da etwas einfacher, deswegen gibt es beim Umstieg eine kleine Lernkurve - ist aber relativ trivial, wenn man von den Bibliotheken absieht (und du kannst dich am Anfang mehr auf die Programmier-Paradigmen/Prinzipien konzentrieren)

______________________ (<-- Strich)

Unterm Strich hat jede Sprache Vor- und Nachteile. Ich bin jetzt nicht im Detail auf Unterschiede zwischen Java/C#/C++ eingegangen, sondern habe diese mal unter dem Begriff C-Type-Sprachen (spontan erfundener Begriff - bitte nicht daran festnageln) zusammengefasst und mit Python verglichen.

Wenn du professionell in die Programmierung einsteigen willst wirst du dich mit allem auseinandersetzen müssen. Um sich selbst mit schnellen Erfolgen zu motivieren empfehle ich Python. Fúr Spiele kommt es auf die Plattform an, aber tendenziell sind C-Type-Sprachen zu empfehlen.

Was genau möchtest du denn gerne programmieren? Je nachdem ist eine andere Sprache empfehlenswert. Wenn du hartwarenah programmieren willst, wäre C++ interessant und bei Machine Learning wird viel mit Python gemacht, um Android-Programme zu programmieren ist Java sehr vorteilhaft, etc.. Also schau erstmal, welche Richtung dich interessiert und dann welche Sprache du dafür brauchst.

Python ist jedenfalls für den Einstieg natürlich einfacher zu lernen als C++

Es ist relativ egal mit was du Anfängst programmieren zu lernen. Es ist um einiges wichtiger dir eine bestimmte Denk- und Arbeitsweise anzueignen, die Prinzipien von Softwarearchitektur zu begreifen und Erfahrung zu sammeln. Ob du das nun in Java, C++, Python oder C# machst ist relativ egal.

Jede Sprache hat ihr eigenes Anwendungsgebiet, je nachdem was du später mal machen willst bzw. wirst, wird auch eine andere Sprache, ein anderes Framework oder andere Technologie eingesetzt.

Zu deiner Frage also: Nimm dir etwas womit du zurechtkommst. Java, C# oder Python sind alle drei gute Sprachen für den einstieg. Mit steigender Erfahrung wirst du dann auch für dich selbst entscheiden, in welche Richtung es dann weiter gehen soll. Ich persönlich würde nicht mit C++ anfangen, aber das ist nur meine Präferenz.

Woher ich das weiß:Berufserfahrung – Java Entwickler