Discussion:
Foot in mouth disease
(too old to reply)
Bryan L. Fordham
2002-11-03 17:48:47 UTC
Permalink
I'm afraid I was insufficiently clear: I'm looking for people who are
familiar with using refactoring tools with Java but still find Python
easier to refactor.
A lot of it, of course, depends on you religion 8)

I've worked at a company (now owned by verisign) for almost 2 years, and
all the development produced in my department is in java. But, to me,
it's much quicker for me to hack out quick scripts in python that
produce java code than it is to try and do that in java. I've gotten a
few people there to install python, and they all find it much easier to
use than java.

To me, refactoring is easier in python; my method is to hack out things
at the commandline and then, when I get something working, dump it into
a module. That works well for me and is much quicker than the
write-compile-debug-repeat cycle one is forced into with java.

As far as tools, I can't stand IDE's, but that's just me; I'm used to
text editors and so I am quicker in those. I try and stay out of those
"debates" as everyone stickes to their own opinion. My take is that you
should use what works best for you.

--B
Simon Brunning
2002-11-04 09:50:50 UTC
Permalink
From: aahz at pythoncraft.com [SMTP:aahz at pythoncraft.com]
3) Ask her for a date
<chuckle> She lives in Toronto (I'm in California) and I'm not her type.
Yeah, but asking her out would put her on the back foot, and you can win the
Java vs. Python argument for once and for all.

Cheers,
Simon Brunning




-----------------------------------------------------------------------
The information in this email is confidential and may be legally privileged.
It is intended solely for the addressee. Access to this email by anyone else
is unauthorised. If you are not the intended recipient, any disclosure,
copying, distribution, or any action taken or omitted to be taken in
reliance on it, is prohibited and may be unlawful. TriSystems Ltd. cannot
accept liability for statements made which are clearly the senders own.
Boudewijn Rempt
2002-11-02 10:14:39 UTC
Permalink
So I've been having a friendly argument for a long time with a friend of
mine who's a real Java booster. The current iteration was sparked by a
discussion of extreme programming, where along the way I repeated what
some people here have mentioned about Python being easier to refactor
than Java. She asked me what -- if any -- Java-based tools were used by
the experienced Java programmers who made that claim. She thinks that
those tools are superior to plain text editors (which are really all
that's needed for Python).
I've tried the various Emacs packages for refactoring -- forgot the names --
java, and I didn't like it. With Java, refactoring is, for me, mostly a
matter of renaming, moving stuff and deleting stuff. Jikes will tell me
what to do next. Having the Antipatterns book helps in refactoring Java,
too.

With Python, I'm using grep as my main refactoring tool -- but I'm trying
really hard to get into the habit of using bicyclerepairman (from emacs),
which seems superior the Java tools I have used.
--
Boudewijn Rempt | http://www.valdyas.org
Richie Hindle
2002-11-05 13:21:04 UTC
Permalink
Hi Boudewijn,
[...] Eric, a really great debugger written in PyQt
I've tried to install Eric with PyQt Non-Commercial and Qt
Non-Commercial, but as far as I can see, Qt Non-Commercial is only
available for Qt version 2.3 while Eric requires 3.0. Do I have to buy
a Qt licence to run Eric?
--
Richie Hindle
richie at entrian.com
Boudewijn Rempt
2002-11-03 13:30:56 UTC
Permalink
Boudewijn> With Python, I'm using grep as my main refactoring tool --
Boudewijn> but I'm trying really hard to get into the habit of using
Boudewijn> bicyclerepairman (from emacs), which seems superior the
Java Boudewijn> tools I have used.
I thought I saw a refactoring editor project on SF some time ago which was
written in and for Python. SF's search tool isn't working for me at the
moment. Does anyone know if this project is still active?
It that isn't bicyclerepairman, I wouldn't know. I try really
hard to remember to use bicyclerepairman (also Eric, a really
great debugger written in PyQt), but I'm so set in my ways that
I very seldom use them...
--
Boudewijn Rempt | http://www.valdyas.org
Skip Montanaro
2002-11-02 14:21:48 UTC
Permalink
Boudewijn> With Python, I'm using grep as my main refactoring tool --
Boudewijn> but I'm trying really hard to get into the habit of using
Boudewijn> bicyclerepairman (from emacs), which seems superior the Java
Boudewijn> tools I have used.

I thought I saw a refactoring editor project on SF some time ago which was
written in and for Python. SF's search tool isn't working for me at the
moment. Does anyone know if this project is still active?
--
Skip Montanaro - skip at pobox.com
http://www.mojam.com/
http://www.musi-cal.com/
Jay O'Connor
2002-11-03 13:53:48 UTC
Permalink
So I've been having a friendly argument for a long time with a friend of
mine who's a real Java booster. The current iteration was sparked by a
discussion of extreme programming, where along the way I repeated what
some people here have mentioned about Python being easier to refactor
than Java. She asked me what -- if any -- Java-based tools were used by
the experienced Java programmers who made that claim. She thinks that
those tools are superior to plain text editors (which are really all
that's needed for Python).
Anyone wanna help me out here?
Nope, sorry. I really like Python, but I still miss the development
tools I have when using Smalltalk

Take care,
Jay
Jay O'Connor
joconnor at cybermesa.com
http://www.cybermesa.com/~joconnor


"God himself plays on the bass strings first, when he tunes the soul"
Bryan L. Fordham
2002-11-04 03:12:00 UTC
Permalink
"Bryan L. Fordham" <bfordham at socialistsushi.com> wrote in message
Post by Bryan L. Fordham
I've worked at a company (now owned by verisign) for almost 2 years, and
all the development produced in my department is in java. But, to me,
it's much quicker for me to hack out quick scripts in python that
produce java code than it is to try and do that in java. I've gotten a
few people there to install python, and they all find it much easier to
use than java.
Bryan,
Are you saying that you use Python scripts to write Java source code, or
that you Python scripts to write Java byte code, or that you use Python
scripts that are run dynamically by Jython?
I use python to write java code.

--B
Aahz
2002-11-03 15:29:39 UTC
Permalink
In article <3dc52a19.3339913 at news.cybermesa.com>,
Post by Jay O'Connor
So I've been having a friendly argument for a long time with a friend of
mine who's a real Java booster. The current iteration was sparked by a
discussion of extreme programming, where along the way I repeated what
some people here have mentioned about Python being easier to refactor
than Java. She asked me what -- if any -- Java-based tools were used by
the experienced Java programmers who made that claim. She thinks that
those tools are superior to plain text editors (which are really all
that's needed for Python).
Anyone wanna help me out here?
Nope, sorry. I really like Python, but I still miss the development
tools I have when using Smalltalk
I'm afraid I was insufficiently clear: I'm looking for people who are
familiar with using refactoring tools with Java but still find Python
easier to refactor.
--
Aahz (aahz at pythoncraft.com) <*> http://www.pythoncraft.com/

Project Vote Smart: http://www.vote-smart.org/
Robert Oschler
2002-11-04 00:25:12 UTC
Permalink
"Bryan L. Fordham" <bfordham at socialistsushi.com> wrote in message
Post by Bryan L. Fordham
I've worked at a company (now owned by verisign) for almost 2 years, and
all the development produced in my department is in java. But, to me,
it's much quicker for me to hack out quick scripts in python that
produce java code than it is to try and do that in java. I've gotten a
few people there to install python, and they all find it much easier to
use than java.
Bryan,

Are you saying that you use Python scripts to write Java source code, or
that you Python scripts to write Java byte code, or that you use Python
scripts that are run dynamically by Jython?

thx
Jay O'Connor
2002-11-04 03:52:00 UTC
Permalink
In article <aq3fd3$fv$1 at panix1.panix.com>, "Aahz" <aahz at pythoncraft.com>
I'm afraid I was insufficiently clear: I'm looking for people who are
familiar with using refactoring tools wit
I was more commenting on the line

"She thinks that those tools are superior to plain text editors (which are really
all that's needed for Python)."


Take care,
--
Jay O'Connor
joconnor at cybermesa.com
http://www.r4h.org/r4hsoftware
GerritM
2002-11-06 20:38:25 UTC
Permalink
"Derek Thomson" <derek at wedgetail.com> schreef in bericht
"Derek Thomson" <derek at wedgetail.com> schreef in bericht
<...snip...>
Do you by any means have the data at hand (kloc's for Java, kloc's for
comparable Python; ORB and/or IDL compiler)? I am highly interested in
any
substantiated evidence with respect to language
efficiency/expressiveness.
Nope, I was just replying based on my feelings for an average task,
which was the tone of the OP. Think about how difficult it is to do the
equivalent of a list slice assigment in Java, for example.
For some harder numbers, I compared JacORB (a Java ORB) to Fnorb (a
Python ORB), and Fnorb is about one half the lines of code of JacORB,
just for the core ORB itself.
Now, that's for an ORB, which is low level enough (marshalling and
unmarshalling data on-the-wire, and connection management), that it
doesn't play too well to Python's expressiveness. But still, that's
quite a difference.
As the application becomes higher level, I'd expect the gains to be much
greater.
--
D.
I share the same expectation. It would be nice to have some more factual
comparison of larger application(s). The shootout site
http://www.bagley.org/~doug/shootout/ does a great job in comparing "small"
well defined problems. In general Python scores well in expressiveness
(=small amount of loc), but not as much as factors 2 or higher.

It would be interesting to know if our expectations are realistic for large
applications, or only hopes. I have seen many oversold technologies, which
don't pass a more factual comparison.

regards Gerrit
Andrew Dalke
2002-11-07 01:39:56 UTC
Permalink
Post by GerritM
I share the same expectation. It would be nice to have some more factual
comparison of larger application(s). The shootout site
http://www.bagley.org/~doug/shootout/ does a great job in comparing "small"
well defined problems. In general Python scores well in expressiveness
(=small amount of loc), but not as much as factors 2 or higher.
There are some small-to-medium scale problems as part of PLEAC

http://pleac.sourceforge.net/

Hmm. I haven't contributed Python code in over a year, but it's
still in second place. Ruby is almost caught up. Maybe I should
work on things a bit more -- or anyone else here? :)
Post by GerritM
It would be interesting to know if our expectations are realistic for large
applications, or only hopes. I have seen many oversold technologies, which
don't pass a more factual comparison.
This is a hard comparison. Anything "large" means it takes a
lot of money or time, and not worth the effort to repeat in another
language when there are no new features.

Andrew
dalke at dalkescientific.com
Anton Vredegoor
2002-11-03 14:54:15 UTC
Permalink
So I've been having a friendly argument for a long time with a friend of
mine who's a real Java booster. The current iteration was sparked by a
discussion of extreme programming, where along the way I repeated what
some people here have mentioned about Python being easier to refactor
than Java. She asked me what -- if any -- Java-based tools were used by
the experienced Java programmers who made that claim. She thinks that
those tools are superior to plain text editors (which are really all
that's needed for Python).
Anyone wanna help me out here?
Three step solution:

1) Eat the food ;-)
2) Write a refactoring tool for Java using Python
3) Ask her for a date

