Seite 1 von 1

Schwierigkeiten bei Python/Repi erlernen

Verfasst: Dienstag 22. November 2011, 23:54
von khati
Hallo Leute,

mit diese Post bitte ich euch nicht um den Lösung von der Hausaufgabe, sondern um den Lösung wie ich diese Sprache lernen kann, damit ich die hausaufgabe mache. Ich muss nämlich ein chatserver programmieren und habe ich nichtmal anhaltspunkte

da sind Hauptmaterien worauf ich besitze:

1. https://seattle.cs.washington.edu/wiki/RepyTutorial
2. https://seattle.cs.washington.edu/wiki/PythonTutorial
3. https://seattle.cs.washington.edu/wiki/RepyApi

ich habe erste link durchgearbeitet und schon beim kapitel 2.2 fängt für mich chinaisisch an. In java API gibt es so viel vordefinierte methoden , auch editor welche diese Sprache unterstützt und ist viel übersichtlicher

wie habt ihr Python gelernt?



Khati

Re: Schwierigkeiten bei Python/Repi erlernen

Verfasst: Mittwoch 23. November 2011, 00:55
von jbs
Durch Sachen lesen und ausprobieren.

Wo ist denn jetzt dein konkretes Problem?

Re: Schwierigkeiten bei Python/Repi erlernen

Verfasst: Mittwoch 23. November 2011, 01:05
von khati
Also ich habe verständnisschwierigkeiten. Ich kann nicht in diese Sprache reinkommen :(

Re: Schwierigkeiten bei Python/Repi erlernen

Verfasst: Mittwoch 23. November 2011, 01:13
von jbs

Re: Schwierigkeiten bei Python/Repi erlernen

Verfasst: Mittwoch 23. November 2011, 09:21
von BlackJack
@khati: Das Repy-Tutorial setzt schon einiges an Wissen voraus. Das steht im zweiten Absatz des ersten Abschnitts (`Introduction`). Grundlagenwissen in Netzwerkprogrammierung und in Python werden vorausgesetzt.

Was verstehst Du denn konkret an dem Quelltext in Kapitel 2.2 vom Repy-Tutorial nicht? Der reine Python-Anteil dort ist nicht besonders schwer. Wenn man schon Java kann und das Python-Tutorial durchgearbeitet hat, sollte man eigentlich die Syntax und die statische Programmstruktur verstehen. Neben den Python-Funktionen `len()` und `int()` und des Typs `Exception` sind alle anderen Namen, die nicht in dem Quelltext selbst definiert werden, Teil der Repy-API. Da muss man also in der Repy-Dokumentation nachlesen was sie bedeuten, das hat nichts mit Python als Sprache zu tun.

In der Python-Standardbibliothek gibt es auch sehr viele Funktionen, Klassen, und Methoden. Leider lässt Repy die nicht zu. Editoren/IDEs für Python gibt es auch. Die Autovervollständigung ist dort nicht immer so umfangreich wie in Java, was daran liegt, dass man in dynamisch typisierten Programmiersprachen den Typ eines Objekts nicht immer statisch ermitteln kann. Ansonsten ist in Python auch nicht so viel IDE-Unterstützung nötig, weil man viel weniger „bloilerplate code“ als in Java schreiben muss. In Java wäre das „Hello World“-Beispiel deutlich komplexer. Man hätte in Java wahrscheinlich von einer `Repy` (oder `ReJava`) Klasse ableiten müssen oder `callfunc` und `callargs` von einem Singleton abfragen müssen. Auf dieser Klasse müssten dann auch die ganzen Repy-API-Funktionen vordefiniert sein. Der Quelltext auf Modulebene müsste in einer Methode stehen. Für die `hello()`-Funktion hätte man eine ganze Klasse mit einem vorgegebenen Interface schreiben müssen, weil in Java Methoden keine Objekte sind und man sich dort einfache Callbacks üblicherweise als anonyme Klassen definiert. Das wäre die minimale API für Java. Java wäre aber nicht Java wenn das alles nicht in unzählige Interfaces und Klassen aufgeteilt und aufgeblasen würde.