Java Developer Exploring Python

Alex Martelli aleaxit at yahoo.com
Mon Apr 17 22:14:19 EDT 2006


Ravi Teja <webraviteja at gmail.com> wrote:

> >> I've traditionally been a Java developer, although I play around with LISP.
> 
> For most java developers, understanding dynamic typing is a big step.
> Your Lisp background however would mean that you will pick up Python
> very quickly.

Very good point.


> >> I recently migrated to Linux and I was exploring Mono as an
> option for development on Linux. However, I've had some problems with
> the maturity and support when working with Mono.
> 
> IronPython (still a beta) BTW, runs on Mono as well and you can use
> Mono through Python when you deem it ready. There is also Jython, which
> runs on the Java platform if you feel married to Java platform or class
> libraries.

Both are important options, of course; mostly, they offer assurances
that the effort spent today in mastering Python is never going to be
"wasted" even if different deployment platforms are needed for some
future projects (Python is good at invading niches of all kinds;-).


> >> Is Python actively developed and supported on Linux?
> 
> Yes and very well so. Many Linux distributions come with Python
> pre-installed and Python has quite a bit of following in the Linux
> crowd. Red Hat / Fedora installer - Anaconda, for example uses Python.

Maybe the best example is Ubuntu, since its principal proponent, Mark
Shuttleworth, is such a fan of Python -- his foundation offers bounties
for Python projects, for example.


> >> Would it be a viable option for cross-platform application development?
> 
> Python is a very good candidate for open source development. But then
> again, most open source languages these days are. The culture is a bit
> different though. Although Python is byte code compiled just like Java,
> Python programmers are not averse to using native extensions (which in
> most cases can be compiled painlessly on all popular platforms thanks
> to Python's distutils). Java programmers on the other hand generally
> extol 'Pure Java'. Both approaches have their own advantages and
> disadvantages (Swing vs SWT) and you can use either with Python.

A rather good summary!  Yes, part of Python's ability to infiltrate
niches is the willingness to exploit whatever's around, without getting
into a "language purist" mood.  Consider for example that one of the
additions to Python 2.5 (currently in alpha stage) is the inclusion in
the Python standard library of ctypes, an extension (which is and will
also remain available for download for previous Python releases) that
lets Python code dynamically load any available .DLL/.so/.dylib (roughly
same thing but different file extensions depending on platform;-) and
call C-level functions therein.

 
> >> Can anyone recommend an open source IDE for Python that runs on Linux?
> 
> Most Python IDEs are open source along with a few commercial ones.
> http://wiki.python.org/moin/IntegratedDevelopmentEnvironments
> Everyone has their favorites and you should pick your own.
> 
> Since you have a Java background, PyDev is probably the best choice for
> you. JEdit also has a Python plugin. I just use SciTE (just an editor)
> most of the time.

My vote would go to eric3, but then, I _am_ a Qt fan;-).  As you say,
the wiki is a better choice, to get an idea of the available options,
than any individual's suggestions...


Alex



More information about the Python-list mailing list