Schwarzer Gürtel in Python

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Apfelbox
User
Beiträge: 4
Registriert: Montag 8. Oktober 2007, 08:30

Schwarzer Gürtel in Python

Beitragvon Apfelbox » Mittwoch 21. November 2007, 22:35

Hallo

Ich habe letztens diesen Link von nem Kumpel geschickt bekommen: http://www.javablackbelt.com/

Ich habe mich gefragt ob vielleicht irgendwer sowas ähnliches für Python kennt. Fände ich lustig und ein ansporn zum weiter coden =)

greets Apfelbox
Benutzeravatar
Leonidas
Administrator
Beiträge: 16023
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Re: Schwarzer Gürtel in Python

Beitragvon Leonidas » Mittwoch 21. November 2007, 23:13

Apfelbox hat geschrieben:Ich habe letztens diesen Link von nem Kumpel geschickt bekommen: http://www.javablackbelt.com/

Sehe ich das richtig? Das sind Zertifikate die man bekommt, dass man übermäßig verkomplizierte Technologien kennt und nutzen kann? Also etwa EJB, JMX, JNDI, JMS, JDBC, JTA, JAAS, JAXB, JAXP, JAXR, JACC, JCA, JAF, JPA und JSTL kennt und benutzen kann? (Jeder der Zope3 kompliziert findet sollte mal in Wikipedia J2EE ansehen)

Apfelbox hat geschrieben:Ich habe mich gefragt ob vielleicht irgendwer sowas ähnliches für Python kennt. Fände ich lustig und ein ansporn zum weiter coden =)

Nein, sowas ist mir nicht bekannt. Für mich wäre ein Ansporn zum Coden etwas zu kennen/können was andere Regulars in dem Forum hier nicht können. Ist aber gar nicht so leicht, wie man denken könnte.
My god, it's full of CARs! | Leonidasvoice vs Modvoice
BlackJack

Beitragvon BlackJack » Mittwoch 21. November 2007, 23:29

Der Nachteil von Python ─ es ist einfach zu leicht; die APIs zu durchschaubar. Kein Stoff für Zertifikate mit denen die einen Geld verdienen und die anderen sich brüsten können. ;-)
Apfelbox
User
Beiträge: 4
Registriert: Montag 8. Oktober 2007, 08:30

Beitragvon Apfelbox » Donnerstag 22. November 2007, 09:15

Danke für die Antworten.

Das Python zu einfach sit ist wahr aber ich fänd es trotzdem eine witzige Idee.

Apfelbox
Benutzeravatar
Gromit
User
Beiträge: 51
Registriert: Montag 8. Mai 2006, 19:07

Re: Schwarzer Gürtel in Python

Beitragvon Gromit » Donnerstag 22. November 2007, 11:06

Leonidas hat geschrieben:Also etwa EJB, JMX, JNDI, JMS, JDBC, JTA, JAAS, JAXB, JAXP, JAXR, JACC, JCA, JAF, JPA und JSTL kennt und benutzen kann? (Jeder der Zope3 kompliziert findet sollte mal in Wikipedia J2EE ansehen)


Leonidas ist der Master of Buzzword Desaster!
BlackJack

Beitragvon BlackJack » Donnerstag 22. November 2007, 11:34

Ist dass denn so schwer? Ich habe jedenfalls den Eindruck wenn man eine beliebige Kombination von zwei oder drei Buchstaben nimmt und ein 'J' vorne anstellt, hat man mit ziemlicher Sicherheit den Namen von irgendeiner Java-Technik oder -Spezifikation. ;-)
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Beitragvon Y0Gi » Donnerstag 22. November 2007, 11:59

Man beachte die Ursprünge der Namen von Programmiersprachen:

Python -> Monty Python -> macht Spaß

Java -> Kaffee -> ist ungesund, macht nervös, abhängig und hohen Blutdruck

Ruby -> Edelstein -> ist nicht alles Gold was glänzt ;)
poker
User
Beiträge: 146
Registriert: Donnerstag 20. September 2007, 21:44

Re: Schwarzer Gürtel in Python

Beitragvon poker » Donnerstag 22. November 2007, 16:46

Gromit hat geschrieben:
Leonidas hat geschrieben:Also etwa EJB, JMX, JNDI, JMS, JDBC, JTA, JAAS, JAXB, JAXP, JAXR, JACC, JCA, JAF, JPA und JSTL kennt und benutzen kann? (Jeder der Zope3 kompliziert findet sollte mal in Wikipedia J2EE ansehen)


Leonidas ist der Master of Buzzword Desaster!
Jo, Copy & Paste :D

Y0Gi hat geschrieben:Man beachte die Ursprünge der Namen von Programmiersprachen:

Python -> Monty Python -> macht Spaß

Java -> Kaffee -> ist ungesund, macht nervös, abhängig und hohen Blutdruck

Ruby -> Edelstein -> ist nicht alles Gold was glänzt ;)

:lol:

BTW Ruby: Was ihr immer alle gegen Ruby habt :roll: :D Wenn einige die Blöcke checken würde und wie eleganten und kurzen Code man damit fabrizieren kann...:P

I will Blöcke in Python!!11elf11!! Und Zwar jetzt. Georg Brandl, bring das mal bitte zur Sprache, da du ja im Core Team bist :)
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Re: Schwarzer Gürtel in Python

Beitragvon mitsuhiko » Donnerstag 22. November 2007, 17:18

poker hat geschrieben:BTW Ruby: Was ihr immer alle gegen Ruby habt :roll: :D Wenn einige die Blöcke checken würde und wie eleganten und kurzen Code man damit fabrizieren kann...:P

Das hat mit Checken oder nicht Checken nix zu tun. In Python sind Funktionen First-Class-Objects und damit kannst du sie einer Funktion übergeben, wie in Ruby einen Codeblock. Ist halt kein sytaktischer Zucker dabei.
Ich hätt mir ja ein anderes with-Statement gewünscht, aber solange Python die momentanen Scoping Regeln hat wird damit nix.
TUFKAB – the user formerly known as blackbird
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Re: Schwarzer Gürtel in Python

Beitragvon birkenfeld » Freitag 23. November 2007, 10:31

poker hat geschrieben:I will Blöcke in Python!!11elf11!! Und Zwar jetzt. Georg Brandl, bring das mal bitte zur Sprache, da du ja im Core Team bist :)

It's Open Source! Einen Beitrag auf python-dev oder (vielleicht angebrachter) python-ideas kann jeder schreiben. Nur kann ich dir versichern, dass das Thema bereits besprochen wurde (woraus dann das with-Statement entstanden ist) und mit entsprechendem Desinteresse behandelt werden wird.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
poker
User
Beiträge: 146
Registriert: Donnerstag 20. September 2007, 21:44

Re: Schwarzer Gürtel in Python

Beitragvon poker » Sonntag 25. November 2007, 16:32

mitsuhiko hat geschrieben:
poker hat geschrieben:BTW Ruby: Was ihr immer alle gegen Ruby habt :roll: :D Wenn einige die Blöcke checken würde und wie eleganten und kurzen Code man damit fabrizieren kann...:P

Das hat mit Checken oder nicht Checken nix zu tun. In Python sind Funktionen First-Class-Objects und damit kannst du sie einer Funktion übergeben, wie in Ruby einen Codeblock. Ist halt kein sytaktischer Zucker dabei.
Nein, ich habe das so gemeint wie ich es geschrieben habe. Meine Aussage nochmal ausführlicher: Was haben immer "alle" (=viele) pythonistas gegen Ruby? Wenn einige von denen Rubys Blöcke verstehen würden und was für eleganten und kurzen code man damit schreiben kann, würde Ruby auf die halb soviel abschränkend wirken

IMO ist, dass viele Pythonistas Ruby nicht nur wegen den vielen einsatz von regexes nicht mögen, sondern weil denen auch der sehr kompakte (Um nicht zu sagene stark komprimiert :D) code unbegreiflich erscheint, der IMO von den vielen Einsatz der Blöcke resultiert. -- Zumindest kommt es mir so vor. Ich habe halt immer diesen eindruck wenn ich mit ein par pythonistas rede die sich mit ruby **nur** oberflächlich beschäftigt haben.


