Java Developer Exploring Python

R

redefined.horizons

I've traditionally been a Java developer, although I play around with
LISP. 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. So I was considering
Python as an alternative development language.

Is Python actively developed and supported on Linux? Would it be a
viable option for cross-platform application development?

Can anyone recommend an open source IDE for Python that runs on Linux?

Thanks,

Scott Huey
 
R

Ravi Teja

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.
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.

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.

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.

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.
 
R

redefined.horizons

Ravi said:
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.

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.


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.


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.


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.

Ravi,

Thank you for taking the time to answer my questions. It sounds like
Python may be the solution I am searching for. I took a look at lists
of the IDEs on the wiki. Looks like I might be sticking with the IDLE
editor for now. :] Perhaps I will have to write a simple IDE for Python
that integrates Glade and supports pyGTK when I have some more
programming experience...

Scott Huey
 
A

Alex Martelli

Ravi Teja said:
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.

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;-).

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.

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.

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
 
R

Roy Smith

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

Indeed, I think the inclusion of ctypes is far and away the most exciting
thing in 2.5.
 
R

Renato

You don't actually *need* a libglade/pyGtk IDE: glade will be more than
enough :)

By its very nature glade will enable you to design the GUI and define
the signals.

Then you'll load the glade file in python, and use whatever editor you
feel comfortable with.
 
B

bruno at modulix

I've traditionally been a Java developer, although I play around with
LISP. 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. So I was considering
Python as an alternative development language.

Is Python actively developed and supported on Linux?

Yes. In fact, all distros I know ships with (and often depends on) Python.
Would it be a
viable option for cross-platform application development?

Yes. Python runs on most platforms, and wxPython runs on Windows, MacOS
X, and most Unices
Can anyone recommend an open source IDE for Python that runs on Linux?

Emacs ?-)
 
J

Jorge Godoy

Aahz said:
Really? More than pysqlite?

To me much more. After all, why would I need pysqlite if I use
PostgreSQL? ;-)

/me remembering the old days of Clipper Summer '87, when he'd use DBFs all
over... ;-)

--
Jorge Godoy <[email protected]>

"Quidquid latine dictum sit, altum sonatur."
- Qualquer coisa dita em latim soa profundo.
- Anything said in Latin sounds smart.
 
A

Aahz

To me much more. After all, why would I need pysqlite if I use
PostgreSQL? ;-)

Heh. Since we're just finally turning in our 100% first draft of Python
for Dummies, I tend to think more in terms of what a Python newbie will
find useful. On that front, I think that pysqlite is much more
important because it finally gets rid of the excuse for using Berkeley
for simple database purposes.
 
J

Jorge Godoy

Aahz said:
Heh. Since we're just finally turning in our 100% first draft of Python
for Dummies, I tend to think more in terms of what a Python newbie will
find useful. On that front, I think that pysqlite is much more
important because it finally gets rid of the excuse for using Berkeley
for simple database purposes.

You're right Aahz. It is more useful. I was just being "smart" with
you :)

Now it will be easier to provide that classic phone book example in your
book :)

--
Jorge Godoy <[email protected]>

"Quidquid latine dictum sit, altum sonatur."
- Qualquer coisa dita em latim soa profundo.
- Anything said in Latin sounds smart.
 
J

Jon Ribbens

On that front, I think that pysqlite is much more important because
it finally gets rid of the excuse for using Berkeley for simple
database purposes.

Apologies if I'm being obtuse, but how does including the pysqlite
wrapper module change anything? You still need to download and install
SQLite, so what's the point of including a wrapper for something you
may or may not have? Why is pysqlite included, for example, and not
MySQL-Python or postgresql or whatever?
 
F

Fredrik Lundh

Jon said:
Apologies if I'm being obtuse, but how does including the pysqlite
wrapper module change anything? You still need to download and install
SQLite

I'm pretty sure the distributors will do this for you, just as they've included
zlib, dbm, tcl/tk, openssl, and many other standard libraries over the years.

</F>
 
J

Jarek Zgoda

(e-mail address removed) napisa³(a):
Is Python actively developed and supported on Linux? Would it be a
viable option for cross-platform application development?

Yeas and yeas. Yeas. (That's how we pronounce "yes" here, in Poland,
East Europe).
Can anyone recommend an open source IDE for Python that runs on Linux?

Komodo. But in most cases you don't need any IDE, just good text editor
would make it go. Like Kate, jEdit or similar.
 
C

Carl J. Van Arsdall

Jarek said:
(e-mail address removed) napisa³(a):



Yeas and yeas. Yeas. (That's how we pronounce "yes" here, in Poland,
East Europe).

My favorite IDE: vi

Komodo. But in most cases you don't need any IDE, just good text editor
would make it go. Like Kate, jEdit or similar.





--

Carl J. Van Arsdall
(e-mail address removed)
Build and Release
MontaVista Software
 
A

Aahz

Apologies if I'm being obtuse, but how does including the pysqlite
wrapper module change anything? You still need to download and install
SQLite, so what's the point of including a wrapper for something you
may or may not have? Why is pysqlite included, for example, and not
MySQL-Python or postgresql or whatever?

SQLite will be included with the Windows distribution. Not sure about
Macs; as Fredrik pointed out, most Linux/BSD distros should make that
simple.

As for why SQLite, there seems to be a consensus that it's the only
truly zero-admin SQL solution that provides decent SQL compatibility and
performance. For more about the decision, I suggest you read the
python-dev archives.
 
C

Chris Lambacher

At least on windows. PySqlite is statically linked with the sqlite library.
This can be done because it is quite small.

-Chris
 
A

Alex Martelli

Aahz said:
Heh. Since we're just finally turning in our 100% first draft of Python
for Dummies, I tend to think more in terms of what a Python newbie will

Funny timing coincidence: your 1st draft of Python for Dummies going in
now, my 2nd edition of Python in a Nutshell just went to production, AND
Wesley Chun's 2nd ed is also being finished this week. Three Baypiggies
(or whatever we'll have to call ourselves) all finishing Python books
(be they new, or 2nd eds) all within one week of Easter -- what's the
chances of THAT?-)


Alex
 
J

Jon Ribbens

At least on windows. PySqlite is statically linked with the sqlite library.
This can be done because it is quite small.

OK, well that makes sense, but why not on any other platform?
 
J

Jon Ribbens

I'm pretty sure the distributors will do this for you, just as
they've included zlib, dbm, tcl/tk, openssl, and many other standard
libraries over the years.

"The distributors"? Que?

I guess I just don't get why the inclusion of the pysqlite wrapper
is so exciting if all it's doing is changing the situation from
"Python does not come with a DB, but you can install extra software
to provide one" to "Python does not come with a DB, but you can
install extra software to provide one".
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top