Wie lange braucht man um nach python, java zu lernen?

2 Antworten

Vom Beitragsersteller als hilfreich ausgezeichnet

Zwischen Python und Java liegt ein deutlicher Unterschied: das Paradigma

Während Java OO ist, kann Python lediglich OO nachahmen und ist eigentlich eine prozedurale Sprache.

Nicht die Syntax wird das Problem, sondern der Paradigmenwechsel.

Woher ich das weiß:Berufserfahrung – > 20 Jahre in der Softwareentwicklung

jo135  17.07.2024, 07:40
Während Java OO ist, kann Python lediglich OO nachahmen und ist eigentlich eine prozedurale Sprache.

Python ist eine sehr konsequent objektorientierte Sprache, in der fast alles ein Objekt ist: ausnahmslos alle Datentypen, auch Dinge wie Funktionen sind Klassen. Das geht also sogar noch weiter als bei Java.

Der Unterschied ist nur, dass Python den Entwickler nicht dazu zwingt, selbst objektorientierte Programme zu schreiben.

cleanercode  17.07.2024, 08:32
@jo135

Deiner Beschreibung nach wäre JS auch OO - was selbstverständlich nicht der Fall ist. Nur weil es Objekte gibt, heißt es nicht, dass das Paradigma selbst OO ist.

Hinter dem OOD steckt weit mehr als nur ein paar Objekte.

Der Unterschied ist nur, dass Python den Entwickler nicht dazu zwingt, selbst objektorientierte Programme zu schreiben.

Richtig, da - wie ich bereits erwähnte - Python keine reine OO-Sprache ist.

Aus reiner Neugier: wie oft hast du Interfaces in Python definiert?

jo135  17.07.2024, 09:21
@cleanercode
Hinter dem OOD steckt weit mehr als nur ein paar Objekte.

Die gängige Trias der OOP-Eigenschaften - Kapselung, Vererbung, Polymorphie - gibt es in Python durchgängig. Klar, die Kapselung wird nur eher per Konvention eingehalten. Deswegen aber zu behaupten, es wäre keine OO-Sprache bzw. würde OO nur "nachahmen", ist schon etwas steil.

Aus reiner Neugier: wie oft hast du Interfaces in Python definiert?

Ständig, weil ich dank Duck Typing gar keine nominellen Interfaces definieren muss.

Ist das anders als in Java? Klar. Aber das war bzw. ist auch bei Smalltalk so, das als "die OO-Sprache" schlechthin gilt.

Inkognito-Nutzer   27.04.2024, 12:38

Ja die andere Syntax wäre weniger meine Sorge.

Dieser paradigmenwechsel wie du sagst ist das schon eher gewesen.

Mit wie lange kann man denn dann rechnen zumindest grob?

Und ist es also sehr schwer? So klingt deine Aussage heraus

cleanercode  27.04.2024, 21:37
@Inkognito-Beitragsersteller

Schwer ist es nicht - man muss sich damit nur auseinandersetzen und sich Zeit lassen. Das OOD und dessen Prinzipien verlangen von einem Programmierer mehr.

Lass dich auf jeden Fall nicht entmutigen, wenn mal etwas nicht funktioniert :) Das wird schon. Wie lange es dauert, kommt auf deine Motivation an - die Lernkurve ist immer individuell.

Inkognito-Nutzer   28.04.2024, 06:44
@cleanercode

Ok danke , es gibt ja nicht wenige die sehr darauf beharren zu sagen Sprache xyz sei so schwer - und damit abschrecken.

Dann werd ichs versuchen. Das mit dem Zeit lassen war bzw ist auch bei python wichtiger gewesen als ich dachte... gut zu wissen das auch mit java so ist

Die Programmierung ist recht schnell gelernt. Aber das Vertiefen der einzelnen Sprachkomponenten, Frameworks usw. dauert tatsächlich teilweise länger, als das Lernen der Sprache selbst.

Mal abgesehen von der Programmierung gibt es natürlich auch noch verschiedene Architekturen und Entwurfsmuster, die zum Einsatz kommen. Zusätzlich hat jede Sprache so sein eigenes Ökosystem und verschiedene Tools, die damit einhergehen.

Aber diese ganzen Aspekte unterscheiden meiner Meinung nach einen Programmierer von einem Softwareentwickler.

Woher ich das weiß:eigene Erfahrung – Leidenschaftlicher C# Entwickler und Foren Admin