Seite 1 von 2
Tcl/Tk 8.5 erschienen
Verfasst: Freitag 21. Dezember 2007, 14:26
von BlackVivi
www.tcl.tk hat geschrieben:The 8.5 release was a long time in development, and brought about several good enhancements to Tcl/Tk.
Highlights of Tcl 8.5
- Speed: 8.5 now runs 10% faster than 8.4 with bytecode improvements, object caching and reduced memory usage.
Bignums: Tcl now supports arbitrary-precision integers, which improves math operations on large integers.
Safer interps: Tcl's powerful safe interpreter mechanism now has improved control of time and command limits in slave interpreters.
clock command: More robust implementation of command for specifying time, with significant l10n and i18n improvements.
dict command: New data structure that allows access to data by value rather than a variable name, which is substantially faster.
Additional improvements: Faster list search, new and improved mathematics procedures, anonymous procedures, new ways to package Tcl extensions, Tcl-level custom channel types, file and line location information for each command, and more.
Highlights of Tk 8.5
- New modern theming engine: New and complementary widgets that make use of platform-specific theming on Mac OS X and Windows to better fit in with those environments, and feature an improved look and feel under X11. (screenshots)
New widgets: Part of the themed widget set, Tk now has core notebook, combobox, treeview and progressbar widgets.
text widget: Smooth scrolling, widget peering, and improved procedures for counting and replacing text.
Font rendering: Now uses anti-aliased text under X11, and a more modern text engine (ATSUI) on Mac OS X.
Additional improvements: Window transparency, new fullscreen option for windows, enhancements to specific widgets and window layout, and more.
Ob sich das auf Python auswirkt :3? (Sollte es ja. Tkinter is doch auch nur'n Wrapper, oder hab ich das falsch verstanden?)
Verfasst: Freitag 21. Dezember 2007, 15:42
von Leonidas
Ja, der ganze Tk-Teil wirkt sich positiv auf Tkinter aus. Scheint als hätten die inzwischen auch festgestellt, das dass unter Unix grausig ausschaut. Und wenn man mal nachdenkt was das ist und überlegt, wie lange das schon in anderen Toolkits implementiert ist, kommt man ins grübeln.
Verfasst: Freitag 21. Dezember 2007, 15:58
von BlackVivi
Ich hoff' mal, dass landet bald in ArchLinux Testing, damit ich die Ergebnisse begutachten kann :3 Bin gespannt, ob es ein wenig nativer aussieht....
Verfasst: Freitag 21. Dezember 2007, 16:11
von Leonidas
Dann musst du aber Python gegen Tk 8.5 kompilieren lassen und ich weiß nicht wie das mit Tk ist, ob man da nicht für jede Version Tkinter einzeln anpassen muss.
Verfasst: Freitag 21. Dezember 2007, 16:21
von BlackVivi
Leonidas hat geschrieben:Dann musst du aber Python gegen Tk 8.5 kompilieren lassen und ich weiß nicht wie das mit Tk ist, ob man da nicht für jede Version Tkinter einzeln anpassen muss.
Es gibt'ne Menge mehr Befehle, aber ich weiß nicht ob sich die API allgemein geändert hat. Ich schätz mal schon, dass es zu'ner Anpassung kommen wird... Früher oder später. Wieso muss man es gegen eine neue TK Version kompilieren? Ich dachte es wrapt sozusagen nur um eine C Bibliothek, die TCL/TK aufruft.
Verfasst: Freitag 21. Dezember 2007, 16:30
von Leonidas
BlackVivi hat geschrieben:Wieso muss man es gegen eine neue TK Version kompilieren? Ich dachte es wrapt sozusagen nur um eine C Bibliothek, die TCL/TK aufruft.
Siehe
hier. Die C-Bibliothek heißt `tkinter` und wird von Python gestellt.
Verfasst: Freitag 21. Dezember 2007, 16:37
von BlackVivi
Leonidas hat geschrieben:BlackVivi hat geschrieben:Wieso muss man es gegen eine neue TK Version kompilieren? Ich dachte es wrapt sozusagen nur um eine C Bibliothek, die TCL/TK aufruft.
Siehe
hier. Die C-Bibliothek heißt `tkinter` und wird von Python gestellt.
Achso, dankeschön :3
Verfasst: Freitag 21. Dezember 2007, 17:36
von lunar
Leonidas hat geschrieben:Und wenn man mal nachdenkt was das ist und überlegt, wie lange das schon in anderen Toolkits implementiert ist, kommt man ins grübeln.
Tatsächlich? Ich muss nicht mehr grübeln, ich bin schon lange der Überzeugung, dass Tk in die Tonne gehört. Daran hat sich auch mit diesem neuen Release nichts geändert.
Wirklich neu ist nämlich nichts: Theme Engines, Baumansichten, Fortschrittsbalken und Kantenglättung für Text findet man in allen wichtigen modernen GUI Toolkits (wxWidgets, Qt, Gtk).
Damit hat Tk zumindest auf manchen Gebieten den Anschluss an moderne Toolkits geschafft. Es bleiben imho immer noch Schwächen im Design, die dem Einsatz von Tk entgegenstehen.
Verfasst: Freitag 21. Dezember 2007, 18:15
von Leonidas
lunar hat geschrieben:Wirklich neu ist nämlich nichts: Theme Engines, Baumansichten, Fortschrittsbalken und Kantenglättung für Text findet man in allen wichtigen modernen GUI Toolkits (wxWidgets, Qt, Gtk).
Doch, doch, es ist neu und das ist ja gerade das erstaunliche - eben neu in Tk. Das die anderen das nicht schon seit langem können ist mir -ahem- durchaus bekannt.
Verfasst: Freitag 21. Dezember 2007, 18:48
von lunar
Leonidas hat geschrieben:lunar hat geschrieben:Wirklich neu ist nämlich nichts: Theme Engines, Baumansichten, Fortschrittsbalken und Kantenglättung für Text findet man in allen wichtigen modernen GUI Toolkits (wxWidgets, Qt, Gtk).
Doch, doch, es ist neu und das ist ja gerade das erstaunliche - eben neu in Tk.
Ich habe die Sache nicht aus dem Blickpunkt eines Tk Nutzers betrachtet, für welche dies alles zweifellos sensationell ist. Für mich als Qt Nutzer (fast schon Fan

) sind die jetzt in Tk eingeführten Features keineswegs "neu", sondern im Gegenteil altbekannt. Auf diese Tatsache wollte ich nochmals hinweisen.
Das die anderen das nicht schon seit langem können ist mir -ahem- durchaus bekannt.
Darum ging es doch gar nicht. Ich weiß, dass dir das bekannt ist

Mir ging es darum heraus zu stellen, dass die ganze Sache eigentlich absolut unspektakulär ist, wenn man sie aus der Perspektive eines anderen GUI Toolkits betrachtet. Was andere schon lange können, kann Tk jetzt eeendlich auch. Nichts, was geeignet wäre, mich zu beeindrucken. Im Gegenteil, es lässt in mir noch mehr Zweifel an Tk aufkommen.
Verfasst: Freitag 21. Dezember 2007, 19:45
von pyStyler
juhu lunar in action

Verfasst: Freitag 21. Dezember 2007, 19:54
von lunar
pyStyler hat geschrieben:juhu lunar in action

Tja, ich kann eben nicht aus meiner Haut
(Lass uns im Interesse der anderen User diesmal keine Diskussion führen. Ich weiß bereits, dass du Tk toll findest

)
Verfasst: Freitag 21. Dezember 2007, 19:59
von pyStyler
lunar hat geschrieben:pyStyler hat geschrieben:juhu lunar in action

Tja, ich kann eben nicht aus meiner Haut
(Lass uns im Interesse der anderen User diesmal keine Diskussion führen. Ich weiß bereits, dass du Tk toll findest

)
Ok diesmal nicht.
Gruss
pyStyler
Verfasst: Freitag 21. Dezember 2007, 20:51
von schlangenbeschwörer
lunar hat geschrieben:
(Lass uns im Interesse der anderen User diesmal keine Diskussion führen. Ich weiß bereits, dass du Tk toll findest

)
Ich auch!

Verfasst: Samstag 22. Dezember 2007, 22:04
von Costi
@lunar
ich weis nicht wie viel code du in QT fuer ein "helo world" programm brauchst, aber in Tkinter gehts so:
Code: Alles auswählen
In [1]: from Tkinter import *
In [2]: Label(text="hello world").pack()

Verfasst: Samstag 22. Dezember 2007, 22:47
von HWK
Costi hat geschrieben:@lunar
ich weis nicht wie viel code du in QT fuer ein "helo world" programm brauchst, aber in Tkinter gehts so:
Code: Alles auswählen
In [1]: from Tkinter import *
In [2]: Label(text="hello world").pack()

Naja, ein
sollte man schon noch anhängen.
MfG
HWK
Verfasst: Samstag 22. Dezember 2007, 23:54
von Leonidas
Costi hat geschrieben:ich weis nicht wie viel code du in QT fuer ein "helo world" programm brauchst, aber in Tkinter gehts so:
Code: Alles auswählen
In [1]: from Tkinter import *
In [2]: Label(text="hello world").pack()
Und gleich mal einen Fehler in den zwei Zeilen gemacht - merke: Stern-Imports sollten immer vermieden werden. Auch wenn du das in einem interaktiven Interpreter ausführst und dann hier postest. Irgendwer wird das finden und glauben dass das so richtig ist.
Und "Hello World" als Beispiel für die Features eines Toolkits zu nehmen ist schlichtweg Blödsinn. Was beweist das denn, außer dass "Hello World" in einem Toolkit kürzer zu schreiben ist als im anderen? Das lässt sich genau gar nicht auf andere Sachen übertragen. "Hello World" ist in PyGTK kürzer als in wxPython, trotzdem ist das kein sinnvolles Argument für PyGTK und gegen wxPython.
Das ist so als würde mir jemand sagen, das Ruby besser ist als Python, weil ``puts 'Hello World'`` einen Buchstaben kürzer ist als ``print 'Hello World'``.
Verfasst: Sonntag 23. Dezember 2007, 02:02
von BlackJack
OMG und bei Python 3.0 kommen dann auch noch Klammern dazu. Wir sind verloren.

Verfasst: Sonntag 23. Dezember 2007, 13:39
von lunar
BlackJack hat geschrieben:OMG und bei Python 3.0 kommen dann auch noch Klammern dazu. Wir sind verloren.

Ich glaube, wir müssen doch alle wieder zu PERL wechseln... es heißt ja auch: In der Kürze liegt die Würze

Verfasst: Sonntag 23. Dezember 2007, 16:11
von Costi
Naja, ein
sollte man schon noch anhängen.
muss man nicht im read-eval-loop (oder wie heist das nochmal in python?)
ich glaube aber unter windows schon
und fuer zwei zeilen code schaden sternchen imports wirklich nicht
sicher kann man nicht immer direkt aus der laenge eines "hello world" programms beurteilen ob einE prorgrammiersprache/toolkit *besser* ist als ein anderes. in der regel aber schon
