Python is fun (useless social thread) ;-)

J

John Salerno

I have to say, I'm having a very enjoyable time learning and using
Python. I spent a year playing around with C# and I feel like I
learned/know less about it than I do about Python from just the past
couple of months. Of course it's easier, but there's just something
about it that makes me keep coming back to it and try to think of new
ways to use it.

Lately I've started to branch away from the "core" Python and I started
learning internet/cgi programming, then a little with mysqldb (which
involved a detour into learning some MySQL query commands), and now I'm
fiddling with wxPython. My next goal is PyGame.

So out of curiosity, I'm just wondering how everyone else came to learn
it. If you feel like responding, I'll ask my questions for easy quoting:

Did you have to learn it for a job?

Or did you just like what you saw and decided to learn it for fun?

Also, how did you go about learning it? (i.e., like I described above, I
started with the main stuff then moved on to the different available
frameworks)

Was there any necessity in the specifics you learned, or did you just
dabble in something (e.g. wxPython) for fun?

Are there still some things you feel you need to learn or improve?

Additional comments/complains here: :)
 
G

Grant Edwards

So out of curiosity, I'm just wondering how everyone else came
to learn it. If you feel like responding, I'll ask my
questions for easy quoting:

I didn't want to use Outlook to read my e-mail, so I needed a
way to get them onto a non-MS box. The only way to suck my
e-mails out of the MS server was to use the COM API built into
Outlook.

I didn't have any development tools on the Windows machine and
wasn't about to pay MS for a C/C++ compiler.

Google found me an example of doing COM stuff using Python.

It turns out that using Python was way easier than using C
would have been.
 
T

Thomas Guettler

Did you have to learn it for a job?

No, I learned it because Perl was too dirty and Java to complicated.
Now it is part of my daily job.
Also, how did you go about learning it?

Programming, reading this newsgroup, reading the python cookbook,
reading python source files of the standard library.
Was there any necessity in the specifics you learned, or did you just
dabble in something (e.g. wxPython) for fun?

I tried wxPython, but switched to pygtk. And I did some cgi programming
with quixote and ZODB.
Are there still some things you feel you need to learn or improve?

There are some things in Python I don't know very well: Decorators and
generators. But somehow I don't think that I really need them.

Thomas
 
?

=?iso-8859-1?q?Luis_M._Gonz=E1lez?=

Thomas said:
There are some things in Python I don't know very well: Decorators and
generators. But somehow I don't think that I really need them.

I think that I learn best when I have a problem and I'm trying to solve
it.
There are features that you don't know what they're for, and you never
use it, but when you come across an scenario where none of the features
you know can help you, you start wondering "there must be something
else..." and a quick search in google, or a python recipe, will give
you the solution and a sample usage of these features.
 
D

Dave Opstad

I had retired from Apple in 2001 after 33 years in the business, feeling
completely burned out. Didn't want to even look at another line of code.
After resting and recuperating for a couple years, though, I picked up a
book on Python (Alex Martelli's wonderful "Python in a Nutshell") and
started tinkering with it. I was utterly amazed at how well Python's
metaphors fit my way of thinking. It was actually fun to program again!

So now I'm back at work full-time, at a company that lets me do 95%+ of
my work in Python, and I'm having the time of my life. My copy of the
Martelli book is seriously dog-eared at this point; I'm glad a new
edition is being released in a few months.

In short: Python rocks.

Dave Opstad
 
B

BartlebyScrivener

Did you have to learn it for a job?

No.

Tried Perl first, but since I don't use it every day (sometimes don't
do anything but RUN scripts for weeks on end if I'm in a big project),
I would forget all of the Perl between learning sessions. Python seems
to be made of words, not symbols. Also, it seems to be a minimalist
language. I like that.

I had no computer science background, just a long time Windows user.
The Guido tutorial moved way too fast. Alan Gauld's "Learning To
Program" was just right. From there, lurking on this group, and books.
Especially the Python Cookbook, as I don't normally 'get it' when
someone just describes theory or an abstraction, I also must see an
example. The examples in the Cookbook are useful and also come with
explanations about how they work. Same goes for this group. Nine times
out of ten, when people answer a question here, they toss off an
example or two, which is just what I need.

I almost always have a task I want to do, e.g. search a database or
manipulate files. From there, I branch out and learn, even if it's not
part of the original task.

I am not touching OO, classes, or GUIs until I understand EVERYTHING
else. Could take a few years. ;)

