473,503 Members | 1,769 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

best book: aint no such thing, and encouragement for old coots

Hi, I see a lot of posts asking about "the best Python book." In my
experience, there is no such thing, but there are a lot of good books that
will help you along in different ways, and at different times.

First of all, I'd like to clarify my position on learning: I subscribe to
the adobe hacienda school of autodidactic technology, to wit:

"If you throw enough adobe at the side of the hacienda, some of it will
stick"

At one time or another, I've dipped into the various O'Reilly Python books,
Grayson's Python and Tkinter Programming, and Christopher's Python
Programming Patterns. They're all good, but I need to see the same difficult
or complex thing presented various times in various contexts to really get
comfortable with it. Hence the multiple viewpoints of multiple books, and I
will also read an individual book more than once, interspersed with other
volumes. Enough adobe ends up adhering to my mental hacienda so that I can
accomplish things in Python.

And now, some encouragement for old techies who have considered going into
management with writing cool software is enough:

My formal education in data processing stopped with Advanced Data Structures
back in the eighties, and I coasted along doing journeyman programming in
various COBOLs, Cs and proprietary languages. Of course, I stayed reasonably
current with stuff like Dijkstra's Structured Programming, DeMarco's
Structured Analysis, Date's Relational Database and other flavors of
business software technology which were my stock in trade, but otherwise I
avoided the paradigm of the week. Then I ran into Python about two years ago
and all of a sudden there was OOP, functional programming, aspect-oriented
programming and other stuff that I had maybe heard about but hadn't actually
worked with, all staring back at me from the pages of Python books and the
mailing list. It's been pretty much a process of creative destruction:
starting all over, but from a higher and clearer conceptual vantage point.
And, of course, I didn't really forget all the other stuff, I just pushed it
into the background long enough to get a new appreciation of it from this
new point of view. In summary, I'd like to recommend getting into Python as
a rather easy and fun way to talk the talk and walk the walk nowadays; it's
been a very rewarding and refreshing software engineering update.

Jul 18 '05 #1
10 1721
"John Benson" <js******@bensonsystems.com> writes:
Hi, I see a lot of posts asking about "the best Python book." In my
experience, there is no such thing, but there are a lot of good books that
will help you along in different ways, and at different times. First of all, I'd like to clarify my position on learning: I subscribe to
the adobe hacienda school of autodidactic technology, to wit: "If you throw enough adobe at the side of the hacienda, some of it will
stick" At one time or another, I've dipped into the various O'Reilly Python books,
Grayson's Python and Tkinter Programming, and Christopher's Python
Programming Patterns. They're all good, but I need to see the same difficult
or complex thing presented various times in various contexts to really get
comfortable with it. Hence the multiple viewpoints of multiple books, and I
will also read an individual book more than once, interspersed with other
volumes. Enough adobe ends up adhering to my mental hacienda so that I can
accomplish things in Python. And now, some encouragement for old techies who have considered going into
management with writing cool software is enough: My formal education in data processing stopped with Advanced Data Structures
back in the eighties, and I coasted along doing journeyman programming in
various COBOLs, Cs and proprietary languages. Of course, I stayed reasonably
current with stuff like Dijkstra's Structured Programming, DeMarco's
Structured Analysis, Date's Relational Database and other flavors of
business software technology which were my stock in trade, but otherwise I
avoided the paradigm of the week. Then I ran into Python about two years ago
and all of a sudden there was OOP, functional programming, aspect-oriented
programming and other stuff that I had maybe heard about but hadn't actually
worked with, all staring back at me from the pages of Python books and the
mailing list. It's been pretty much a process of creative destruction:
starting all over, but from a higher and clearer conceptual vantage point.
And, of course, I didn't really forget all the other stuff, I just pushed it
into the background long enough to get a new appreciation of it from this
new point of view. In summary, I'd like to recommend getting into Python as
a rather easy and fun way to talk the talk and walk the walk nowadays; it's
been a very rewarding and refreshing software engineering update.

The next step is to read "Structure and Interpretation of Computer Programs"
aka SICP and start all over again, in terms of "clearer conceptual vantage
point" it just can't be beat. It's even availabe online somewhere.

Eddie

Jul 18 '05 #2
| Eddie Corns said |
The next step is to read "Structure and Interpretation of Computer Programs"
aka SICP and start all over again, in terms of "clearer conceptual vantage
point" it just can't be beat. It's even availabe online somewhere.


Here:
http://mitpress.mit.edu/sicp/full-text/book/book.html

It's the major reason I'm learning scheme.
I just don't stop hearing good things about this book.

Sam Walters.

--
Never forget the halloween documents.
http://www.opensource.org/halloween/
""" Where will Microsoft try to drag you today?
Do you really want to go there?"""