Just my idea of a cure: Do not fight the disease but concentrate on
healthy activities.

Anton.
Mike C. Fletcher
2002-11-03 15:49:24 UTC
Permalink
Hmm, maybe the PyGTA group could help by distracting her with a barrage
of dates? It would certainly be less work than building the refactoring
tool, and one less person coding Java reduces the total pain in the
world just that much more ;) ...

We needed to have a meeting sometime soon anyway :) ,
Mike
In article <aq3dfb$spu$1 at news.hccnet.nl>,
Post by Anton Vredegoor
1) Eat the food ;-)
Good idea.
Post by Anton Vredegoor
2) Write a refactoring tool for Java using Python
Don't know Java well to do that.
Post by Anton Vredegoor
3) Ask her for a date
<chuckle> She lives in Toronto (I'm in California) and I'm not her type.
But we'll be seeing each other in Boston next weekend.
_______________________________________
Mike C. Fletcher
Designer, VR Plumber, Coder
http://members.rogers.com/mcfletch/
Peter Hansen
2002-11-03 20:16:19 UTC
Permalink
Post by Mike C. Fletcher
<chuckle> She lives in Toronto (I'm in California) and I'm not
her type. But we'll be seeing each other in Boston next weekend.
Hmm, maybe the PyGTA group could help by distracting her with a barrage
of dates? It would certainly be less work than building the refactoring
tool, and one less person coding Java reduces the total pain in the
world just that much more ;) ...
We needed to have a meeting sometime soon anyway :) ,
On that topic, and since you mentioned it :-) :

