From Python Newbie to Python Guru on the Fast Track: HOW?

Michael Hudson mwh21 at cam.ac.uk
Tue Apr 4 12:24:11 CEST 2000


"Robert W. Cunningham" <rcunning at acm.org> writes:

> Well, I just bit off more than I can chew.  While I know barely enough
> Python to patch the occasional errant script, I've never written a thing
> of my own.
> 
> Now I need to get up to speed FAST to design and develop a
> cross-platform UI interoperability environment for Windows-to-Linux that
> will allow much tighter integration of Windows apps running on a Linux
> desktop, no matter if the Windows app is running locally under Win4Lin
> or VMware, or is running remotely on a machine on a LAN or WAN or even
> the Internet (via a remote-control app such as VNC).
> 
> I've selected Python simply due to the massive support it enjoys on both
> platforms (Windows Python is nothing less than amazing), the simplicity
> of the language itself, and it's ability to be used for fairly large
> distributed programs (via DOPY or PYRO or Fnorb).  However, when the
> Windows app is running locally, all unnecessary communication layers
> should be eliminated, since there is only one CPU available to run
> Linux, the Windows app, and this interface (making for one very busy
> CPU).

However, the Windows world still has to talk to the Linux world;
you're going to need a Python process in each and some way of them
talking to each other - like a socket?  I'd have thought you'd want to
leverage someone else's work in this area though - have you thought
about xmlrpc?

> The goal will be to provide only the connective interface needed to
> bridge "the User Interface Gap" in the simplest way possible, even if
> that way is not optimal at the start.  For example, all shared
> filesystems will be either vfat (if local) and/or NFS and Samba (until
> Windows gets native ext2 support ;^)).  This will allow the
> implementation of services such as Drag&Drop to avoid having to
> transport the dragged item itself, if it is a file, and will allow files
> to be used as an intermediary mechanism (including on RAM disks, to
> simplify or eliminate any shared memory issues).

Wow, you're certainly aiming high.

> Ultimately, I hope to expose Python Linux interfaces to many Windows
> services, ones that would permit dynamic application interaction (such
> as via ActiveX or OLE/COM), and maybe even to give Linux access to the
> Windows Media Player.  The primary focus will be two-fold:  1)  Make it
> easier for Windows apps to be sued from the Linux desktop.  2)  Give
                                ^^^^
Quality typo :-).

> Linux full access to Windows applications that have no true Linux
> equivalent (such as MathCad, LabView, TurboTax, Quicken, FaxTalk
> [answering machine + speakerphone + fax + BBS + ...], etc.).  One thing
> I like about this entire approach is that it makes Windows seem more
> like an optional Linux add-on than a competitor!

Hrm; I can't really see how you'd do the more visual things here; and
they're the things you'd want Windows for the most.

> I'm an embedded real-time systems wonk, with lots of hardware how-to (I
> hate device drivers with a passion - I've written far too many),
> fantastic debugging skills, a decade of design and programming, a thin
> layer of OOP, and very little Python experience.  I already program in
> at least 10 languages, so picking up a new one won't be hard.  But
> learning to use it well can be a bit harder, not to mention all the
> extension packages.

Generally speaking, one of the reasons Python is great is that doesn't
get in the way of what you're trying to do, ie. the difficulty of
programming something in Python is often closer to how hard the
problem actually is than with other languages.  But I think you've
chosen a pretty hard problem...

> As for the time angle:  I'm self-employed, and presently between
> clients.  I have at least a few weeks to devote 100% to this effort,
> maybe more.  At *least* a hundred hours or so, just to get started.
> 
> Then there's the money angle:  I don't mind spending $100 on this, but
> I'd like to keep it minimal (I also need to get a new system this month
> - this one is on its last legs).
> 
> Given where I am, and where I hope to go, what is the fastest way to
> fill in the gaps in my knowledge?

I don't think you could go far wrong by buying the "Python Essential
Reference" by Beazley.

> I'm looking for the best books and tutorials that will do the job, with
> my only access to other Python expertise being this newsgroup (or any
> other similar forum that may be recommended).  I will be completely
> unable to evaluate these resources until AFTER I've put substantial time
> into the effort, so I'd really like to avoid the lemon I'd likely wind
> up with if I shop randomly on FatBrain.  And I need to proceed to solid
> discussions of (and practice with) the various Python packages fairly
> quickly.  Please also include any on-line classes that are known to be
> fast-paced and effective.
> 
> Right now, I'm reading everything on Python.org, since I'll need to be
> familiar with that documentation no matter what else I use.
> 
> Suggestions?

Look for four-leafed clovers?  I wish you luck, but I think you may
have chosen a task for yourself that is pretty close to immpossible.

enjoy-yourself-anyway-ly y'rs
M.

-- 
well, take it from an old hand: the only reason it would be easier
to program in C is that you can't easily express complex  problems
in C, so you don't.                 -- Erik Naggum, comp.lang.lisp



More information about the Python-list mailing list