mitsuhiko hat geschrieben:Ich hätt mir ja ein anderes with-Statement gewünscht, aber solange Python die momentanen Scoping Regeln hat wird damit nix.
Naja, ich finde das `with`-stmt schon ok, **aber** es hat IMO nicht viel gemeinsam mit den Blöcken von Ruby ;) Klar, von der Intention her ähnlich, aber die Umsetzung ist halt anders und bei Python nicht so ausdrucksstark wie bei Ruby.

Es ist eben geil in Ruby, IMO (und das siehst du doch auch so?), das man einfach Methoden schreiben kann die Blöcke entgegen nehmen können und dadurch viel Expressivität erlauben. Einfach in Python ein `__enter__` und `__exit__` in na class implementieren, und dann mit ein `with` davor gefolgt von ein `as name` zu schreiben, finde ich nicht sonderlich berauschend im verglich zu Blöcken. --Aber, ich muss sagen das ich pythons `with` auch nie als Ruby-Blöcke äquivalent angesehen habe, auch wenn man deren Herkunft ein wenig spüren kann. Und wenn man das berücksichtigt, finde ist das `with`-stmt auch eine geile Sache :) MAn darf es nur nicht vergleichen wollen ;)
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Re: Schwarzer Gürtel in Python

Beitragvon mitsuhiko » Sonntag 25. November 2007, 17:33

@poker: Ich finde es interessant, wie du anderen immer vorwirfst, sich nicht mit Ruby zu beschäftigen. Fakt ist, dass Ruby Blöcke in Python nicht funktionieren, weil wir eine Syntax haben, die auf Einrückung basiert. Das with Statement „hätte“ in die Richtung gehen können, ist es aber nicht.

Du darfst gerne Ruby nutzen, niemand hält dich davon ab.
TUFKAB – the user formerly known as blackbird
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Re: Schwarzer Gürtel in Python

Beitragvon birkenfeld » Sonntag 25. November 2007, 17:42

poker hat geschrieben:IMO ist, dass viele Pythonistas Ruby nicht nur wegen den vielen einsatz von regexes nicht mögen, sondern weil denen auch der sehr kompakte (Um nicht zu sagene stark komprimiert :D) code unbegreiflich erscheint, der IMO von den vielen Einsatz der Blöcke resultiert. -- Zumindest kommt es mir so vor. Ich habe halt immer diesen eindruck wenn ich mit ein par pythonistas rede die sich mit ruby **nur** oberflächlich beschäftigt haben.

Für so dumm würde ich jetzt die Pythonistas nicht halten, dass sie Rubys Blöcke nicht verstehen. Aber auch wenn man weiß, wie sie funktionieren, muss man sie nicht unbedingt in Python einbauen wollen.

Es ist eben geil in Ruby, IMO (und das siehst du doch auch so?), das man einfach Methoden schreiben kann die Blöcke entgegen nehmen können und dadurch viel Expressivität erlauben.

Ich halte first-class-Funktionen hier durchaus für ausreichend, und vor allem, mit Pythons Syntax vereinbar.

Dass Pythons `with` mit Rubys Blöcken nicht verglichen werden kann, sollte jedem hier klar sein (sonst sollte er sich nochmal PEP 343 anschauen ;)).
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Benutzeravatar
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Re: Schwarzer Gürtel in Python

Beitragvon mitsuhiko » Sonntag 25. November 2007, 17:49

birkenfeld hat geschrieben:Dass Pythons `with` mit Rubys Blöcken nicht verglichen werden kann, sollte jedem hier klar sein (sonst sollte er sich nochmal PEP 343 anschauen ;)).

Man beachte den Konjunktiv ;-) with ist nicht, hätte aber werden können.
TUFKAB – the user formerly known as blackbird
poker
User
Beiträge: 146
Registriert: Donnerstag 20. September 2007, 21:44

Re: Schwarzer Gürtel in Python

Beitragvon poker » Sonntag 25. November 2007, 21:25

@mitsuhiko:
Erstmal vorweg: Wie kommt es eigentlich, Armin, das du *grundsätzlich* erstmal alle meine Posts als negativ auffast? Das liest sich nämlich auch aus deinen jetzigen Post heraus, da du *pampig* reagierst. Gibt es irgendeinen bestimmten Grund? Gerne könne wir das auch per PM klären. Aber das will ich erstmal geklärt haben.

