Corey, why on earth should we switch from an entire set of system configuration tools written in Perl to another one written in Python? Just for the sake of Python? Just because there are more Python zealots^Whackers on GNOME than there are Perl ones?
I understand that Ubuntu loves Python, but please: rewriting every tool in Python just for the sake of it is totally useless. What Python gives us over Perl, for system configuration backends? (No, it’s not a rethorical question: I’m serious).
From a perspective of someone who just works with
PHP:
In short: the momentum.
Python is a superior language and general purpose – thats why I will write my next Website with mod_python.
Now there will be a bug in one of the configuration tools – the probability that I can fix it is higher if its written in python than in perl.
As a confirmed Python lover, I still support what you’re saying. There is no need to have change for the sake of change.
That said, would it be possible to write a set of backends in Python (hypothetically)? After all, that way a Python-loving distro could develop Pythonesque-backends while still using the standard g-s-t frontends.
That was precisely Corey’s point – read his blog entry again. :-)
You said it yourself – there are more Python hackers on GNOME than there are Perl ones.
Therefore, having tools available in Python rather than Perl means more people who are familiar with the language and can hack the tools. More hackers means more features faster, and bugs get nailed sooner because there are more eyeballs looking at the code.
In other words, it’s what Pavel said: it’s the momentum.
As a user I don’t really care, but current system tools UI is … Big bunch of partly overlapping menu items is not a convenient way to organise things.
I think there were 2 distinct points in Corey’s post.
1) A rewrite is occuring and its in pyhton (everyone loves python at the moment, whatever I dont think that the language is even that impt)
2) If another group is rewiting it, and everyone can agree that g-s-t needs substancial work instead of pulling in 5 different directions, take the lesser of two evils and work with fedora to at least make the rewrite a team affair. (and so be it that rewrite may just be in python)
Maintainability
okay, seems that I read corey’s blog wrong – sorry corey for jumping at your throat :-)
by the way: I’m not opposed to writing stuff in python; I contributed to the python bindings for gnome, I wrote stuff in pygtk, and I’m even writing python bindings for a library at work. this does not mean that python is a fix for every need – especially if there’s already something working – and I’m really afraid that in this particular case python isn’t buying us anything more than perl.
some answers needed, though:
pavel: but what happens when momentum fades? do we have to re-write the system tools backends each time the ${LANGUAGE_OF_THE_WEEK} gains momentum? what next: rewrite them using ajax? :-)
robin: more eyes does not automagically mean that all bugs are shallow; many python programmers in the wild are novices, and the system tools backend require a certain degree of hacking expertise and knowledge of the system that not many possess.
fraggle: please – I’ve seen horrid code in python, perl, C++, C, pascal and java. it’s the programmer, not the language, that makes code ugly and unmaintainable.
yep, thats the reason why one should avoid inline assembler in c. its not beacause inline assembler would suck, but beacause noone can read it nowerdays.
but I think that it is very unlikley that python will lose momentum, since its very advanced and not limited to a certain area.
“Very advanced and not limited to a certain area”? I heard the same thing about Java 5 years ago, and C++ 10 years before that. And I know people who have said the same about FORTRAN and Algol.
And Python doesn’t even have good optimizing native compilers, or good multi-CPU support, or a great GC, or …
This is not to say I think Python is a bad idea — I don’t — but it’s foolish to think that Python won’t lose momentum. Python is a good incremental improvement on what we had before, but it’s not the last word in programming language design.
I think that the answer to your question is: nothing, even if I prefer writing python I think that if you can understand perl code enougth to rewrite it in python you can update/manage perl code.
People will always have their preferences, and if you are used to one language it can be hard to make the switch to the other. But both have their own strengths and weaknesses, so it makes sense to cover both angles.
I couldn’t have said it better myself Rob. I am partial to Peral myself and rarely use any other codes but it a personal preference. I still try to learn other ways in which to do things though just to keep up with new languages and key elements adaptable with my sites and needs.
Don Lapre Fan
laura@lauraglydaband.com
ww.lauraglydaband.com
I have tried many languages over the years, its what you are used to and happy with i would stick with. Python is a great language for writng in, so is perl, but having used them both i would advise learning python, as it is more improved and better than perl, of course you will have alot of rewriting to do, but thats down to the indivudal what they want to use, if something aint broke…. dont fix it…
I love it – another Python debate. Keep it coming you guys.