Newbie advice
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). - Write plain DLLs (is that even an option in Python (I told you I was a newb to Python, didn't I? :)) - Write a web app (HTML front end, Python web services called from JavaScript). - Write a plain old web app with Python (no web services or Ajax, just plain HTML & Python). - Is it possible to create a Windows client desktop GUI app with Python? How? How 'bout a Linux GUI app? 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? 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). TIA -- http://mail.python.org/mailman/listinfo/python-list
Re: Newbie advice
On Oct 29, 3:00 am, alex23 wrote: > CSharpner wrote: > > Here's what I /want/ to do, but don't know where to begin: > > Welcome to the fun :) > > > - Write web services in Python (I've done plenty of this in .NET, > > BTW). > > I'm a big fan of CherryPy:http://www.cherrypy.org/ > > It's very straightforward and easy to get into. > > > - Write plain DLLs (is that even an option in Python (I told you I was > > a newb to Python, didn't I? :)) > > I'd recommend Cython:http://www.cython.org/ > > It allows you to write dlls in (a subset of) Python that are converted > to and compiled in C. > > > - Write a web app (HTML front end, Python web services called from > > JavaScript). > > - Write a plain old web app with Python (no web services or Ajax, just > > plain HTML & Python). > > Again, CherryPy, or depending on your needs one of the many, many web > frameworks; I'm partial to Turbogears, but Django seems to be the most > popular. > > For a good overview of what's out > there:http://wiki.python.org/moin/WebFrameworks > > > - Is it possible to create a Windows client desktop GUI app with > > Python? How? How 'bout a Linux GUI app? > > Python includes a wrapper around Tcl/Tk, which many consider to be > kinda ugly by modern standards, but is cross platform and part of the > stdlib (it's not always included with *nix distros by default but then > it's a lot easier to make that happen during install under most > package managers). PyQT, PyGtk and wxPython all have their active > proponents. > > There are plenty of GUI libs out > there:http://wiki.python.org/moin/GuiProgramming > > However, if you're already comfortable with HTML/CSS, I'd recommend > taking a look at Pyjamas, which started as a port of the Google Web > Toolkit, taking Python code and compiling it into javascript. The > associated project, Pyjamas-Desktop, is a webkit-based desktop client/ > widget set; so ideally you only have to write one UI and it'll run > both on the web & the desktop. > > Pyjamas:http://pyjs.org/ > Pyjamas-Desktop:http://pyjd.sourceforge.net/ > > > 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). > > Google App Engine allows you to host our app on Google servers, with a > very generous free quota:http://code.google.com/appengine/ > > It supports Django and several other of the web frameworks. It's worth > noting that it uses the non-relational BigTable at the backend, which > seems to cause a lot of grief to relationally-trained minds :) > > Hopefully something in here is enlightening :) Thanks! Lots of good stuff in there. I think that's plenty to get me started. -- http://mail.python.org/mailman/listinfo/python-list
Re: Newbie advice
On Oct 29, 4:25 am, "Diez B. Roggisch" wrote: > 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 Thanks Diez! Both your and Alex's advice are a great help! -- http://mail.python.org/mailman/listinfo/python-list
Re: Newbie advice
On Oct 29, 1:08 pm, Bryan wrote: > On Oct 28, 9:53 pm,CSharpner wrote: > > > > > 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). > > - Write plain DLLs (is that even an option in Python (I told you I was > > a newb to Python, didn't I? :)) > > - Write a web app (HTML front end, Python web services called from > > JavaScript). > > - Write a plain old web app with Python (no web services or Ajax, just > > plain HTML & Python). > > - Is it possible to create a Windows client desktop GUI app with > > Python? How? How 'bout a Linux GUI app? > > > 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? > > > 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). > > > TIA > > I first started coding using Visual Studio + VB.net in college (not a > CS major). I have now sworn off all that jazz for python+vim+*nix. > Your thinking reminds me very much of how I used to think about > solving problems with software. I thought in terms of the tools I > had, which was basically which VS templates were available, which GUI > widget library I could buy, which MS application framework I could use > etc. > > At some point I decided to start all over. I started reading *basic* > computer programming books, teaching myself C, and doing all coding in > a simple text editor. It was a tough period but I'm glad I went > through it because I think about programming completely differently > now. Now a programming language is mostly an implementation detail. > I design the solution without even thinking about programming > languages or tools. I choose to implement most solutions in python > because its syntax describes what I want to do the cleanest, its not > tied to a corporate strategy, it has tons of useful libraries bla bla > bla. > > This post describes the IDS vs language divide that I crossed > over:http://osteele.com/archives/2004/11/ides > > Python can do everything you ask in your post, and their are many > resources to help you do those things. I just wanted to give you some > advice for the bigger picture. > > Bryan Thanks Bryan. Though my post may have misled. I feel the same way. I started out on text editor source editing because that's all we had back in the early 80's with the old 8-bits. Actually, line editor editing is what I started on... enter one line at a time and it's "entered"... couldn't even cursor up and down... Before I had an assembler, I'd write assembly programs with /machine/ code, hex byte by hex byte. Was pretty cryptic by today's standards, but waaay fun. Anyway, your points are right on and I'm glad to see you have moved in this direction, though I'd encourage you not to dismiss tools that can make your job easier too. Take it from someone who went through all of it from hex byte editing up through the latest IDEs: You don't want to forsake the tools that can reduce your workload. You'll be more valuable. You don't want to be completely dependent on them either, of course, but I know I don't have to tell you /that/ because you're clearly not dependent on them. My questions were more geared towards: I know code isn't just a "web service" because I will it and it doesn't "connect" with a browser (for lack of a better term) because I wish it. There are steps to be taken to make those happe
