Posts Tagged ‘glisten’
Python is Easy but Programming is Hard
A month or so ago I started a music player project. It didn’t take me long to hit a rather major stumbling point. And that was the end of the project. Or at least until two days ago when I made the effort to Make it Work™. Since then everything seems to have just worked for me without much head scratching. That’s PyGTK (including Glade), GStreamer, SQLite, Mutagen, PyNotify, etc. And just to prove it, here’s my first screenshot (dedicated to the music I’ve been listening to whilst programming this weekend!).

But this is where the hard bit starts. Python may be easy, but good programming is hard. I have lots of dreams for how Glisten will eventually work (the picture is just me playing around with the libraries). The difficulty is being able to translate those ideas into a codebase that is organised and useful.
Programming with Python
I’ve always had an interest in programming. I started with PHP, because prior to that I had learnt HTML. Also this was back in ‘the Windows days’ so I would upload my work to a free web host without the effort of having to download and install a program to compile and then run my code. Of course finding a decent free webhost was never easy!
Anyway, PHP (with MySQL as a database) is great for developing websites. However it is not widly used for developing desktop applications – and thats what I decided I wanted to have a go at.
Enter Python. It does not require compiling (similar to PHP); allows for object orientated programming (something I hear is the future); has an unusual clean syntax {no more curly braces} and seems to be very popular for linux desktop programming.
So, I installed it (aptitude install python – although you’ll probably find it’s installed already on your machine).
The best thing I’ve found about it, is that you are able to use the libraries available for it. In particular PyGTK (for Gnome/GTK style programs) and GStreamer (for sound output – as used by Rhythmbox, Banshee, Totem, etc).
So to help me learn python I’m creating a media player. I have some ideas which are rather different to the current media players available, so watch out! Currently it does very little (I mean practically nothing), but it’s being a great learning experience for me. Perhaps I’ll even post a few tutorials here!
