[Dev] Re: refcounted

Andi Vajda vajda at osafoundation.org
Thu Oct 28 20:45:38 PDT 2004


> I suspect that pinning is the least of our portability problems moving our 
> code to Java, given our use of

> multiple inheritance,
I suspect that if python supported interfaces, we'd be using multiple 
inheritance of classes a lot less. Java supports interfaces, with multiple 
inheritance.

> dictionaries,
Java collections implement several mapping types, more so than python

> generators
A really cool python feature, java iterators are the closest approximation, 
not even close.

> python packages
Java has packages too, doesn't it ?

> exceptions
Java has exceptions too, although the programming style of letting exceptions 
be thrown and recovered from is discouraged.

> __ methods we override
Yeah, that's a problem for sure, but we don't this too much, do we ? (the 
repository is probably the biggest culprit).

> the difference in argument passing conventions
Java supports overloading of methods, so optional and keyword argument passing 
style can be approximated that way.

> wiring up objects at runtime
Item stamping ? Sure enough, a hard one to do in Java - but not impossible, 
I've seen Java apps generating bytecode on the fly before. Resetting an 
instance's class in Java ? ouch.

Please note, that by no means am I suggesting we port Chandler to Java. 
Personally, my favorite language to program in is Lisp and, these days, python 
is the closest approximation. I would be sad to have to leave it behind.

I'm just using the Java argument as a way to not paint ourselves into a 
python-only corner too much. It's important to keep nimbleness at hand, it 
always comes in handy when you least expect it.

Andi..


More information about the Dev mailing list