Anzeige:
Ergebnis 1 bis 10 von 10

Thema: Allerhand Fragen zu Python

  1. #1
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    719

    Allerhand Fragen zu Python

    Ich bin gestern beim Blättern in ein paar LinuxEnterprise auf einen Artikel über RAD-Development mit
    Python und Glade gestoßen. Das fand ich sehr interessant, habe ich doch schon unter Windows mit Visual Basic
    viele kleine Programme geschrieben, für die eine echte C++ Entwicklung zu aufwendig gewesen wäre.

    Also heute morgen die Mandrake CDs reingelegt und alles installiert, was ein py im Namen hat. Da sind ja
    dann schon schöne Bindings für GTK und so dabei. Bevor ich jetzt aber anfange, mich da etwas mehr mit zu
    beschäftigen, wollt ich mal die alten Hasen fragen, ob das, wofür ich mir Python gedacht habe, das richtige
    ist:

    1: Python gegen Ruby
    Es gibt auch noch Ruby, was meiner Auffassung nach noch mehr gelobt wird, als Python. Da das aber die neuere
    Sprache ist, wird es wohl weniger Bindings geben. Auch dürfte die Ausführungsgeschwindigkeit einfach wegen
    weniger Optimierungszeit etwas langsamer sein. Was glaubt ihr, hat die größere Zukunft? Python scheint ja
    (noch?) weiter verbreitet zu sein, etwa in Karamba oder Blender

    2: Bindings
    Da ich eigentlich KDE Nutzer bin, bin ich natürlich besonders an Bindings für Qt interessiert. Für Qt 2 habe
    ich schon Bindungs für Python gesehen. Wie sieht die Unterstützung von Qt & KDE 3 aus? Wird da Ruby evtl.
    besser unterstützt?

    3: OpenGL
    Bei den Beispielen für pygtk ist auch ein Beispiel dabei, wo OpenGL genutzt werden soll. Ich hab das noch
    nicht ausprobiert, weil bei Mandrake 9.1 schlauerweise zwar py-gtkglarea aber nicht py-opengl dabei ist.
    Hat das schonmal jemand ausprobiert und wenn ja, ist das benutzbar?

    4: Ich hab angefangen, mal die Dokumentation zu Python zu lesen. Die Sprache gefällt mir an sich sehr gut.
    Ich wollt gleich anfangen, was mit Glade und Python zu machen, hab aber das nicht gefunden, was ich schon
    bei Perl am Anfang nicht gefunden hatte, nämlich, wie startet man ein anderes Programm? exec oder sys scheint
    es ja nicht zu sein.

    5: Ideale Lehrsprache?
    Nichts, was mich bei meiner Entscheidung beeinflussen würde, aber nach allem, was ich gesehen habe,
    is Pyton doch eine tolle Sprache, um Programmieren Leuten beizubringen, die jetzt nicht haupthobbymäßig
    am Rechner sitzen. Bei uns in der Schule versucht ein Lehrer, Java den Schülern beizubringen. Und noch dazu
    mit so einer Krüppelgrafikapi namens Turtle. Wir haben noch nicht gelernt, was eine Klasse ist und manchmal
    mache ich mir einen Spaß daraus, Wörter zu verwenden, die der Lehrer nicht gehört hat, "continue" etwa.
    Ist das Standard im deutschen Informatikunterricht? Wenn das so weitergeht, wird mein mündliches Abitur
    in Informatik ein Spaß. Dürfte man anstatt Java auch auf Python schulen? Ich hab mal bei uns an der
    Tafel Quelltext in Prolog gesehen "Haben sie das schonmal gesehen Herr Jäger? Das ist eine Sprache der
    künstlichen Inteligenz"

    6: Ein sehr spezielles Problem
    Ich mache öfters Webdesign, bei dem ich Grafiken benutze, die ein Programm schreibt, einfach weil es nicht
    zuzumuten ist, 4000 Rechtecke zufällig in einem Bild zu verteilen. Da hab ich bisher ein Programm mit C++
    geschrieben, wo dann eine SVG rauskommt, die ich in Sodipodi geladen habe, um sie von dort aus als PNG
    zu speichern. Der Nachteil daran ist, das ich für jedes Bild ein Programm schreiben muß, was kompiliert und
    debuggt werden muß. Außerdem habe ich Sodipodi schon mehr als einmal mit meinen SVGs überfordert.
    Jetzt hatte ich mir überlegt, da vielleicht ein Programm zu schreiben, wo oben eine
    Zeichenfläche ist, und unten ein Eingabefeld für Python. Sollte kein Problem sein. Ich hab mir Gnome-Canvas
    und python-imaging angesehen. Grundlegende Zeichenfunktionen sind vorhanden, aber ich hab nicht gesehen,
    das es evtl. die Möglichkeit gibt, highlevel-Zeichenfunktionen einzusetzen, wie etwa anti-aliased Linien, usw.
    Wenn ich das noch selber programmieren muß, sollte ich wohl doch lieber C++ nehmen. Oder steht evtl. der
    Canvas von Sodipodi in Python zur Verfügung?

    Ich hoffe, mir wird auch trotz vielleicht etwas "dummer" Fragen geholfen.
    Vielen Dank im vorraus

  2. #2
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477

    Re: Allerhand Fragen zu Python

    Original geschrieben von axeljaeger
    I1: Python gegen Ruby
    Es gibt auch noch Ruby, was meiner Auffassung nach noch mehr gelobt wird, als Python. Da das aber die neuere
    Sprache ist, wird es wohl weniger Bindings geben. Auch dürfte die Ausführungsgeschwindigkeit einfach wegen
    weniger Optimierungszeit etwas langsamer sein. Was glaubt ihr, hat die größere Zukunft? Python scheint ja
    (noch?) weiter verbreitet zu sein, etwa in Karamba oder Blender
    Ich kenne beide Sprache nur aus einfachen Tutorials.
    Ruby scheint besser mit Regulären Ausdrücken arbeiten zu können, soll ziemlich an Perl herankommen.
    Außerdem ist es flexibler bei der Blockstruktur. In Python braucht man korrekte Einrückung, das ist IMHO ziemlich fehlerträchtig.


    2: Bindings
    Da ich eigentlich KDE Nutzer bin, bin ich natürlich besonders an Bindings für Qt interessiert. Für Qt 2 habe
    ich schon Bindungs für Python gesehen. Wie sieht die Unterstützung von Qt & KDE 3 aus? Wird da Ruby evtl.
    besser unterstützt?
    Python:
    http://mats.gmd.de/mailman/listinfo/pykde
    http://www.riverbankcomputing.co.uk/
    http://www.xs4all.nl/~bsarempt/python/resources.html

    Ruby: http://groups.yahoo.com/group/ruby-qt

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  3. #3
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    719
    Hm, bei RubyQt muß man wohl erstmal in die Gruppe und damit sich bei Yahoo registrieren. Ich finds komisch, das nicht rauszukriegen ist, wie man ein Programm mit Python startet

  4. #4
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Python ist ein Interpreter wie Bash oder Perl.

    Also am Anfang des Script ein
    #!/usr/bin/python

    und das Script exekutierbar machen oder

    #> python script.py

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  5. #5
    Registrierter Benutzer
    Registriert seit
    08.07.2002
    Beiträge
    719
    Wir reden aneinander vorbei: Wie man das Skript startet, ist schon klar, aber ich will aus dem Skript raus ein anderes Programm starten, evtl. ein Frontent für ein Konsolebtool mit Python und PyQt machen

  6. #6
    Registrierter Benutzer
    Registriert seit
    25.01.2003
    Beiträge
    222
    steht alles in der docu
    bzw. wenn du mit den streams was machen möchtest:
    gruss
    Arthur

  7. #7
    Registrierter Benutzer
    Registriert seit
    28.07.2001
    Ort
    Wien
    Beiträge
    90

    Re: Allerhand Fragen zu Python

    Original geschrieben von axeljaeger
    1: Python gegen Ruby
    Es gibt auch noch Ruby, was meiner Auffassung nach noch mehr gelobt wird, als Python. Da das aber die neuere
    Sprache ist, wird es wohl weniger Bindings geben. Auch dürfte die Ausführungsgeschwindigkeit einfach wegen
    weniger Optimierungszeit etwas langsamer sein. Was glaubt ihr, hat die größere Zukunft? Python scheint ja
    (noch?) weiter verbreitet zu sein, etwa in Karamba oder Blender
    naja, mir persönlich gefällt ruby besser, aber das liegt wohl im auge des betrachters. ausgereifter düfte sicher python sein, ruby hat dafür einige recht nette features. im prinzip düfte es aber egal sein, und von den bindings her hab ich null plan.

    Original geschrieben von axeljaeger
    5: Ideale Lehrsprache?
    Nichts, was mich bei meiner Entscheidung beeinflussen würde, aber nach allem, was ich gesehen habe,
    is Pyton doch eine tolle Sprache, um Programmieren Leuten beizubringen, die jetzt nicht haupthobbymäßig
    am Rechner sitzen. Bei uns in der Schule versucht ein Lehrer, Java den Schülern beizubringen. Und noch dazu
    mit so einer Krüppelgrafikapi namens Turtle. Wir haben noch nicht gelernt, was eine Klasse ist und manchmal
    mache ich mir einen Spaß daraus, Wörter zu verwenden, die der Lehrer nicht gehört hat, "continue" etwa.
    Ist das Standard im deutschen Informatikunterricht? Wenn das so weitergeht, wird mein mündliches Abitur
    in Informatik ein Spaß. Dürfte man anstatt Java auch auf Python schulen? Ich hab mal bei uns an der
    Tafel Quelltext in Prolog gesehen "Haben sie das schonmal gesehen Herr Jäger? Das ist eine Sprache der
    künstlichen Inteligenz"
    naja, das ist meist recht unterschiedlich. während jemand in einer klasse Visual Basic unterrichtet, wird in der nebenklasse C und in der nächsten Java unterrichtet. Oder C++. Das hängt alles vom Lehrer ab. Leider gibts halt irgendwie einen Mangel an kompetenten Informatiklehrern (bei uns gott-sei-dank nicht sooo schlimm), und ein einheiltiches Konzept ist weder in den Stundentafeln noch in den Ministeriumswischen enthalten. Es spricht auch nix dagegen Ruby, Python, C#, Perl, PHP, Cobol, Pascal, Modula, Whitespace () oder sonstwas zu unterrichten, im Prinzip geht es ja mehr um die Vermittlung der KONZEPTE, und die sind ja beim Großteil der Sprachen gleich (zumindest innerhalb der Klassen strukturierte Programmierung, objektorientierte Programmierung und logikorientierte Programmierung). Ist schon richtig das Prolog für KI verwendet wird, ich würd das jedoch nicht als Programmiersprache bezeichnen (auch wenn es Leute die sich damit beschäftigen durchaus so nennen), für mich ist das mehr Brainfuck

    Original geschrieben von axeljaeger
    6: Ein sehr spezielles Problem
    Ich mache öfters Webdesign, bei dem ich Grafiken benutze, die ein Programm schreibt, einfach weil es nicht
    zuzumuten ist, 4000 Rechtecke zufällig in einem Bild zu verteilen. Da hab ich bisher ein Programm mit C++
    geschrieben, wo dann eine SVG rauskommt, die ich in Sodipodi geladen habe, um sie von dort aus als PNG
    zu speichern. Der Nachteil daran ist, das ich für jedes Bild ein Programm schreiben muß, was kompiliert und
    debuggt werden muß. Außerdem habe ich Sodipodi schon mehr als einmal mit meinen SVGs überfordert.
    Jetzt hatte ich mir überlegt, da vielleicht ein Programm zu schreiben, wo oben eine
    Zeichenfläche ist, und unten ein Eingabefeld für Python. Sollte kein Problem sein. Ich hab mir Gnome-Canvas
    und python-imaging angesehen. Grundlegende Zeichenfunktionen sind vorhanden, aber ich hab nicht gesehen,
    das es evtl. die Möglichkeit gibt, highlevel-Zeichenfunktionen einzusetzen, wie etwa anti-aliased Linien, usw.
    Wenn ich das noch selber programmieren muß, sollte ich wohl doch lieber C++ nehmen. Oder steht evtl. der
    Canvas von Sodipodi in Python zur Verfügung?
    hm, vielleicht eher ein fall für libpng oder sowas, weil du kannst ja aus c++ genausogut png speichern - andererseits ist das wohl eine "fade" lösung
    Diese Message wurde erstellt mit freundlicher Unterstützung eines frei-
    laufenden Pinguins aus artgerechter Freilandhaltung. Er ist garantiert
    frei von Micro$oft'schen Viren.

  8. #8
    Registrierter Benutzer
    Registriert seit
    03.07.2002
    Beiträge
    21
    Moin!

    Ich stand letztens auch vor der Frage: Python oder Ruby. Ich hab mich für Ruby entschieden, weil es oft als besser konzeptiniert bezeichnet wird (Die Autoren von "The Pragmatic Programmer" haben z. B. mal gesagt, Ruby würde Python innerhalb von 5 Jahren überholen). Ausserdem hat mir gefallen, dass, anders als bei den meisten objekt-orientierten Sprachen, wirklich alles ein Objekt ist und sowas anzugucken macht doch einfach Spass:
    Code:
    "gin joint".length	# Ergibt 9
    "Rick".index("c")	# Ergibt 2
    -1942.abs		# Ergibt 1942
    
    # Gibt zehn mal hintereinander "Hello, world!" in einer neuen Zeile aus
    10.times {
            # Ersetze alle Leerzeichen (' ') durch Komma mit Leerzeichen (', ')
            # und speichere in string1
            string1 = "Hello world".gsub(" ", ", ")    
    
            # Hänge "!" an string1
            string1 += "!"
            
            # Ausgabe der Variable string1, gefolgt von einem Zeilenumbruch
            puts string1                               
    }
    Als größten Nachteil würde ich werten, dass es mit Dokumentation noch nicht so gut aussieht. Es gibt zwar zwei Bücher über Ruby im Netz (auf deutsch), aber ich hab bisher keine ordentliche Referenz gefunden (so wie in PHP *träum*), und auch sonst ist halt vieles Englisch. Werde mich aber noch durchbeissen (hab leider noch nicht so viel gemacht in Ruby).

    Gute Linksammlung: http://www.wikiservice.at/dse/wiki.cgi?RubyResourcen

    iGEL

  9. #9
    Registrierter Benutzer Avatar von oracle2025
    Registriert seit
    18.03.2002
    Beiträge
    136

    Re: Re: Allerhand Fragen zu Python

    Original geschrieben von anda_skoa
    Ich kenne beide Sprache nur aus einfachen Tutorials.
    Ruby scheint besser mit Regulären Ausdrücken arbeiten zu können, soll ziemlich an Perl herankommen.
    Außerdem ist es flexibler bei der Blockstruktur. In Python braucht man korrekte Einrückung, das ist IMHO ziemlich fehlerträchtig.
    Also ich hab schon einige Progrämmchen mit Python geschrieben, und finde nicht das die korrekte Einrückung ein Problem wäre, im Gegenteil, dadurch bleibt das Programm meistens schön übersichtlich.

    Ausserdem kann man, wenn man mal eben schnell was ausprobieren will, ne interaktive Python console starten, und gleich alles on the fly ausprobieren.

    In einer Schule hier in der nähe, wird übrigens auch Python im Informatikunterricht verwendet, und ich glaub das ist gar keine schlechte Wahl, denn das gleich interaktiv ausprobieren ist am Anfang wesentlich weniger frustierend als das 'im Editor eingeben'->kompilieren->ausführen

    mit Ruby hab ich allerdings nie was gemacht.
    Niemand dringt hier durch und
    gar mit der Botschaft eines Toten.
    Du aber sitzt an Deinem Fenster und
    erträumst sie Dir, wenn der Abend kommt.

  10. #10
    Registrierter Benutzer
    Registriert seit
    03.07.2002
    Beiträge
    21
    Moin!

    Ne interaktive Konsole gibts auch für Ruby (irb), und die Aussage über die nicht so tolle Doku muss ich zurücknehmen: Unter www.rubycentral.com/book/builtins.html sind alle Klassen aufgelistet, und unter www.selfruby.de entsteht auch eine deutsche Referenz. Trotzdem denke ich, dass Python durch die größere Verbreitung hier noch besser ist, und es wird mit Sicherheit auch mehr Module geben. Aber da gibt es auch eine ganze Reihe für Ruby: Tk, Gtk+, Gnome 2 oder KDE, Webframeworks, CGI und sicher noch vieles mehr.

    Eine schlechte Wahl ist sicher keins von beiden; ich würd mich wohl wieder für Ruby entscheiden. Aber wenn ich das gut kann, werde ich mir wohl auch mal Python anschauen...

    iGEL

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •