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. 10 1732
"John Benson" <js******@benso nsystems.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
| 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?"""
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
> 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. ca**********@uk mail.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!" ca**********@uk mail.com (Mark Carter) wrote in message news:<d3******* *************** ***@posting.goo gle.com>... 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
> > 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. ca**********@uk mail.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 This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
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 to give
students definitive information where possible and am looking for a book
to use as a text book to make sure I don't miss anything out or...
|
by: Michael McGarry |
last post by:
Hi,
What is the best book covering Python?
Michael
|
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 C++. I find my self sometimes, trying
Object app = Object();
Object *app = Object();
Object app = new Object();
|
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 ?
Thanks
|
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 code
was littered with document.all and eval, for example, and I wanted to create
a practical list of best practices that they could easily put to...
| |
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?
|
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 Database:
#this was corrected because original "import sqlite" does not work
from pysqlite2 import dbapi2 as sqlite
#this function strips the txt...
|
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 C++ Standard Library : A Tutorial and Reference (most of it)
Exceptional C++
|
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 efficient
navigating within Visual Studio 2005. Let's say your project (or
solution) has dozens of forms and hundreds or even thousands of
routines.
...
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main...
|
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 tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that...
| |
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 Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then...
|
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 then checking html paragraph one by one.
At the time of converting from word file to html my equations which are in the word document file was convert...
|
by: TSSRALBI |
last post by:
Hello
I'm a network technician in training and I need your help.
I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs.
The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols.
I succeeded, with both firewalls in...
|
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 we have to send another system
|
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
| |
by: bsmnconsultancy |
last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating...
| | |