Ian Garmaise is working hard to find a venue for the next meeting,
while I'm working hard to get regular ADSL access back up after
moving in the last few weeks. :(

Ian figures we'll be able to have the next meeting in mid-November,
barring unexpected setbacks.

He or I will post here shortly with an announcement, as soon as
something is firm.

Maybe Aahz would like to invite his Java friend to come out and
discuss refactoring code at the next PyGTA meeting. I'm sure
there are some others who have programmed in Java (I have, at
least) and might have a few things to say one way or the other.

And Mike could ask her for a date, too. ;-)

-Peter

P.S.: Since I never had a chance (or missed a few, anyway) to
put together a nice summary of the last meeting... for the record,
for those interested, the meeting went quite well, with something
like 18 people attending and a broad range of things discussed.
The intention is to hold regularly monthly meetings (though good
venues are an issue), not bother with membership fees (which
makes finding good venues a bit of an issue, hint hint), and
sort of leave things informal until a need arises to do something
differently. If you want to be put on the mailing list for the
meeting announcements, just ask (by email!).
Aahz
2002-11-03 15:32:27 UTC
Permalink
In article <aq3dfb$spu$1 at news.hccnet.nl>,
Post by Anton Vredegoor
1) Eat the food ;-)
Good idea.
Post by Anton Vredegoor
2) Write a refactoring tool for Java using Python
Don't know Java well to do that.
Post by Anton Vredegoor
3) Ask her for a date
<chuckle> She lives in Toronto (I'm in California) and I'm not her type.
But we'll be seeing each other in Boston next weekend.
--
Aahz (aahz at pythoncraft.com) <*> http://www.pythoncraft.com/

Project Vote Smart: http://www.vote-smart.org/
Simon Brunning
2002-11-04 09:49:21 UTC
Permalink
From: Derek Thomson [SMTP:derek at wedgetail.com]
She asked me what -- if any -- Java-based tools were used by
the experienced Java programmers who made that claim. She thinks that
those tools are superior to plain text editors (which are really all
that's needed for Python).
Eclipse ... for about one day. Far too painful, (snip)
Hmm. Well, Java is my day job, and I've been using Eclipse for a year or so.
For me, the refactorings work just fine. Now, I've not used EMACS, so I
can't do a comparison, but Eclipse's refactorings are a *whole* lot better
that doing refactoring with a 'dumb' text editor.

The auto-completion and so on are also great. If you work with Java, and
aren't hairy-chested enough for EMACS, give Eclipse a try. You won't regret
it.

Unless you have less than 256MB, that is. ;-)

Reasonable-men-can-differ,-but-not-with-me-ly y'rs,
Simon B




-----------------------------------------------------------------------
The information in this email is confidential and may be legally privileged.
It is intended solely for the addressee. Access to this email by anyone else
is unauthorised. If you are not the intended recipient, any disclosure,
copying, distribution, or any action taken or omitted to be taken in
reliance on it, is prohibited and may be unlawful. TriSystems Ltd. cannot
accept liability for statements made which are clearly the senders own.
Simon Brunning
2002-11-04 15:38:29 UTC
Permalink
From: aahz at pythoncraft.com [SMTP:aahz at pythoncraft.com]
In article <mailman.1036403645.19096.python-list at python.org>,
Post by Simon Brunning
From: aahz at pythoncraft.com [SMTP:aahz at pythoncraft.com]
3) Ask her for a date
<chuckle> She lives in Toronto (I'm in California) and I'm not her
type.
Post by Simon Brunning
Yeah, but asking her out would put her on the back foot, and you can win
the
Post by Simon Brunning
Java vs. Python argument for once and for all.
Um.... How do you think I know I'm not her type? What does "back foot"
mean, anyway?
Funny - I often know that I'm not a woman's type without having to ask -
it's usually bleedin' obvious. ;-)

