python vs java

Alles, was nicht direkt mit Python-Problemen zu tun hat. Dies ist auch der perfekte Platz für Jobangebote.
lunar

Samstag 9. Juni 2007, 13:53

BlackJack hat geschrieben:Ein weiteres Plus ist der Interpreter. Man kann Code "live" ausprobieren und damit herumspielen. Dabei kann man eine Menge lernen und wenn man Zweifel hat, seine Theorien über das Verhalten von Funktionen und Objekten direkt überprüfen.
Das zumindest geht auch mit Java, wenn auch nicht ohne externe Software. Man braucht nur Beanshell. Allerdings fügt dieser Interpreter noch ein paar "Goodies" hinzu, weil Java als interaktive Sprache sonst arg anstrengend wäre. Trotzdem läuft nahezu jeder Java Code auch unter Beanshell. Ob das bei Java allerdings Spaß macht, ist eine andere Frage...
Generische Funktionen wie `map()` und `filter()` sind in Java nicht machbar. Da stehen leider die "checked exceptions" im Wege.
Mit den Generics aus Java 5 sollte sowas doch auch in Java möglich sein, oder?
Bei Deinen Beobachtungen schreibst Du, dass das "OOP-Denken dadurch [Typkonzept] wesentlich leichter fällt." Leichter als was? Hast Du direkte Vergleiche zu Python, in ausreichender Zahl?
Imho fällt objektorientiertes Denken in Python leichter, weil Java sehr viele Ausnahmen macht. So sind Methoden keine Objekte, und jeder Basistyp ist ebenfalls kein Objekt.
BlackJack

Samstag 9. Juni 2007, 14:57

So etwas wie `map()` scheitert zum einen daran, dass Methoden keine Objekte sind, die man übergeben kann und das es "checked exceptions" gibt. Man müsste so einer Funktion/Methode also grundsätzlich ein ``throws Exception`` mit auf den Weg geben. Das fügt sich einfach nicht harmonisch in die Sprache ein.
lunar

Samstag 9. Juni 2007, 17:46

BlackJack hat geschrieben:So etwas wie `map()` scheitert zum einen daran, dass Methoden keine Objekte sind, die man übergeben kann und das es "checked exceptions" gibt. Man müsste so einer Funktion/Methode also grundsätzlich ein ``throws Exception`` mit auf den Weg geben. Das fügt sich einfach nicht harmonisch in die Sprache ein.
Theoretisch (und nur das) könnte man das doch über Reflection erledigen: Übergeben wird das Object, und der aufzurufende Methodenname als String. Dann müsste man doch über Reflection die Methode aufrufen können, oder?

Das es sich nicht harmonisch in die Sprache einfügt, ist klar... aber mir geht es jetzt eher um die theoretische Machbarkeit.
BlackJack

Samstag 9. Juni 2007, 18:02

Ja über Reflection kann man das sicher lösen. Aber den Namen von Funktionen als Zeichenkette übergeben? Das ist ja wie bei PHP. Igitt. ;-)
lunar

Samstag 9. Juni 2007, 18:27

BlackJack hat geschrieben:Ja über Reflection kann man das sicher lösen. Aber den Namen von Funktionen als Zeichenkette übergeben? Das ist ja wie bei PHP. Igitt. ;-)
Ja, so kann man Java's statische Typisierung auch ad absurdum führen...
Antworten