Tk Verses Gtk(And Python verses Tcl)By Binny V A • Oct 31st, 2007 • Category: Design, Opinion, Review, Scripts
Back when I was using Windows, I searched for some language that would let me create GUI application. I knew C++ – but creating a GUI using C++ was very, very hard. After some searching I found Tcl/Tk – it was perfect. I liked Tk so much that I used it to create GUI in perl programs. And in Ruby. And in Python. I even wrote tutorials for Tcl/Tk and Perl/Tk. Then I discovered Linux. initially I was glad that I did not choose VB – that would mean that I have to throw away all my custom programs. But since I used open languages like Tcl, Perl, Ruby etc, they will run on Linux as well.
But when I actually ran the programs in Linux, I got the shock of a lifetime. The applications I created looked bad – really bad…
I still use many Tk programs – but because of the looks issue, I decided to stop using Tk for my new programs. So I decided to try GTK. I even created a small application using PyGTK(my first) to view the harddisk space usage in Linux – Frees.
It was a very simple application – all I had to do is run the ‘df’ command, parse its output, and display a small table using that data. I was expecting around 100, 150 lines of code at the most. But after I created the app, I have 500+ lines of code.
PyGtk is still the most recommended binding for Gtk. A lot of programs in Linux is written using PyGtk. So naturally there are a few advantages for using it…
- It will be the more ‘road-tested’ binding.
- Many system will have it installed by default.
- Bigger community – so…
- more support
- more examples
- more tutorials
One the other hand, I have to write more code.
If it is a private script – only useful for myself, then I will use Tcl/Tk or Gnometcl. If the script could be distributed, like Frees, then I will use Python GTK.
What about the other options…
Any recommendations for me on which library to use? Please leave it in the comments.