The 'back foot' thing - sorry, it's an idiom in use in cricket playing
nations only. I should have thought about my audience a little more. If
someone is on the back foot, they are uncomfortable and on the defensive.

Cheers,
Simon Brunning
TriSystems Ltd.
sbrunning at trisystems.co.uk




-----------------------------------------------------------------------
The information in this email is confidential and may be legally privileged.
It is intended solely for the addressee. Access to this email by anyone else
is unauthorised. If you are not the intended recipient, any disclosure,
copying, distribution, or any action taken or omitted to be taken in
reliance on it, is prohibited and may be unlawful. TriSystems Ltd. cannot
accept liability for statements made which are clearly the senders own.
Derek Thomson
2002-11-02 14:08:01 UTC
Permalink
She asked me what -- if any -- Java-based tools were used by
the experienced Java programmers who made that claim. She thinks that
those tools are superior to plain text editors (which are really all
that's needed for Python).
Eclipse ... for about one day. Far too painful, so it was back to Emacs.
Really, I've yet to see any IDE that I liked, or did anything but limit
my productivity. They have the same problems all GUI's have - you can
only do what the designers *thought* you might want to do. And when
coding, that's a serious limitation. I use Emacs, because it's basically
just a Lisp interpreter with some built-in functions for text editing. I
can therefore program it do do *anything*.

[And sometimes I have to use Visual Studio when porting. I can't
understand how anyone puts up with it. Aside from being unusable, it's
full of bugs]

As for refactoring, Python's advantage here are it's dynamic typing, and
run-time flexibility. Try altering a Java application on the fly. It
can't be done. In Python you can, for example, muck about with a GUI as
it's running, to see what works and what doesn't. This is *great*.

Then there's the fact that it takes between 5-10 lines of Java to do the
same thing in Python, depending on what you're doing. Having a very high
level language, as opposed to a high level one, definitely helps
refactoring in that there's much less code to refactor. Look at the size
of Fnorb (*), compared to Java ORBs. Or just look at the size of the
Fnorb IDL compiler ... and it's even readable. I know which I'd like to
be refactoring.

(*) http://fnorb.org

As for the "tools" refactoring IDEs provide, I can get more powerful
results with the Perl "-i" option, which lets you modify files in-place.
I could rename a method to anything I pleased, consistently, just to
name a trivial example. But since I'm using a *language* to specify my
changes, I can do literally anything. You can't do that in an IDE,
unless the IDE authors create a Turing-complete language to specify
changes with.

(Yes, I know people are going to say I should use Python, but Perl's
honestly better for pattern matching and substitution from the command
line, mainly because regexes are always immediately available and for
all the neat command line switches. Like "-i" itself ...)

--
D.
GerritM
2002-11-02 17:27:55 UTC
Permalink
"Derek Thomson" <derek at wedgetail.com> schreef in bericht
news:3dc3dc4e$0$12762$afc38c87 at news.optusnet.com.au...
<...snip...>
Post by Derek Thomson
Then there's the fact that it takes between 5-10 lines of Java to do the
same thing in Python, depending on what you're doing. Having a very high
level language, as opposed to a high level one, definitely helps
refactoring in that there's much less code to refactor. Look at the size
of Fnorb (*), compared to Java ORBs. Or just look at the size of the
Fnorb IDL compiler ... and it's even readable. I know which I'd like to
be refactoring.
(*) http://fnorb.org
<...snip...>
Do you by any means have the data at hand (kloc's for Java, kloc's for
comparable Python; ORB and/or IDL compiler)? I am highly interested in any
substantiated evidence with respect to language efficiency/expressiveness.
Post by Derek Thomson
--
D.
regards Gerrit Muller

--
www.extra.research.philips.com/natlab/sysarch/
Derek Thomson
2002-11-06 05:34:19 UTC
Permalink
Post by GerritM
"Derek Thomson" <derek at wedgetail.com> schreef in bericht
<...snip...>
Post by Derek Thomson
Then there's the fact that it takes between 5-10 lines of Java to do the
same thing in Python, depending on what you're doing. Having a very high
level language, as opposed to a high level one, definitely helps
refactoring in that there's much less code to refactor. Look at the size
of Fnorb (*), compared to Java ORBs. Or just look at the size of the
Fnorb IDL compiler ... and it's even readable. I know which I'd like to
be refactoring.
(*) http://fnorb.org
<...snip...>
Do you by any means have the data at hand (kloc's for Java, kloc's for
comparable Python; ORB and/or IDL compiler)? I am highly interested in any
substantiated evidence with respect to language efficiency/expressiveness.
Nope, I was just replying based on my feelings for an average task,
which was the tone of the OP. Think about how difficult it is to do the
equivalent of a list slice assigment in Java, for example.

For some harder numbers, I compared JacORB (a Java ORB) to Fnorb (a
Python ORB), and Fnorb is about one half the lines of code of JacORB,
just for the core ORB itself.

Now, that's for an ORB, which is low level enough (marshalling and
unmarshalling data on-the-wire, and connection management), that it
doesn't play too well to Python's expressiveness. But still, that's
quite a difference.