rd
 
J

Jarek Zgoda

John Salerno napisa³(a):
So out of curiosity, I'm just wondering how everyone else came to learn
it. If you feel like responding, I'll ask my questions for easy quoting:

Did you have to learn it for a job?

Or did you just like what you saw and decided to learn it for fun?

Also, how did you go about learning it? (i.e., like I described above, I
started with the main stuff then moved on to the different available
frameworks)

Was there any necessity in the specifics you learned, or did you just
dabble in something (e.g. wxPython) for fun?

Are there still some things you feel you need to learn or improve?

The very first encounter was with Red Hat 5.2, back in 1998. RH had an
installer made with Python and NEWT toolkit. It looked great, just about
as good as any of my Clipper or TurboVision programs. I looked at the
code and it scared me (at this time, I was writing mostly in Clipper).

Then in 2001 I came to work in another company, which has MS Proxy at
its internet border. Being unable to use any of internet tool of my
choice, I quickly found a solution, NTLM Authorization Proxy Server
(NTLMAPS) by Dimitri Rozmanov. Which, to my surprise, is written in pure
Python. This time I was ready to learn Python. I started using it for my
spare-time projects and later I was able to "inject" Python to my
organization. This can be concluded as "learned for fun", but now it
takes part of my paid work.

I started with writing "glue" code for various system tools (i.o.w. as a
"shell scripting"), but now I tend to write standalone client tools,
with GUI in various toolkits (wxPython at work, PyGTK in my spare time).
They are mostly of "smart client" type, using various network interfaces
(ftp, http, xmpp, MQSeries).

And I still don't get this "web application" hype, and all these "web
frameworks" scare me, as I internally don't trust any magic.
 
S

Sybren Stuvel

John Salerno enlightened us with:
Did you have to learn it for a job?

Nope, but I do most of my job in Python nowadays. I heard rumours
about it being a nice language. After my first look at it, I was
hooked!
Also, how did you go about learning it?

I first followed the tutorial, then simply started using it. And I
watch this newsgroup to see if there are new things to learn.
Was there any necessity in the specifics you learned, or did you
just dabble in something (e.g. wxPython) for fun?

Mostly dabbling, although I learned (and improved) TLSLite because I
needed it for my graduation project.
Are there still some things you feel you need to learn or improve?

I'd love to be able to calll functions from Windows DLLs on x86 Linux.
Don't know if it'll be possible, though. Ideas anyone?

Sybren
 
J

John Salerno

Michele said:
I have already reported my first experiences with Python here:
http://groups.google.com/group/comp...onato+my+first+python&rnum=3#3d77eba36a97751d

Michele Simionato

Very interesting post. And I definitely agree with you that, as much as
everyone seems to suggest the tutorial, I find it very difficult to
actually learn from. It helps to provide a review for the language, but
as a newbie, I really wouldn't have learned Python from it.

I do, however, think the docs are pretty good, although I sometimes find
myself just wishing that a function definition was simply laid out in an
easy to read format that included all of its parameters, so I would know
exactly what to pass to it (I guess help() is good for this though).
 
S

Scott David Daniels

BartlebyScrivener said:
.... I am not touching OO, classes, or GUIs until I understand
EVERYTHING else. Could take a few years. ;)

