Newbie advice

Diez B. Roggisch deets at nospam.web.de
Thu Oct 29 04:25:40 EDT 2009


CSharpner schrieb:
> Alright, I'm not new to programming, but I'm diving in head first into
> Python for the first time.  I'm running on Windows 7, just installed
> "Eclipse Java EE IDE for Web Developers" and installed PyDev in it and
> installed Python 2.6.  I've written my first "Hello World" program,
> which simply displays "Hello World!" in the console output.
> 
> Here's what I /want/ to do, but don't know where to begin:
> 
> - Write web services in Python (I've done plenty of this in .NET,
> BTW).

This depends. If by "web services" you mean generally HTTP-based RPC, 
such as JSON or XMLRPC - yes. If you talk about offering a SOAP-server, 
then Python is rather painful in that respect. Which partially is his 
(or his 3rd-party-libs) fault, but IMHO mostly because that whole 
standard is as crappy as it can get, and my personal experience told me 
to not expect interoperability from it anyway.


> - Write plain DLLs (is that even an option in Python (I told you I was
> a newb to Python, didn't I? :))

There is elmer: http://elmer.sourceforge.net/
And you can create COM servers with win32-extensions, and AFAIK 
IronPython allows you to create something like DLLs also.

> - Write a web app (HTML front end, Python web services called from
> JavaScript).

Plenty of options here, popular choices of frameworks include Django, 
TurboGears 1 & 2, Pylons, werkzeug, web.py and some more.

> - Write a plain old web app with Python (no web services or Ajax, just
> plain HTML & Python).

See above, just don't use AJAX....

> - Is it possible to create a Windows client desktop GUI app with
> Python?  How?  How 'bout a Linux GUI app?

Both, with various toolkits such as Tk, Wx, Qt, GTK.

> 
> I don't know how to create and write a Python project with Eclipse to
> tell it to "be" a web service or a web app, or if what I need to do in
> the code to make as such, no "run" it from Eclipse to launch the app
> in a web server and launch a browser automatically.  Can I debug after
> doing this?  In other words, can I put break points in my web services
> or web apps and go back into the IDE to step through the code for web
> services and web apps?


First of all: in python, you don't code like in VisualStudio, with an 
application template wizard. You simply start coding. Some of the 
frameworks such as TurboGears and Django actually do have such wizards, 
but they aren't integrated into the IDE, and once you started, you don't 
automate anything further. And usually, this is a good thing - the 
wizard-stuff is for languages that need a lot of boilerplate. Python is 
quite successful in not needing that.

Debugging is certainly possible the way you want it, or at least close 
to that. I personally am satisfied with the built-in debugger, pdb. But 
PyDev comes with one that's supposed to be quite good as well, and 
winpdb is also deemed excellent.

> 
> Also, I'm not tied to Eclipse.  I'm totally open to other IDEs as
> well.  SharpDevelop with the Python plugin looks interesting too.
> 
> And finally, I'm not completely committed to using Windows to host my
> development either.  I'm willing to use Linux too (but would prefer
> Windows... at least to get started, until I'm comfortable enough with
> Python).

Cross-platform, especially within the web-world, is usually a no-brainer 
in python.

Diez



More information about the Python-list mailing list