As the application becomes higher level, I'd expect the gains to be much
greater.

--
D.
Stuart D. Gathman
2002-11-02 17:20:21 UTC
Permalink
Post by Derek Thomson
As for refactoring, Python's advantage here are it's dynamic typing, and
run-time flexibility. Try altering a Java application on the fly. It
can't be done. In Python you can, for example, muck about with a GUI as
it's running, to see what works and what doesn't. This is *great*.
While the "5 x LOC" factor makes it more painful, Java is also dynamically
typed. However, Java types are immutable - so dynamic type manipulation
uses a functional programming model: you create new types rather than
modifying old type instances.

The new type can have the same name if it is in a new ClassLoader. IMO,
this is a superior way to handle dynamic types, since your changes can
only disturb code referencing your new ClassLoader. This is essential
when making dynamic changes to a running production system.
Post by Derek Thomson
Then there's the fact that it takes between 5-10 lines of Java to do the
same thing in Python, depending on what you're doing. Having a very high
level language, as opposed to a high level one, definitely helps
Amen. And a big THANKYOU to the Jython team!
--
Stuart D. Gathman <stuart at bmsi.com>
Business Management Systems Inc. Phone: 703 591-0911 Fax: 703 591-6154
"Confutatis maledictis, flamis acribus addictis" - background song for
a Microsoft sponsored "Where do you want to go from here?" commercial.
Sean 'Shaleh' Perry
2002-11-04 16:00:24 UTC
Permalink
Changing an object's type, ah, now that's a different matter. It's usually
not just the declaration which needs to change, you have arguments to
change all over the place, casts to add, it just seems to go on forever.
Eclipse doesn't help here. (Does EMACS?) With Python, of course, you change
your object instantiation, and re-run your unit tests. If the signatures of
the old and new types match, you are good to go.
emacs only has intelligent search and replace capabilities unless programmed
otherwise. It could be done but to my knowledge it does not exist today.
You can get pretty far with search and replace though.