Jul 18 '05 #3
On Fri, 16 Jan 2004 12:00:27 GMT, Samuel Walters
<sw*************@yahoo.com> wrote:
http://mitpress.mit.edu/sicp/full-text/book/book.html

It's the major reason I'm learning scheme.
I just don't stop hearing good things about this book.


Yep, and a good companion volume, also online is

How To Design Programs

http://www.htdp.org/2001-11-21/Book/

Which is a more hands on, day to day type scheme tutor but
emphasises all the same principles. It's less math oriented
that SICP which might appeal to some.

But SICP is definitely the more "life changing" in impact.

Alan G.
Author of the Learn to Program website
http://www.freenetpages.co.uk/hp/alan.gauld
Jul 18 '05 #4
Samuel Walters <sw*************@yahoo.com> writes:
| Eddie Corns said |
The next step is to read "Structure and Interpretation of Computer Programs"
aka SICP and start all over again, in terms of "clearer conceptual vantage
point" it just can't be beat. It's even availabe online somewhere.


Here:
http://mitpress.mit.edu/sicp/full-text/book/book.html

It's the major reason I'm learning scheme.
I just don't stop hearing good things about this book.


Well, when you think you want a loop and before you know it you've
written:

(define (my-func arg1 arg2)
(define (inner var)
...

it's probably time to come back to a less spartan programming
language. I mean, it's good to know that you *can* write loops that
way, but that doesn't mean it actually *is* a good idea.

Cheers,
mwh

--
MARVIN: Oh dear, I think you'll find reality's on the blink again.
-- The Hitch-Hikers Guide to the Galaxy, Episode 12
Jul 18 '05 #5
> Well, when you think you want a loop and before you know it you've
written:

(define (my-func arg1 arg2)
(define (inner var)
...

it's probably time to come back to a less spartan programming
language. I mean, it's good to know that you *can* write loops that
way, but that doesn't mean it actually *is* a good idea.


I'm experimenting with learning a functional language; and I know
almost zero about Scheme. I find it very difficult to understand the
structure of what's going on. I downloaded Standard ML (the New Jersey
offering), and find myself more inclined to dig into ML deeper; rather
than Scheme. ML does, at first glance, seem more readable.

I suppose that Schemers and Lispers take the attitude that a lack of
syntax is an advantage, because you can ultimately program in any
paradigm you wish. It's "just" a case of writing code that implements
the paradigm. I have also heard claims that the existence of
parantheses in s-exprs is a red herring as far as readability is
concerned.

Non Schemers/Lispers, on the other hand, presumably think that a
spoonful of syntactic sugar helps the medicine go down.

I suspect that if there really was One Obviously Right Way To Do It,
then we'd all be using it. No silver bullet, and all that.

I am sure, though, that there will be many people who disagree with my
sentiments.
Jul 18 '05 #6
ca**********@ukmail.com (Mark Carter) writes:
I'm experimenting with learning a functional language; and I know
almost zero about Scheme. I find it very difficult to understand the
structure of what's going on. I downloaded Standard ML (the New Jersey
offering), and find myself more inclined to dig into ML deeper; rather
than Scheme. ML does, at first glance, seem more readable.
It's probably a lot more important to stretch yourself out in that direction
than to worry about which flavour.
I suppose that Schemers and Lispers take the attitude that a lack of
syntax is an advantage, because you can ultimately program in any
paradigm you wish. It's "just" a case of writing code that implements
the paradigm. I have also heard claims that the existence of
parantheses in s-exprs is a red herring as far as readability is
concerned.
The supposed unreadability is a complete nonsense, you quickly don't notice
the parentheses and rely mostly on the indentation. I think I'll start
looking for another project I can do in Scheme, it's been ages.
Non Schemers/Lispers, on the other hand, presumably think that a
spoonful of syntactic sugar helps the medicine go down. I suspect that if there really was One Obviously Right Way To Do It,
then we'd all be using it. No silver bullet, and all that. I am sure, though, that there will be many people who disagree with my
sentiments.


Who cares eh? The important thing is to get the message through to the few
who can think for themselves and give them a chance to rise above the
mediocrity.

Somehow I'm reminded of a sequence in a novel I was reading at the weekend:

Q:"Do you exercise?"
A:"Only restraint!"

Jul 18 '05 #7
ca**********@ukmail.com (Mark Carter) wrote in message news:<d3*************************@posting.google.c om>...
I suppose that Schemers and Lispers take the attitude that a lack of
syntax is an advantage, because you can ultimately program in any
paradigm you wish. It's "just" a case of writing code that implements
the paradigm.
Uh? The lack of syntax has nothing to do with the lack of paradigm,
I miss you point, sorry.
I have also heard claims that the existence of
parantheses in s-exprs is a red herring as far as readability is
concerned.


That's true, the parentheses are a not a problem for readability, they
are a problem for *writability*: in practice, they force you to use emacs
or The Other Editor. Somebody can argue that this is a Good Thing,
anyway ;) So, it is somewhat true that Lisp/Scheme are difficult to
read, but this is due to the choice of names and to the unusual order
of evaluation more than to the parentheses. Just my 2 eurocents,

Michele Simionato
Jul 18 '05 #8
> > I suppose that Schemers and Lispers take the attitude that a lack of
syntax is an advantage, because you can ultimately program in any
paradigm you wish. It's "just" a case of writing code that implements
the paradigm.


Uh? The lack of syntax has nothing to do with the lack of paradigm,
I miss you point, sorry.


What I meant was: programs written in s-exprs makes it possible to
accomodate new paradigms because, ultimately, everything is a list,
which you can parse to accomodate your new paradigm. Programs not
written in s-exprs require extra syntax to be bolted onto the
language.

But I suppose, if you want, to argue that all Turing Complete
languages are equivalent, so they support all the paradigms that the
others support.
Jul 18 '05 #9
ca**********@ukmail.com (Mark Carter) writes:

What I meant was: programs written in s-exprs makes it possible to
accomodate new paradigms because, ultimately, everything is a list,
which you can parse to accomodate your new paradigm. Programs not
written in s-exprs require extra syntax to be bolted onto the
language.
The way I view it is that you can express _everything_ you want a computer to
do as:

COMMAND arg1 arg2 ...

When you have code as data thrown in to the mix you can extend this concept to
what you want done with code, so as well as saying:

ADD x y z
PUT this there
etc.

you have the ability to control the way code is executed

DO this-body-of-code
DO this-body-of-code for all these things

And essentially new paradigms ARE about how we organise code, so we can indeed
adapt to any paradigm AND we still have minimum syntax to deal with. One of
the things I like about scheme in this instance is that the rules of your
paradigm are explicit in the code/macros that you create to parse the basic
constructs of your paradigm (objects, messages, whatever).
But I suppose, if you want, to argue that all Turing Complete
languages are equivalent, so they support all the paradigms that the
others support.


Then you run into Greenspun's tenth rule amongst others. Also, of course, you
have to consider expressiveness which is much harder to pin down.

Eddie
Jul 18 '05 #10
On Tue, 20 Jan 2004 16:45:45 +0000 (UTC), ed***@holyrood.ed.ac.uk (Eddie
Corns) declaimed the following in comp.lang.python:

ADD x y z
PUT this there
etc.
<eeeekkkk> It's the return of BASEX!
you have the ability to control the way code is executed

DO this-body-of-code
DO this-body-of-code for all these things
Or maybe COBOL

-- ================================================== ============ <
wl*****@ix.netcom.com | Wulfraed Dennis Lee Bieber KD6MOG <
wu******@dm.net | Bestiaria Support Staff <
================================================== ============ <
Home Page: <http://www.dm.net/~wulfraed/> <
Overflow Page: <http://wlfraed.home.netcom.com/> <

Jul 18 '05 #11

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
1831
by: Geoff Berrow | last post by:
I'm a college lecturer and have been running an 'Introduction to PHP' course. It's been going quite well and my boss has suggested I might like to think of a slightly more advanced course. I want...
18
2350
by: Michael McGarry | last post by:
Hi, What is the best book covering Python? Michael
11
9211
by: DrUg13 | last post by:
In java, this seems so easy. You need a new object Object test = new Object() gives me exactly what I want. could someone please help me understand the different ways to do the same thing in...
5
2471
by: Panama Red | last post by:
I would like to learn to program in c++ on Linux and AIX systems...mainly socket and fifo type stuff. Can someone recommend a book for someone with experience only with Perl, shell, and Pick/Basic...
136
9201
by: Matt Kruse | last post by:
http://www.JavascriptToolbox.com/bestpractices/ I started writing this up as a guide for some people who were looking for general tips on how to do things the 'right way' with Javascript. Their...
6
3388
by: coinjo | last post by:
Which is the best C++ book both for all type of programmers i.e. for beginners, intermediates and experts as well?
8
2289
by: Vittorio | last post by:
I am reading "Beginning Python from Novice to Professional" and the book is really awesome. Nonetheless on ch 13 "Database Support" I found this code to import data (in a txt file) into a SQLite...
26
3590
by: puzzlecracker | last post by:
It'd be interesting to compare the learning practices of c++ practitioners. I'll start with mine The C++ Programming Language C++ Primer Effective C++ More Effective C++ Effective STL The...
16
2770
by: Rex | last post by:
Hi All - I have a question that I think MIGHT be of interest to a number of us developers. I am somewhat new to VIsual Studio 2005 but not new to VB. I am looking for ideas about quick and...
0
7076
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7323
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
6984
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
7453
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
1
5005
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
4670
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
3151
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
1507
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
1
732
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.