KBD

Keith Devens .com

Sunday, October 12, 2008 Flag waving
"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 aggregatorLorie at PoliPundit on the bias upon bias surrounding the CBS memo report →

Daily link icon Monday, January 10, 2005

Bram Cohen on "Great Programmers"

Bram Cohen on Great Programmers, via Phillip.

← lilina news aggregatorLorie at PoliPundit on the bias upon bias surrounding the CBS memo report →

Comments XML gif

G wrote:

"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.

∴ G | 11-Jan-2005 1:44am est | #6815

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?).

Keith | 11-Jan-2005 2:16am est | http://keithdevens.com/ | #6816

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#.

∴ G | 11-Jan-2005 2:43am est | #6817

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.

Keith | 11-Jan-2005 2:54am est | http://keithdevens.com/ | #6818

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.

∴ G | 11-Jan-2005 3:37am est | #6819

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.

Keith | 14-Jan-2005 7:03am est | http://keithdevens.com/ | #6841

Feel free to post a comment below. Please see my comment policy.

Formatting Rules (No HTML):

  • **bold**, *italic*, _underlined_, --strikeout--
  • "text"="url" creates a link, and URLs are auto-highlighted
  • Blockquote: Like e-mail, begin paragraph with > (greater-than sign)
  • Lists: begin paragraph with *,-, or + (unordered), or # (ordered)
  • Code block: ?!code:language=perl|php|sql|javascript|etc.{\n}...{\n}?!/code

:
(will be your IP address if blank)
: (optional)
(Will not be shown on site)

: (optional)
:

October 2008
SunMonTueWedThuFriSat
 1234
567891011
12131415161718
19202122232425
262728293031 



RSS feed RSS feed for Keith's Weblog
Atom feed Atom feed for Keith's Weblog
Weblog archive
Recent comments
  on 7 posts

Recent comments XML

I hate PHP

Elliot Anderson,

Dude!! You the​man! The reverse replacement for​array_u...

Alex Ndungu: Oct 11, 1:35am

Call a function from a string in Python

?!code:
some_object.__getattribute​__('method_name')()
?!/code

is​the s...

Patrick Corcoran: Oct 8, 3:53pm

Spider solitaire

I have won 185 games of Spider​Solitaire at the "Difficult" level.​ What is...

75.179.28.113: Oct 8, 12:42pm

Sed one-liners

Hi.

I wanted to let you know​that I wrote an article "Famous Sed​One-Lin...

Peteris Krumins: Oct 8, 3:05am

Timesheet Calculator

Hadn't seen it before now, but my​company already uses a time​tracking prog...

Keith: Oct 7, 10:44am

Girls, please don't get breast implants

Hey everyone, 

I am new to this​blog and I have enjoyed reading all​your...

Sarah.M.: Oct 6, 9:45am

Generated in about 0.192s.

(Used 8 db queries)

mobile phone