Dennoch auf deinen Post kurz ein par worte:
mitsuhiko hat geschrieben:@poker: Ich finde es interessant, wie du anderen immer vorwirfst, sich nicht mit Ruby zu beschäftigen.
Wo werfe ich hier, oder habe ich jemals vorgeworfen das jemand sich nicht mit Ruby beschäftigt?! Mal ernsthaft, Armin. Bleibt doch jedem selber überlassen ober er sich mit Ruby beschäftigen möchte. Oder kling das hier wie ein Vorwurf? Zeig mir das mal bitte.

mitsuhiko hat geschrieben:Fakt ist, dass Ruby Blöcke in Python nicht funktionieren, weil wir eine Syntax haben, die auf Einrückung basiert. Das with Statement „hätte“ in die Richtung gehen können, ist es aber nicht.
Das mag sein und glaube ich dir mal an der stelle, aber dennoch dürfte doch folgende Frage erlaubt sein oder?

In wiefern verhindert das die Einrückung? Ich sehe da kein Problem.

mitsuhiko hat geschrieben:Du darfst gerne Ruby nutzen, niemand hält dich davon ab.
Das ist wider eine deiner negativ gefärbten Aussagen :/ Wo habe ich das behauptet? Wann habe ich das behauptet? Warum sollte ich sowas behaupten?

Wenn ich dich richtig verstehe, wirfst du mir vor das ich in einem Python Forum ab und an Ruby in den Mund nehme und euch vorwerfe das ihr Ruby nicht nutzt? Oder um was geht es dir? Sry, ich werde aus deinen Posts nicht schlau.

Fakt ist, ich liebe Ruby **und** Python (und Python sogar noch mehr), sonst würde ich ja kaum mit Python Programmieren.

Naja...wie dem auch sei...


birkenfeld hat geschrieben:Dass Pythons `with` mit Rubys Blöcken nicht verglichen werden kann, sollte jedem hier klar sein (sonst sollte er sich nochmal PEP 343 anschauen ;)).
Das ist klar. Du, Reinhold, und Armin habt den Stein angestoßen in euren vorherigen Post, und ich habe darauf geantwortet.

birkenfeld hat geschrieben:
poker hat geschrieben:IMO ist, dass viele Pythonistas Ruby nicht nur wegen den vielen einsatz von regexes nicht mögen, sondern weil denen auch der sehr kompakte (Um nicht zu sagene stark komprimiert :D) code unbegreiflich erscheint, der IMO von den vielen Einsatz der Blöcke resultiert. -- Zumindest kommt es mir so vor. Ich habe halt immer diesen eindruck wenn ich mit ein par pythonistas rede die sich mit ruby **nur** oberflächlich beschäftigt haben.

Für so dumm würde ich jetzt die Pythonistas nicht halten, dass sie Rubys Blöcke nicht verstehen.
Das war auch nicht meine Aussage und habe ich auch nicht gemeint.


birkenfeld hat geschrieben:Ich halte first-class-Funktionen hier durchaus für ausreichend, und vor allem, mit Pythons Syntax vereinbar.
Ja, ist halt ein anderes Konzept und bietet eine andere Herangehensweise. Hat aber mit Ruby-Blöcken genau soviel am Hut wie `with` ;)

first-class-functions haben halt eine andere Expressivität als Ruby-Blöcke. Beide Konzepte erfordern eine andere mentale Herangehensweise, da es total komplett andere Konzepte sind. Beide, wenn richtig angewendet, sind aber in ihrer Ausführung Edel, Elegant, Perfekt, ...

Beide Konzepte in einer Sprache vereint, währe, zumindest für mich, das Höchste :) Kannst mich gerne für durchgeknallt halten...

Ich wüste persönlich auch nicht, warum es nicht gehen sollte beide Konzepte in Python zu haben. -- Das first-class-functions in Ruby (wegen dem Objektsystem.) nicht möglich ist, ist klar. Aber weshalb Blöcke in Python nicht gehen, müsstest du mir erklären. (Ja, Armin sagte schon wegen der Einrückungen, aber was genau verhindert das?)

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot], r.barrios