You know how modules separate globals, right? That is, what you
write in one module doesn't affect the names in another module.
What classes (and hence OO) give you is a way of saying, "I'd
like something a bit like a module, but I'd like to make several
of them, and not have them interfere with each other." That is
the big intuition about objects, the rest is just details.

--Scott David Daniels
(e-mail address removed)
 
J

John Salerno

BartlebyScrivener said:
I am not touching OO, classes, or GUIs until I understand EVERYTHING
else. Could take a few years. ;)

LOL. That's exactly why I love Python, because you don't have to mess
with any of that (explicitly) if you don't want to! Of course, here I am
probably going way overboard by messing with classes and GUIs. I'd like
to reinforce all the Python basics first though, so I don't want to get
too far ahead of myself. I just need to find a project to work on that
will limit me to the Python basics (although I'm sure that will still
involve classes, at least).
 
J

John Salerno

Jarek said:
And I still don't get this "web application" hype, and all these "web
frameworks" scare me, as I internally don't trust any magic.

Yeah, I dabbled with CGI, but I haven't seriously looked into anything
like TurboGears yet. Of course, my problem is that I don't *need* to
learn TurboGears, Django, etc...I just feel the desire to learn them
(which is bad, in a way, because then I have no reason to use them!) And
of course learning a framework like this means learning a lot of other
parts too, like CherryPy, Mochi or something like that, etc. :)
 
S

Scott David Daniels

John Salerno wrote:
When I was pursuing a PhD, I was working on query optimization in
object-oriented databases. My thesis was that you could actually
do query optimization without breaking encapsulation, and I had
several tricks that I knew how to use to do that. I needed a
language in the DB that had static typing but no implication of
shared structure (implementation or class). In my investigation
for the work, I kept seeing references to Python, but (A) the white-
space issue made me think it was silly, and (B) I needed a static
typing for my work.

After graduate school, I returned to one of my hobby projects, a
string search program, that I wanted to update to a more modern
language. I ported the thing to C, but decided it was time to look
at Python more closely, so I used it to experiment with some of my
state machine building algorithms. By the end of the project, I
had fallen in love with Python as both a programming language and
a way of expressing algorithms to other programmers (who didn't
necessarily know it was Python I was writing).

--Scott David Daniels
(e-mail address removed)
 
J

Jarek Zgoda

John Salerno napisa³(a):
Yeah, I dabbled with CGI, but I haven't seriously looked into anything
like TurboGears yet. Of course, my problem is that I don't *need* to
learn TurboGears, Django, etc...I just feel the desire to learn them
(which is bad, in a way, because then I have no reason to use them!) And
of course learning a framework like this means learning a lot of other
parts too, like CherryPy, Mochi or something like that, etc. :)

Yea, that's right -- all these frameworks are of no use for me too. I
think I should learn at least some basics of them (like how WSGI stack
works), but my spare time is at most 2 hours at evening, so I choose
things that are closer to my current tasks, like new GUI framework (i.e.
Kiwi for PyGTK or Wax for wxPython) or new networking library.

Anyway, noone is expected to be an expert in every aspect. ;)
 
B

BartlebyScrivener

I'd like something a bit like a module,
Thank you. I sense what you are saying, but at this point I'd be
thinking, "Why not just make several modules?" :) I'll get to it. I've
got my hands full just learning everything else.

rd
 
D

Diez B. Roggisch

Sybren said:
John Salerno enlightened us with:

Nope, but I do most of my job in Python nowadays. I heard rumours
about it being a nice language. After my first look at it, I was
hooked!


I first followed the tutorial, then simply started using it. And I
watch this newsgroup to see if there are new things to learn.


Mostly dabbling, although I learned (and improved) TLSLite because I
needed it for my graduation project.


I'd love to be able to calll functions from Windows DLLs on x86 Linux.
Don't know if it'll be possible, though. Ideas anyone?

WINE? If you can run a DLL on linux, you can ultimately run a windows
python on linux I guess :)

Diez
 

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,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top