Keith Devens .com |
Sunday, October 12, 2008 | ![]() |
| "Child," said the Voice, "I am telling you your story, not hers. I tell no one any story but his... – C.S. Lewis (The Horse and His Boy, ch 11) | ||
|
| ← lilina news aggregator | Lorie at PoliPundit on the bias upon bias surrounding the CBS memo report → |

G wrote:
Keith (http://keithdevens.com/) wrote:
Subversion seems to be a good replacement for CVS, as it solves some of its problems. That's primarily how it markets itself too, as a replacement for CVS. I've seen lots of people, however, criticize some of Subversion's architectural choices. As for Python, have you just not used it, or you've used it and don't like it (compared to?... Ruby, Smalltalk, Perl?).
G wrote:
I did recently notice that Subversion seemed to be losing all changes to files when I renamed them. Figured maybe I was doing something wrong, there was a bug, but it's disturbing that it appears it's the Subversion developers' fault.
I've read a lot of Python's docs and played around with Python. I liked the powerful library it seemed to have, but CPAN is probably much more extensive. And I didn't like the space indentation, its global functions when it claims to be an object oriented language, the funky, awkward names of vars, functions, etc., and the fact that it's interpreted so it doesn't offer any performance advantages. I just didn't see anything it really offered over PERL (well, maybe better OOP) or PHP (well, maybe its library). I've checked out Ruby too and think I like its syntax better, but I hear Ruby's library has a ways to go. Python just seems like another scripting language to me and I don't know why several people seem to think it's so much better. I'm kind of tired of them all and am looking more toward Java and C#.
Keith (http://keithdevens.com/) wrote:
the fact that it's interpreted so it doesn't offer any performance advantages
It's not strictly interpreted -- it uses the same model as Perl and every other modern scripting language and is compiled to byte code first. Actually, one of Python's niches is in places like NASA, ILM, and Google doing high performance analysis. Python happens to have some very fast extension libraries available for that stuff.
In any case, I'd recommend you take a deeper look at Python -- I think it's an excellent language.
G wrote:
Hmm, maybe - can you give specific reasons why you think it's an excellent language? I'm not sure what I'd use it for - probably for short-ish utilitarian scripts I currently write in Perl, PHP, and bash/csh. As for web stuff, I think I'm more interested in using Java/JSP/Struts (or maybe C# and .Net/Mono/dotgnu) instead of any of the scripting languages.
Keith (http://keithdevens.com/) wrote:
G, sorry for the delay in responding.
Re: Python: First of all, don't worry about its speed or its power. Like I mentioned, it's used by lots of big places like Google and NASA, and anything really speed critical can of course be written in C. I get the impression that its extension capabilities are much nicer than Perl's, by the way, which are widely acknowledged to be a bit of a mess.
Also, don't focus too much on surface syntax, or its slightly strange OO -- for instance, that you have to type "self" everywhere, and that some surface syntax is functional rather than OO (such as using things like len("foo") rather than "foo".length). Speaking of syntax, once you start using its indentation-based block structure it really grows on you.
Yes, Python's a scripting language in the same vein as Perl and Ruby (I don't mention PHP because I generally wouldn't use PHP for anything but web pages). They can all do a lot of the same things. Largely it's a matter of what you're comfortable with, and lots of people, myself included, find Python a very comfortable language to work in. Its clean syntax also helps it to be very maintainable. Its excellent syntax/operator overloading is one of the best parts of the language, and it's one of the reasons Python has some of the easist to use XML libraries.
For a small script that uses a bunch of regular expressions to do something with the lines of a file I'd probably whip out my Perl. But for anything larger I'd turn to Python by default (I also try to stay almost completely away from OO in Perl). I wouldn't put it in the same category as Java and C#, of course, and I think that's a good thing. Ultimately, use what you're comfortable with and what has the libraries you need. My point is just to say not to dismiss Python so easily. I'd say it's my favorite language.
Feel free to post a comment below. Please see my comment policy.
Formatting Rules (No HTML):
Generated in about 0.192s.
(Used 8 db queries)

"Great programmers" use Python? I really don't understand the attraction of that language.
I wasn't aware of the negative opinions of Subversion. I've used it and CVS extensively and like Subversion better.