I understand bicyclerepairman to be a good emacs package for Python
refactoring.
Simon Brunning
2002-11-04 15:39:42 UTC
Permalink
Post by Simon Brunning
Hmm. Well, Java is my day job, and I've been using Eclipse for a year
or so. For me, the refactorings work just fine. Now, I've not used
EMACS, so I can't do a comparison, but Eclipse's refactorings are a
*whole* lot better that doing refactoring with a 'dumb' text editor.
Perfect. So which is easier: Python or Java?
Python.

I *like* questions with one word answers.

Cheers,
Simon Brunning
TriSystems Ltd.
sbrunning at trisystems.co.uk




-----------------------------------------------------------------------
The information in this email is confidential and may be legally privileged.
It is intended solely for the addressee. Access to this email by anyone else
is unauthorised. If you are not the intended recipient, any disclosure,
copying, distribution, or any action taken or omitted to be taken in
reliance on it, is prohibited and may be unlawful. TriSystems Ltd. cannot
accept liability for statements made which are clearly the senders own.
Aahz
2002-11-04 15:23:48 UTC
Permalink
In article <mailman.1036403645.19096.python-list at python.org>,
Post by Simon Brunning
From: aahz at pythoncraft.com [SMTP:aahz at pythoncraft.com]
3) Ask her for a date
<chuckle> She lives in Toronto (I'm in California) and I'm not her type.
Yeah, but asking her out would put her on the back foot, and you can win the
Java vs. Python argument for once and for all.
Um.... How do you think I know I'm not her type? What does "back foot"
mean, anyway?
--
Aahz (aahz at pythoncraft.com) <*> http://www.pythoncraft.com/

Project Vote Smart: http://www.vote-smart.org/
Andrew Koenig
2002-11-02 20:25:25 UTC
Permalink
Aahz> So I've been having a friendly argument for a long time with a friend of
Aahz> mine who's a real Java booster. The current iteration was sparked by a
Aahz> discussion of extreme programming, where along the way I repeated what
Aahz> some people here have mentioned about Python being easier to refactor
Aahz> than Java.

Aahz> Anyone wanna help me out here?

http://www.idinews.com/casts.html

explains why Java programs often have to repeat type information in
many places throughout the program. Which means that when you want to
replace one type by another, for example, you have to make lots of
little changes.
--
Andrew Koenig, ark at research.att.com, http://www.research.att.com/info/ark
Aahz
2002-11-02 04:06:06 UTC
Permalink
So I've been having a friendly argument for a long time with a friend of
mine who's a real Java booster. The current iteration was sparked by a
discussion of extreme programming, where along the way I repeated what
some people here have mentioned about Python being easier to refactor
than Java. She asked me what -- if any -- Java-based tools were used by
the experienced Java programmers who made that claim. She thinks that
those tools are superior to plain text editors (which are really all
that's needed for Python).

Anyone wanna help me out here?
--
Aahz (aahz at pythoncraft.com) <*> http://www.pythoncraft.com/

Project Vote Smart: http://www.vote-smart.org/
Sean 'Shaleh' Perry
2002-11-02 08:44:59 UTC
Permalink
So I've been having a friendly argument for a long time with a friend of
mine who's a real Java booster. The current iteration was sparked by a
discussion of extreme programming, where along the way I repeated what
some people here have mentioned about Python being easier to refactor
than Java. She asked me what -- if any -- Java-based tools were used by
the experienced Java programmers who made that claim. She thinks that
those tools are superior to plain text editors (which are really all
that's needed for Python).
Anyone wanna help me out here?
if trained to use a tool you are good with a tool. If trained to accomplish
the task by hand you can be just as good that way. Each developer approaches
code differently.
Aahz
2002-11-04 15:25:11 UTC
Permalink
In article <mailman.1036403524.17682.python-list at python.org>,
Post by Simon Brunning
She asked me what -- if any -- Java-based tools were used by
the experienced Java programmers who made that claim. She thinks that
those tools are superior to plain text editors (which are really all
that's needed for Python).
Hmm. Well, Java is my day job, and I've been using Eclipse for a year
or so. For me, the refactorings work just fine. Now, I've not used
EMACS, so I can't do a comparison, but Eclipse's refactorings are a
*whole* lot better that doing refactoring with a 'dumb' text editor.
Perfect. So which is easier: Python or Java?
--
Aahz (aahz at pythoncraft.com) <*> http://www.pythoncraft.com/

Project Vote Smart: http://www.vote-smart.org/
Simon Brunning
2002-11-04 15:52:04 UTC
Permalink
From: Simon Brunning [SMTP:SBrunning at trisystems.co.uk]
Post by Simon Brunning
Hmm. Well, Java is my day job, and I've been using Eclipse for a year
or so. For me, the refactorings work just fine. Now, I've not used
EMACS, so I can't do a comparison, but Eclipse's refactorings are a
*whole* lot better that doing refactoring with a 'dumb' text editor.
Perfect. So which is easier: Python or Java?
Python.
I *like* questions with one word answers.
OK, OK, I'll explain a little. Eclipse's refactorings make life easier when
you are doing object and method renames, extracting methods or expressions,
that sort of thing. But these aren't often that much work anyway.

Changing an object's type, ah, now that's a different matter. It's usually
not just the declaration which needs to change, you have arguments to change
all over the place, casts to add, it just seems to go on forever. Eclipse
doesn't help here. (Does EMACS?) With Python, of course, you change your
object instantiation, and re-run your unit tests. If the signatures of the
old and new types match, you are good to go.

Cheers,
Simon Brunning
TriSystems Ltd.
sbrunning at trisystems.co.uk




-----------------------------------------------------------------------
The information in this email is confidential and may be legally privileged.
It is intended solely for the addressee. Access to this email by anyone else
is unauthorised. If you are not the intended recipient, any disclosure,
copying, distribution, or any action taken or omitted to be taken in
reliance on it, is prohibited and may be unlawful. TriSystems Ltd. cannot
accept liability for statements made which are clearly the senders own.
Syver Enstad
2002-11-09 15:12:20 UTC
Permalink
Post by Sean 'Shaleh' Perry
I understand bicyclerepairman to be a good emacs package for Python
refactoring.
What, where?! I've been using practices from Extreme Programming
longer than I've been programming Python, but that the Bicycle
Repairman project was in a usable state was unknown to me.

(Googling and installing bicyclerepairman 0.7 RC1)...............

This is way cool, a python refactoring browser (that also works from
Emacs, one of my favorite tools). I've been using the Camp Smalltalk
Refactoring browser when writing Smalltalk, great to have one in
Python.

A request: Could the Bicycle Repairman team post to
comp.lang.python.announce when new updates are coming. I usually use
comp.lang.python.announce to stay current on useful/interesting python
modules and tools so this would be nice.
--
Vennlig hilsen

Syver Enstad
Continue reading on narkive:
Loading...