Boss wants me to program

Edvard Majakari edvard+news at majakari.net
Wed Jun 29 06:10:52 EDT 2005


phil <phillip.watts at anvilcom.com> writes:

>  From 30 years of application development experience I will tell you
> NOT HUMBLY, that Python is easily the most productive, the most read-write
> and the most elegant of any of the above.  Handsdown better than Java, the
> runner up in that group.

I don't want to start a flamewar here - but I would like to point out that not
only the language you use affects productivity, but also tools that support
working with the language affect a lot too. For example, I once thought I
would start writing any documents longer than say, two A4 pages with lout
(I've used LaTeX so far). However, realising how much more supporting tools,
add-ons and utilities LaTeX had, I stayed with that (moreover, some of the
other people already new LaTeX but didn't know lout).

Recently I participated in creating a visual FSM editor as Eclipse plugin. I
hadn't used Eclipse before, but seeing how easy it was to create tests,
refactor code (bicyclerepairman is not even close to features offered by
Eclipse) and use gazillion other tools designed to improve Java productivity
made me realise the language has a really, really great selection of tools and
utilities available.

Now, I earn my bread by coding Python and I do like coding in Python the most,
but sometimes I think I would have been better off with Java - not because of
the language, but because of the environment and sheer selection of tools
available.

Let me emphasize a little more. Even though Python itself is great, I think we
don't have quite yet tools that offer

* Industrial-grade reverse-engineering tool (ie. automatic UML diagram
  generation out of code) which also supports creating classes/interfaces out
  of UML diagrams, and modifies the other automatically when the other changes

* Automatic unit test case generation (pydev is going to this direction, I
  think)

* Decent code coverage tools - and I don't mean statement coverage, but path
  coverage or multi-condition coverage

Just see how many handy tools there are for Java if you use Eclipse:

http://eclipse-plugins.2y.net/eclipse/plugins.jsp

(Yes, I know that many of those plugins are not related to any language but
Eclipse and that some of the plugins are specifically Python related, but most
of the good stuff is for Java Development)

Pydev looks really promising, though. With Eclipse, I think it is a very good
alternative to commercial Python IDEs and could mature to the Other Way(TM)
for developing Python programs (the other is, of course, vi(m)/(X)Emacs)

--
# Edvard Majakari		Software Engineer
# PGP PUBLIC KEY available    	Soli Deo Gloria!

$_ = '456476617264204d616a616b6172692c20612043687269737469616e20'; print
join('',map{chr hex}(split/(\w{2})/)),uc substr(crypt(60281449,'es'),2,4),"\n";



More information about the Python-list mailing list