Ted Leung on the air
Ted Leung on the air: Open Source, Java, Python, and ...
Ted Leung on the air: Open Source, Java, Python, and ...
Fri, 31 Jan 2003
Prototyping / refactoring
I've noticed something since I've started using Eclipse -- I tend to
refactor my code a lot as I understand it. Eclipse's refactoring
tools take out a fair amount of the pain associated with using a
language like Java for prototyping.
As I've started to play with Python, I find myself reliving some of my
Lisp experience at MIT. I find the Python code to be very succint and
easy to read -- I find that I don't mind the use of space /
indentation as syntax. Since I indented my lisp code all over, so I
find that I am not noticing this at all. The notation that python
provides for lists and maps is one of the things that is making me
very productive. The combination of list comprehensions and slice
notation is very powerful and makes programs shorter. These two
notions are things that Java could benefit from, but there's almost no
chance that we'll see them, because Sun is so committed to not
evolving Java the language. If Java had macros, we could implement
some of this stuff nicely.
One thing I haven't yet gotten used to is the Python object system,
which requires each method to have an explicit self parameter. Having
used Lisp generic functions, this should be no big deal for me, but
having worked mostly in in C++ and Java for the last 7 or 8 years has
kind of braindamaged me. It'll probably take a little time to shake
that out. Interestingly enough, David Mertz has implemented
multimethod dispatch for Python. I haven't played with this, but it
does provide another proof point for the saying that all languages are
destined to reinvent Lisp badly.
Anyway, back to Eclipse and prototyping. I think that if the
refactoring tools are taken far enough, and Java had a kind of macro
language, I would be pretty happy. I'm back to using Emacs to edit
python, which is fine. The only things I miss are integrated help /
code completion and refactoring tools. Oh, and a reasonable interface
to the debugger.
[22:27] |
[computers/programming] |
# |
TB |
F |
G |
0 Comments |
You can subscribe to an RSS feed of the comments for this blog:
Add a comment here:
You can use some HTML tags in the comment text:
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
<a href>
, <em>
, <i>
, <b>
, <blockquote>
, <br/>
, <p>
, <code>
, <pre>
, <cite>
, <sub>
and <sup>
.You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk