tag:blogger.com,1999:blog-4195135246107166251.post3285747448942201250..comments2023-05-08T07:04:09.641-07:00Comments on Neopythonic: So you want to learn Python?Guido van Rossumhttp://www.blogger.com/profile/12821714508588242516noreply@blogger.comBlogger32125tag:blogger.com,1999:blog-4195135246107166251.post-5254775685116671572012-08-22T19:31:30.320-07:002012-08-22T19:31:30.320-07:00Try the Python Cookbook by Alex Martelli. It may ...Try the Python Cookbook by Alex Martelli. It may not focus on performance tuning but it definitely shows the way for advanced users and discusses wizard-level language and library features.Guido van Rossumhttps://www.blogger.com/profile/12821714508588242516noreply@blogger.comtag:blogger.com,1999:blog-4195135246107166251.post-57523423599568072262012-08-22T18:34:18.428-07:002012-08-22T18:34:18.428-07:00As mentioned before,
can we see a review of advanc...As mentioned before,<br />can we see a review of advanced python programming books.<br /><br />There are so many beginner books for each and every programming language. However, finding a book which e.g., can be used as reference for python seems to be much more difficult (Implementation references not printed version of the online documentation).<br /><br />So far I couldn't find a good book for python which shows how to improve python code, where are bottlenecks and common gotchas and how certain (maybe unknown to the reader) python features can simplify or optimize certain algorithms and procedures.<br /><br />That is, we have many books to choice from to learn <br />print "Hello World!"<br />but far less choices to learn how to make a function call as efficient as possible.<br /><br />However, this is important to move python (and programmers) forward and to show "serious" programmers that python is not as bloated and as slow as they might believe.Unknownhttps://www.blogger.com/profile/01172938619092494018noreply@blogger.comtag:blogger.com,1999:blog-4195135246107166251.post-54325690148654684452012-08-22T12:01:02.233-07:002012-08-22T12:01:02.233-07:00It's me alright!It's me alright!Guido van Rossumhttps://www.blogger.com/profile/12821714508588242516noreply@blogger.comtag:blogger.com,1999:blog-4195135246107166251.post-46080426686619165022012-08-22T11:51:02.463-07:002012-08-22T11:51:02.463-07:00Is this a verified Guido van Rossum's Blog or ...Is this a verified Guido van Rossum's Blog or a fake.<br />TrackLeechhttps://www.blogger.com/profile/00993602255872334985noreply@blogger.comtag:blogger.com,1999:blog-4195135246107166251.post-88670676633772593962010-06-02T14:51:07.202-07:002010-06-02T14:51:07.202-07:00The games are extremely simple though: modern comp...<i>The games are extremely simple though: modern computer games are some of the most complex system around, and you can't expect to approach them using PyGame and a couple hundred lines of Python.</i><br /><br />My daughter, upon reading the preface to <i>Hello World</i> whined disappointedly: "Daddy, these look like WarioWare DIY games" (meaning that the graphics look - surprise - like they were drawn by kids messing around, and not by professionals) She accepted that you don't need fancy graphics to make a good game, but was clearly disappointed.dtmhttps://www.blogger.com/profile/08695928927082149527noreply@blogger.comtag:blogger.com,1999:blog-4195135246107166251.post-84347942818456076572009-10-06T19:46:44.359-07:002009-10-06T19:46:44.359-07:00I'm just wondering ...
I came across dozens if...I'm just wondering ...<br />I came across dozens if not even hundreds of books of the style "python for absolute beginners"<br /><br />However, I only found very rare good books about python for intermediate or pros. Is there no need ? or is python not mature enough for this audience ;) ? <br /><br />I miss book titles like<br /><br />Python for the C programmer<br />or <br />We are even welcome Ruby and Lua programmers come to the the bright side of live<br />or<br />Python Essentials Just the facts<br />or <br />Python starts where Fortran stops<br />or<br />The not so easy Python part<br /><br />To summarise I like to see more books which assume that the reader is known to the basics of programming and just need some guiding to the special parts and needs of python... maybe with a one by one compare to the "home" language of the reader.<br /><br />I really get annoyed to skip almost 2/3 of a book because of the ever repeating <br />* what is a for construct<br />* what does if then else<br />* how to install python <br />* how to start python<br />* what is an interpreter <br />* blablalbla<br /><br />Just my two cents <br /><br />TWUnknownhttps://www.blogger.com/profile/01172938619092494018noreply@blogger.comtag:blogger.com,1999:blog-4195135246107166251.post-71444198873173239092009-09-01T15:25:00.061-07:002009-09-01T15:25:00.061-07:00You misunderstand about SICP.
A computer which me...You misunderstand about SICP.<br /><br />A computer which merely runs is no great accomplishment unless it does so in service to a user.Anonymoushttps://www.blogger.com/profile/15347450426406439511noreply@blogger.comtag:blogger.com,1999:blog-4195135246107166251.post-56626825503967050252009-09-01T15:23:19.480-07:002009-09-01T15:23:19.480-07:00And you've all missed the point he was making ...And you've all missed the point he was making about SICP.<br /><br />What he said was that it leaves one with the impression that the most important thing a computer does is run programs.<br /><br />The most important thing a computer does is serve the purpose to which a user has set it. It's important that the software runs, definitely, however if all it does is run you still haven't accomplished anything.Anonymoushttps://www.blogger.com/profile/15347450426406439511noreply@blogger.comtag:blogger.com,1999:blog-4195135246107166251.post-37479136378019616682009-06-03T08:34:46.876-07:002009-06-03T08:34:46.876-07:00I'd be interested to see someone rewrite TAOCP...I'd be interested to see someone rewrite TAOCP in Python. I've tried several times to read it but never made it further than a few chapters. I think his assembly examples are a bit outdated, and this is coming from an experienced assembly programmer.coderpunkhttps://www.blogger.com/profile/15780416627307204084noreply@blogger.comtag:blogger.com,1999:blog-4195135246107166251.post-34976668131929105842009-05-30T20:25:26.106-07:002009-05-30T20:25:26.106-07:00>ChrisOH> that the most important thing that...>ChrisOH> that the most important thing that cars do is drive?<br /><br />>Guido> No, by that view cars would do nothing but burn gasoline.<br /><br />I think your comparison is faulty. <br /><br />The physical task that cars accomplish is transporting persons and goods from one place to another. They use fuel (gasoline) to provide the necessary power to accomplish this task. <br /><br />The physical task that computers accomplish is to interpret computer programs that describe input, output, and storage to peform, and further programs to process. They use fuel (electrical current) to provide the necessary power to accomplish this task. <br /><br />"cars consume fuel" is a faulty analogy -- "computer interpret programs" is an identified task they are design perform, but "consume fuel" is how they perform it, and is common to each system.<br /><br />-- as a side note, I misinterpreted your post originally. I thought the statement about the agenda of the book was meant to be complimentary, causing much confusion in reading the rest of the paragraph. Just as "cars move people" is simple, elegant, pragmatic, so to is "computer interpret programs". But I guess not.<br /><br />-- I too was also surprised that you find Knuth more accessible.<br /><br />-- Lastly, I do want to say something complimentary apart from the infighting that resulted ... I do like the note on the difference between learning _programming_ (ie, getting stuff done with computers) and the science and _theory_ (ie, understanding how and why programming works, and how to improved it). Both aspects are valuable, and I appreciate your recommendations on the former.Aaronhttps://www.blogger.com/profile/10658555678500278995noreply@blogger.comtag:blogger.com,1999:blog-4195135246107166251.post-56010838874163139502009-05-28T15:31:26.188-07:002009-05-28T15:31:26.188-07:00I wrote a book aimed at young adults and nonprogra...I wrote a book aimed at young adults and nonprogrammers called "Invent Your Own Computer Games with Python". It's available for free under a Creative Commons license here: <A HREF="http://pythonbook.coffeeghost.net" REL="nofollow">http://pythonbook.coffeeghost.net</A>The problem I kept coming across with other books is that they teach programming concepts well enough, but there aren't any complete examples for the reader to follow.<br /><br />This book provides complete source code for several small game projects (Guess the Number, Tic Tac Toe, encryption, Othello, etc.) kind of like the old BASIC source code listings you'd find in magazines.<br /><br />The book is undergoing heavy editing and will be published by No Starch Press as "Playing with Python". What do you think?AlSweigarthttps://www.blogger.com/profile/05433523704689475730noreply@blogger.comtag:blogger.com,1999:blog-4195135246107166251.post-35454406139549394602009-05-28T07:45:56.261-07:002009-05-28T07:45:56.261-07:00Okay, once you tried to demonstrate that Tail Call...Okay, once you tried to demonstrate that Tail Call Optimization is evil, something that, even after almost half a month, I still cannot stomach. Now, you try to say that SICP is a bad book just because it tries to explain one of the weirdest ability of computer programs (aka interpreting other programs). Now, I DON'T want to learn Python.<br /><br />Let's talk about SICP. The book has 5 chapters, only one of which (4th one) is about interpreter, the first 3 are about programming in general and the last one is on compilation.<br /><br />Now, SICP is not about how to impress your clueless peers by throw out the buggiest program possible that has a pretty interface, nor how to write yet-another-accounting-program, nor how to get the top paying job. No, it is about programming and computer program. It is written for college-level students, whose goal are supposed to be understanding and command over their subject matter, not for children who want to satisfy their ego.<br /><br />As such, it tries to demonstrate a simple way, with the minimal number of tools necessary, to do everything with a computer. It is supposed to teach modern magic, which relies not on a huge library and consumer-centric ideologies, but on deep understanding of both theory and pratice of Computer Science. If you care reading it, from time to time, you will see comments like "This is not how such and such things are implemented, since real implementation wants efficiency; we just want to show a simple way to do this". If its secret agenda is to convince the young minds that interpretion, why would it bothers with these comments?<br /><br />The best effect of SICP I experience is that nothing seems either mysterious or difficult anymore. Once, to me, compiler is like the hardest thing possible, and many problems are just impenetratable. Even writing an OS is easier to gasp than a compiler: at least you have something to start with (the compiler itself), right? Now, after SICP, nothing is impossible in my view. Yes, it is difficult, but it is possible. And the book also blurs the distinction between programming paradigms, or between code and data. In short, I feel EMPOWERED: I can do everything, as long as I am careful enough.<br /><br />Maybe this is why Lispers are generally better programmers than, says, Pythonians, or Java programmers, or (God forbids) Basic and Cobol programmer. Because their communities, their books, their programming languages tell them that, "hey, you CAN do it. Nothing is impossible, eh?", not, "NO, YOU ARE FORBIDDEN TO DO SUCH AND SUCH, YOU UNWORTHY, STUPID, UNDISCIPLINED CREATURES. THESE ARE THE ONLY THINGS YOU CAN DO."<br /><br />By the way, I think I have discovered the secret agenda of Python and its community. Let me guess: take away the can-do spirit of the programmers, enslave them into some pre-defined ways of doing things, and jail them into the von Neumann architecture forever. What a noble cause!<br /><br />You know, once upon the time, Computer Science is the best, the most optimistic, the funniest discipline to be in, since it is where we, humans, deal directly with our thoughts, and can do anything that we can think of, unlimitted by physical restrain. Now, look at this kind of languages, Python and its kindreds of Java and C# and C++ and (I highly suspect) Ruby, which seek to, um, "protect" the programmers, and render programmers no more than mere coders. How sad that is.Lamhttps://www.blogger.com/profile/17487976623429444306noreply@blogger.comtag:blogger.com,1999:blog-4195135246107166251.post-20860375290309599152009-05-28T01:46:50.510-07:002009-05-28T01:46:50.510-07:00I do not understand the stab at SICP as having an ...I do not understand the stab at SICP as having an "agenda" more so than any other book. It's called the Structure and Interpretation of Computer Programs, and that's exactly what it is about. No book I know of so gracefully takes a person from "(define (square x) (* x x))" to a garbage collector in one volume.<br /><br />It teaches -- and excellently so, in my opinion -- a way to read and reason about computer programs of multiple paradigms while providing conceptual tools to do so expertly. I'm a little surprised you'd be so quick to denigrate the importance of this book for a set of works that is, as far as I can tell, close to orthogonal in its subject matter.fdrhttps://www.blogger.com/profile/17355808021372259590noreply@blogger.comtag:blogger.com,1999:blog-4195135246107166251.post-50455833291668651862009-05-28T01:45:00.492-07:002009-05-28T01:45:00.492-07:00This comment has been removed by the author.fdrhttps://www.blogger.com/profile/17355808021372259590noreply@blogger.comtag:blogger.com,1999:blog-4195135246107166251.post-4709738007567014352009-05-27T21:44:26.157-07:002009-05-27T21:44:26.157-07:00"Would it be an "agenda" to convince someone that ..."Would it be an "agenda" to convince someone that the most important thing that cars do is drive?"<br /><br />Yes, it would. People drive cars. The definition is "To guide, control, or direct (a vehicle)." Trying to convince someone that cars drive would just be wrong and would likely indicate you have some evil agenda.Michael Niessnerhttps://www.blogger.com/profile/13476231082563423191noreply@blogger.comtag:blogger.com,1999:blog-4195135246107166251.post-2719640760299705902009-05-27T21:42:20.413-07:002009-05-27T21:42:20.413-07:00No, by that view cars would do nothing but burn ga...No, by that view cars would do nothing but burn gasoline.Guido van Rossumhttps://www.blogger.com/profile/12821714508588242516noreply@blogger.comtag:blogger.com,1999:blog-4195135246107166251.post-67222081712378196012009-05-27T21:08:09.821-07:002009-05-27T21:08:09.821-07:00Isn't interpreting computer programs pretty much t...Isn't interpreting computer programs pretty much the _only_ thing that computers do? That's not so much an "agenda" as a fact.<br /><br />To further illustrate this brain-dead point:<br /><br />Storing files, viewing the internet, word processing -- File manager = program, web-browser = program, word processor = program.<br /><br />Would it be an "agenda" to convince someone that the most important thing that cars do is drive?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-4195135246107166251.post-37033144677412710412009-05-27T16:13:43.134-07:002009-05-27T16:13:43.134-07:00I'm sorry - I really don't understand the meaning ...I'm sorry - I really don't understand the meaning of the last paragraph around SICP's agenda.<br /><br />Should I take away that reading (can you name a specific book perhaps?) Knuth is better than reading SICP for learning CS?<br /><br />For me, SICP was the one book that I got the most out of; and yes I also came away from it as a Scheme programmer! That said - I'll program in anything.NSFWhttps://www.blogger.com/profile/01548025253626562494noreply@blogger.comtag:blogger.com,1999:blog-4195135246107166251.post-53324346770594821172009-05-27T14:57:10.242-07:002009-05-27T14:57:10.242-07:00"Python for Dummies" is another excellent book for..."Python for Dummies" is another excellent book for teaching the true novice. I have not yet seen "Hello World" but all the other "beginning" books I have looked at assume more background than a real beginner will have. It's surprisingly difficult to write at that level, and probably requires a lot of "user testing" to get right.Jonathan Ellishttps://www.blogger.com/profile/11003648392946638242noreply@blogger.comtag:blogger.com,1999:blog-4195135246107166251.post-49332862019071096072009-05-27T14:56:23.137-07:002009-05-27T14:56:23.137-07:00SICP (as it is often referred to) has its own agen...<I>SICP (as it is often referred to) has its own agenda: convincing the reader that the most important thing computers can do is interpreting computer programs.</I>Um... what else do computers do?Josh Stonehttps://www.blogger.com/profile/04024751031976348316noreply@blogger.comtag:blogger.com,1999:blog-4195135246107166251.post-16282977534329570452009-05-27T12:52:09.459-07:002009-05-27T12:52:09.459-07:00I still maintain that the Python tutorial (on the ...I still maintain that the Python tutorial (on the Python.org site) is a fine way to start learning the language.Talinhttps://www.blogger.com/profile/11160561365552764247noreply@blogger.comtag:blogger.com,1999:blog-4195135246107166251.post-16073921714604261782009-05-27T11:25:05.930-07:002009-05-27T11:25:05.930-07:00I'm not cut out for self-learning a computer langu...I'm not cut out for self-learning a computer language. <br />Hate the fact that Python (instructor-led) classes resources are almost none-existent (try searching for one in this little town called NYC Metro)<br /><br />sighRoberthttps://www.blogger.com/profile/06757914721711308458noreply@blogger.comtag:blogger.com,1999:blog-4195135246107166251.post-20882434766985315482009-05-27T10:12:00.404-07:002009-05-27T10:12:00.404-07:00Do you have any suggests on expert or advanced Pyt...Do you have any suggests on expert or advanced Python programming books? While there are lots of books that will teach how "how to program in Python from the ground up" there are very few that go in depth on features like __magic__ functions and variables, operator overloading, generators, the peculiarities of the class system, properties, the descriptor protocol, etc. Somehow I learned a lot of that stuff but I don't recall how. I wish I could recommend a book.Mike Verdonehttps://www.blogger.com/profile/13638359196609476290noreply@blogger.comtag:blogger.com,1999:blog-4195135246107166251.post-9492550145067341282009-05-27T07:46:39.458-07:002009-05-27T07:46:39.458-07:00Please read the table of the contents of the books...Please read the table of the contents of the books at http://helloworldbook.com, http://www.pragprog.com/titles/gwpy/practical-programming, http://mitpress.mit.edu/sicp/.Guido van Rossumhttps://www.blogger.com/profile/12821714508588242516noreply@blogger.comtag:blogger.com,1999:blog-4195135246107166251.post-29626300575145728532009-05-27T07:18:45.968-07:002009-05-27T07:18:45.968-07:00Perfect timing! I've promised to teach my two boy...Perfect timing! I've promised to teach my two boys how to program using python this summer. We've already started with a simple calculator that determines the weight of a giant of any size made of any of 500 different materials.<br /><br />That was fun and has been a good basis for layering additional language features. But I've been wondering what would be the next good exercise. Few of the books I've found include any. Can you tell me if "Hello World" includes anything else besides games? For example, grabbing content off the web, analyzing data, etc.Ken Farmerhttps://www.blogger.com/profile/01862048584517915886noreply@blogger.com