Domain: diveintopython.org
Stories and comments across the archive that link to diveintopython.org.
Comments · 65
-
A Critical Review
I perused the chapters from start to end, skimming over all-too familiar ones, and looking at the writing and examples explained. It's a fine read for people new to programming.
It may not be very technically in-depth, may not cover all examples, and it may not warn about all the caveats, but it's a good place nonetheless.
That's the point of this book.
If you already know programming, you might find it a bit slow, and would probably prefer something like Dive Into Python.
I like the creative examples near the end, which introduces ideas like string manipulation and sentence parsing.
I found some of the writing too prolix, for my liking, but that's just me. And no, I don't have ADHD; my other personality might though.
Kudos to the Author, Zed.
-
Re:Python
http://www.diveintopython.org/ - awesome book for learning Python, IMO.
Having said that, at 12 years old I learned Pascal. Syntax aside, it's close enough to C in most aspects that I don't see why he can't learn C, if that's where you think he should end up.
-
Re:You're asking the wrong question
Physical books don't have source code
Ofcourse they do. It's a lot easier to work with the (in almost all cases) original electronic text than the printed form. It's why word processors are so popular. Personally I'd prefer Vim and (La)TeX -- but the fact remains that most written works from the 90s onwards has something that could very well be described as source text (I agree, it's not really code, not even if it's in plan TeX).
I haven't seen a book published under any kind of open license available in print.
How about: http://diveintopython.org/ ? And depending on your definition of "available in print": http://www.lulu.com/browse/search.php?fKeywords=gnu (along with pretty much any book available in ps/pdf/tex that you can print for yourself at lulu, licence permitting...).
Also found this which is available as a gratis download, and might be of help to the original poster:
http://www.lulu.com/content/paperback-book/intro-to-computers/2230846
-
No Unix admins here? (wasRe:Different torrent cli)
Maybe I haven't done enough work in the "enterprise", but wouldn't a script in a cron job be more appropriate here? Program it to check for a new
.torrent file every day (or an appropriate frequency), and when new, start bittorent.Off the top of my lame head, I can think of at least two easy ways to check for new torrents. The easiest would be to just download the previous torrent file, and cmp it with the old one.
The second would be to write a python script which keeps track of the etag or modification time of your
.torrent update. It is easy, just read Chapter 11 of Dive into Python. Section 11.6 appears to have what you want. -
No Unix admins here? (wasRe:Different torrent cli)
Maybe I haven't done enough work in the "enterprise", but wouldn't a script in a cron job be more appropriate here? Program it to check for a new
.torrent file every day (or an appropriate frequency), and when new, start bittorent.Off the top of my lame head, I can think of at least two easy ways to check for new torrents. The easiest would be to just download the previous torrent file, and cmp it with the old one.
The second would be to write a python script which keeps track of the etag or modification time of your
.torrent update. It is easy, just read Chapter 11 of Dive into Python. Section 11.6 appears to have what you want. -
My 2 cents
Well at my college we are all Linux, they start you off with C++, but IMO I think they should start off with Python to ease in the freshmen. I would suggest Django/Python for web programming (I am in the process of learning), also PHP (which I love and currently do all my side projects in) as for non web programming I would go with C/C++, and dare I say Java.
You can find Python book online, and Django book as well.
For a good IDE I really like Geany, it works well with a Linux system, and it's light weight. It looks for installed compilers so you don't have install anything on top it as long as you have all the stuff you needs like GCC, OpenJDK, etc. -
...there's a better solution
Python for scientific analysis,
Python is the solution I recommend for everyone who looks for tips on advanced Excel uses. Excel is OK if you just want some quick and dirty solution for a small problem, but if you have to go to the trouble of reading a book, Excel is clearly not the best solution.
For scientists and engineers who need something more than what Excel (and possibly Matlab) offers, I recommend starting with either A Byte of Python or Dive Into Python.
-
Best Python tutorial (at least from my opinion)Well, I was wondering why nobody mentioned it yet, so I'll throw in my 3.14159 cents.
a neat and tidy guide, after which u'll end up loving snakes..
na hawedere!
may the alps be with u's
-
Re:Do you really think it is the case...
I'm in an electronics engineering college course, and I'm using a 1976 textbook. Most of the other ones are from the 80's and the newer ones are revisions from originals of about the same age or even older.
Of course a computer class changes much more often, though the basics (and that's what you want) change much less often. Keep the basics and update hardware specs and you have everything you need.
If what you want is a programming course, you could take a look at the python programming language. It's easy to learn the syntax and quite powerful. Also, there are many free (and good) textbooks available online, like the Python tutorial itself and Dive Into Python -
Re:Think Python
A good supplement (and stand alone if the students already have some programming experience) is Dive Into Python, one of the best python books around. It's free and available in print form. Its' a great intro book 'cause it's really well organized such that the chapters really build on each other for the most part. It's also awesome 'cause the author walks through every example program, explaining what each part does and how it all works together.
-
Re:Off the top of my head?
You've probably never done any coding in Python. Check out the book Dive Into Python (it's free and online): http://www.diveintopython.org/ Even browsing through it will give you a better idea of what Python is good for.
Personally, I think of Python as a prettier and more coherent version of Perl. -
Dive into Python
Whether it's Ruby on Rails, or Django, most developers will have to learn a new language. Python has a book available online: Dive into Python. I found it very easy to switch from C/C++/PHP to python. Django does have a slight learning curve though. Oh, and be aware, the Django documentation online is for their SVN version! Most likely NOT your distro's version. They are still under heavy development.
-metric -
Re:huh?
Isn't a book that uses Microsoft Word's
.doc format called a Word document?
A document doesn't turn into a physical book until you hit print. The book itself is about the content, not the physical form. Dive into Python is a book that I just happened to read online in web page form. -
Re:On the cheap side ...
Byte of Python and Dive Into Python are also worth looking at.
-
Re:LAM-PPython has a for loop, as you're probably aware e.g:
list = ['a', 'b', 'c']
will print:
for item in list:
print itema
But it doesn't have the C initialisation syntax. That's not necessarily bad, it's just "not C". It's also great to be able to say "for each object in some list" rather than "for each index into the array" - it makes your code cleaner. But you can index into lists of you really want.
b
c
More details here (from the book Dive Into Python - it's both free and very good!):
http://www.diveintopython.org/file_handling/for_lo ops.html
Also, you'll find as you get more experienced with python, you will use lists in interesting ways more and more where you would once have used for loops. Not only is this more elegant, but more efficient in python too.
Here's a good example:
http://divmod.org/trac/wiki/PotatoProgramming
And the section on lists from the aforementioned book:
http://www.diveintopython.org/native_data_types/li sts.html
If you still want to use ending conditions however, you can use while statements instead or break out of the loop on some condition. I'm not that experienced a python programmer.. there may be better ways. -
Re:LAM-PPython has a for loop, as you're probably aware e.g:
list = ['a', 'b', 'c']
will print:
for item in list:
print itema
But it doesn't have the C initialisation syntax. That's not necessarily bad, it's just "not C". It's also great to be able to say "for each object in some list" rather than "for each index into the array" - it makes your code cleaner. But you can index into lists of you really want.
b
c
More details here (from the book Dive Into Python - it's both free and very good!):
http://www.diveintopython.org/file_handling/for_lo ops.html
Also, you'll find as you get more experienced with python, you will use lists in interesting ways more and more where you would once have used for loops. Not only is this more elegant, but more efficient in python too.
Here's a good example:
http://divmod.org/trac/wiki/PotatoProgramming
And the section on lists from the aforementioned book:
http://www.diveintopython.org/native_data_types/li sts.html
If you still want to use ending conditions however, you can use while statements instead or break out of the loop on some condition. I'm not that experienced a python programmer.. there may be better ways. -
Dive Into Python
http://www.diveintopython.org/
For those that know how to program. Accept no substitutes. -
Re:Too many pirates riding the snake...
Dive Into Python really helped me to get started. You can buy it as a book, but it's also available for free on the web. Guido's own tutorial is also a good way to get started, as python's creator wrote it himself, and is a pretty good teacher too. Both of these are no big secret, but both are well written and clear, so i'd check them out first before looking for more detailed tutorials. Python's official documentation/website are really so good that looking elsewhere is for the most part unnecessary.
-
Re:Too many pirates riding the snake...Python Tutorial
Dive Into Python is a great online book if you have some programming experience. Buy the dead tree if you like it.
-
Re:Baroque doesn't begin to describe itI like Perl and used to use it a lot, but I've replaced it with Python for personal and business use. I don't have anything against it; it just wasn't as close a fit to the way I think about programming.
My current job doesn't really require me to do that much scriping, but when it does, I usually go to perl. I've never used python although it seems to be a good alternative.
We use Python for full-blown application development and have been very pleased with the results. If you're interested in trying it, check out the online book "Dive Into Python". Actually, I'd recommend that even if you're not interested - exposure to a new language is always a good thing, if only to make you appreciate how much you like the others you already know.
-
Better Suggestion
Here's a good book for those who fancy themselves php experts: http://diveintopython.org/
-
Re:The yuppies are coming
Except the two nerds mentioned are old-school *nix hands. One of 'em helped invent XML, and plugs Solaris aplenty. The other's written a very good "universal" feed parser that does a pretty good job with all sorts of cruddy feeds, along with a nice free book about Python and another about web accessibility. They don't fit the profile you describe. If you read their reasons, they're dropping OSX because the basic usability gap between it and Ubuntu isn't wide enough (to them) to justify Apple's lack of support for preserving their data.
-
License of the bookThis discussion is a bit muddled because it misses the fact that a book is not a bunch of paper sheets bound with glue or wires. A book is a bundle of ideas. Books can be electronic, or they can be bound.
I think the grandparent poster's real beef is not that the author of the book has published something that's printed on dead trees. Instead, GP's problem is that the book has a restrictive license. There are dead-tree books out there, such as Dive into Python, that are licensed under the GNU Free Documentation License. Full text is available online as well.
There are also books at the Linux Documentation Project that are not available on dead trees, unless you print them yourself.
All that said, I don't understand GP's beef either. Ubuntu is not a community based distro. Sure, it benefits Shuttleworth to cultivate this community myth, but Ubuntu's from a for-profit company. Even if Ubuntu truly were community-based, I'd have no problem with people trying to make money off it with restrictively-licensed books.
If we want more free documentation, we'll have to write it. This I am doing now (see sig.)
-
Re:Wrong questiondrsquare:
I can leave a book on a table at work and not worry about it being stolen [...] However an ebook reader worth hundreds of pounds? Gone before you've turned your back.
So you put the ebook reader in your pocket and walk off with it. You probably never considered doing that with a physical book because, well, you can't. You're reaching a bit here.
I don't need to carry an entire library with me,
No, you don't. You just need to carry the book that you're reading at the moment. Or maybe that other one you started a few days ago. Or perhaps you'd prefer to space out on some lightweight Harry Potter or some amusing Pratchett. Or maybe read a bit more of one of those interesting programming language books. So... how many books are we carrying now?
:)It's a matter of perspective. Your argument that you "don't need to carry an entire library around with you" could equally well be used against using an ipod to carry around most (if not all) of your music library. After all, you could just take along with you the specific CDs you'd like to listen to... except you might change your mind... and it does take a bit of space to carry even one CD...
:) In the end, it's just hella convenient to be able to take one compact device with you and have access to all your content.Backlit displays? Reading in the dark is bad for your eyes,
The whole point of backlit displays is that you have light. And it's convenient light - just enough to read comfortably, while not enough to, for example, wake up a sleeping partner.
Search? No need for it.
Actually, I sort of agree with you here. I hardly ever use the searchability of ebooks. But "hardly ever" is not "never", and I certainly concede that different people may find it much more useful. And I should also point out that once you actually can search your texts (and you get used to that ability) you may change your tune.
Or you may not
:). Anyway, this is a fairly minor ebook advantage IMO.Tiny display? No thanks.
*shrug* Depends a lot on your eyes here. The display/resolution on most modern Palms or PocketPCs are pretty damn good these days, and you can use quite nice larger fonts if you wish. I'd have been a bit more hesistant about recommending the older Palm V generation, but the modern ones are fine. And on a related note, the advantage of having a small display is that you can have a small device - that you can fit in your pocket or easily hold/control in one hand.
Having to wrestle with an interface? No thanks.
*laugh* Actually, this (IMO) is one of the points for which ebooks (on handhelds) not only win, but piss all over physical books. Turning ebook "pages" is one screen-tap or button-press - or if you prefer (I don't) you can even have the text autoscroll so you can just lie back and read
:). Physical books, by comparison - page turning. Sigh. I hate turning pages, especially when I'm reading in bed. And anything larger than a small paperback just takes up too much space and is awkward to read in a comfortable position.And finally, it's kind of nice to be able to go book-shopping from your computer at midnight - and fifteen minutes later be in bed reading a shiny new book. The biggest downside is still that the available range is limited, but while it could be better, it's Good Enough(tm) for now.
-
Re:The real beginner's language ...
i'd go for python as the best beginners language. http://www.diveintopython.org/ is a good tutorial. there's a reason it's affectionately called "executable pseudo-code". yet you can do more interesting things with it than with most other languages.
-
Re:Welcome to 1982
If you have some prior programming experience the Python Tutorial included with Python is pretty good. There is also Dive Into Python and How to Think Like A Computer Scientist: Learning With Python available on the web and in print. In fact the Dive Into Python site has a whole list of freely available books about Python. For whatever reason Python seems to have attracted more than its share of Free documentation.
Once you understand the basic syntax the Python Library that is available with Python generally does a good job of covering the various parts of the built-in Python library. I refer to the Python Library all the time. The info version makes it easy to use as part of Emacs
:).One of the things that are you are likely to find about Python is that studying it away from the computer is likely to be less effective than learning at the computer. Python is highly dynamic, and it is often useful to type code snippets into the command interpreter to see what happens.
It's also important to note that you are aren't likely to rewrite the bubble sort in Python. Python's high level structures mean that someone else has already done this for you
:).Good luck.
-
Re:Welcome to 1982
If you have some prior programming experience the Python Tutorial included with Python is pretty good. There is also Dive Into Python and How to Think Like A Computer Scientist: Learning With Python available on the web and in print. In fact the Dive Into Python site has a whole list of freely available books about Python. For whatever reason Python seems to have attracted more than its share of Free documentation.
Once you understand the basic syntax the Python Library that is available with Python generally does a good job of covering the various parts of the built-in Python library. I refer to the Python Library all the time. The info version makes it easy to use as part of Emacs
:).One of the things that are you are likely to find about Python is that studying it away from the computer is likely to be less effective than learning at the computer. Python is highly dynamic, and it is often useful to type code snippets into the command interpreter to see what happens.
It's also important to note that you are aren't likely to rewrite the bubble sort in Python. Python's high level structures mean that someone else has already done this for you
:).Good luck.
-
Re:Totally fresh in programming
-
Re:Beginner, no programing experince!
free pdf at www.diveintopython.org
i'm half way through and think it's great. gives you examples upfront, and then walks you through step-by-step as to what your doing. -
Dive into Python
No discussion of Python literature can be complete without mentioning Mark Pilgrim's Dive into Python, which is an excellent way to get to know the Python language. It's free for download in a variety of formats. Two caveats however, being that 1) it hasn't been updated in about a year and a half and 2) it assumes that you already have a pretty good grasp of programming in some other language. But if you've you got some coding experience and want to take a serious look at what Python has to offer, this is a great book full of nice examples (with the code available for download as well).
-
CS Departments shouldn't use proprietary languages
I never understood why CS departments started switching to Java. It's a proprietary language, a behemoth library, uses confusing concepts even in early programs (such as the Hello World program requiring a class declaration), and has a compiler/VM to which you have no source code access! (True, nowadays you have gcj to look at, but that's by no means the reference implementation.)
CS departments, I think, should be using Python for instruction. Not only is Python an easier language to learn, but it's more intuitive and more closely resembles pseudocode you see written for theoretical computer science. For example, in a theory of computation book, you may find a definition of a Turing Machine as a 6-tuple. Well, Python has tuples, so you can just say
# turing machine M is a 6-tuple
M = (Q, T, s, b, F, f)
If you need to pass to a function (the encoding for M), it's easy to do so: just pass M. etc.
Python also supports other concepts common in pseudocode, like "for i in x" syntax, and associative arrays being a built-in type really helps with dynamic programming problems. Etc.
Python has an interactive shell where students can try out code to play with the language, a very helpful learning tool. It also has a high degree of transparency and allows introspection, so students can see how something like an object system actually works.
Also important, the main Python implementation (CPython) is open source, and the development of the language is done in a community-oriented fashion.
Finally, Python has two extremely high quality books written about it, which are also 100% free. One is called "How to Think Like a Computer Scientist: Learning with Python" and is found here, and the other is called "Dive Into Python" for experienced programmers, and is found here.
I'm not saying that Python is the ultimate language, but I think everyone has to agree that it's a better choice than Java for programming courses in universities. I know my data structures/Java course was 90% about "how Java works" and 10% about "how to solve programming problems." In a Python course, I think that ratio would be inverted. -
GFDL?
I'm not sure this guy really embraces the spirit of free and open source software...if he did, perhaps he would have considered licensing his book under a free license, like the GNU Free Documentation License or one of the Creative Commons licenses. I'm starting to see this with some frequency, even with books published by commercial publishers like O'Reilly and Apress.
-
Re:The trouble with having an itch to scratch..Sure. But you have to break it down into steps that are suitable for a learning curve. I suppose a mentor would be helpful. Hardware virtualization is hard stuff, so stay away from that for now, but setting up a local DHCP server is pretty straightforward. You're doing this to learn how to program, though, so don't just install a pre-built server and use that (it would solve your problem, though).
Network programming isn't really that difficult, especially in high level languages. I suggest Ruby or Python. Read/skim http://diveintopython.org/ and http://poignantguide.net/ruby/. These two languages have very different cultures and the styles of the turorials reflect that, so stick with the one that appeals to you the most.
You'll be able to set up a simple send/receive network client quickly. Once you've got that, it's time to start learning about DHCP - see if someones written a library for it already (I don't know of any off hand, but check Google and/or Rubyforge), read the docs for it and study the code. You shouldn't be too far away from getting a simple, probably buggy, half-working implementation up. If theres not one, you'll need to write your own, which will require some fairly advanaced knowldge fo the standard. Look on this as a challenge.
By this point you should know if you actually are interested in programming, and if you are, you probably already have your own motivation to continue. Refine your knowledge of programming and your chosen language and environment. This will progress fairly naturally from there. You'll find yourself wanting to learn C so that you can interoperate better with Windows, and you will hate C but you will use it anyway. You may become frustrated by the limitations of whatever language you started with and branch off - good! Your little DHCP server will suck and have a lousy UI and is probably riddled with bugs and broken standards - as those bother you more and more you'll start filing them off, learning what you have to along the way. 10 years will go by and you'll be answering questions like this on Slashdot
;) -
Re:Help Me Here...
-
Re:Moving from Perl (slightly OT)I don't know anything about Ruby, but I do program in Python a lot. Perl was my first experience with a scripting language. Coming from C, I was initially amazed at how nice it was to have strings be first-class data types and to no longer have to explicitly manage memory. The syntax was a little confusing, and I never really got proficient at it. I tried reading some OO-based perl and got totally lost.
Some years later, I happened to try out Python for a project and fell in love. I find the syntax easier to remember, the OO is clear and straightforward, and while the selection of libraries is nowhere near as comprehensive as Perl, it is pretty good.
I would strongly suggest you browse through Dive Into Python. That was how I learned the basics of the language.
-
Re:I HATE VISUAL STUDIO.NET !!!
I bought http://www.diveintopython.org/ last week
and please don't mention pussies i get a boner which leads me onto porn - hard to study with such distractions. -
Python is great for Windows
Microsoft actually officially supports Python as an operating system script language. You see Microsoft is actually very good at making integrated products. First off, anything that can talk over COM or DCOM can be dealt with by Python. Secondly, you can use built in windows classes to work for you.
I learned about this stuff because I recently had to script a large ammount of GUI clicks for extracting about 1,000 self-decrypting archives to temp dirs, copying one file out, deleting the rest, and moving to the next file. After I plowed through learing a bit of VBS using WSH (the Windows Script Host) and got the thing going, I realized that it is just as easy to use Python or Perl to do the same thing.
Truely, Python is an excellent choice for light Win32 programming. A LOT of attention to detail has been paid by a few selfless people who have made it this way. I have around 6-8 months passive experience in Python and I have been able to produce two custom for-pay applications (both for small businesses) with wxPython.org and compiled to EXE by py2exe. The executable and dll's come out kind of big (around 11mb for any simple program), but in the era of CDRs and 80gb HDs, this isn't a big deal.
http://www.diveintopython.org/ -
never a CS studentso I can't give you the full run-down of books, but Design Patterns and Code Complete are two greats. I can tell you the way I've been learning languages.
I know this can be really hard to start with. But once you get beyond hello world, you are going to need to find info quick. Get good with the docs while you are still learning. The first two links are available for full download to your local computer. I don't know if the SO needs a screen reader or anything like that. But it's always nice to have the docs close by. -
specific
a very specific item but, those learning python can use the excellent and free dive into python .
-
An Excellent Text
How to think like a computer scientist
Dive into Python
And have you considered illegitimately downloading texts off of filesharing networks? I don't anyone will really care... -
vote for python + pygame
If you want to do something simple and don't know how to program at all, this is definitely the way to go.
Python is not only easy to learn, it's a great starting language. (enforces proper formatting, doesn't use crazy things like ; line endings
Python.org Beginner's Guide ;)
Dive Into Python (free on-line book, well written IMO)
and of course the http://pygame.org/ which the parent poster already said.I would NOT suggest using PyOpenGL if you're new to programming, it's an unnecessary layer of complexity for very simple projects. Use it after you know how to program and have created at least a few simple things already.
:)Anyway, just wanted to give my vote for Python.
-
Re:Python
The place to learn python: http://diveintopython.org/
-
My experience/rant
My first experience with a computer was when I was five. My dad had an Atari 800. (He ended up selling it because he couldn't afford a disk drive! This was when disk drives cost hundreds of dollars.) I remember one night he typed in a program that acted like an etch-a-sketch.
I few years later, my parents bought me an Atari ST. I was hooked on computers from that point on. One day I was reading an article in Atari Explorer magazine about programming. The article presented a simple "Hello, world" type program in BASIC. I decided to play around with it and see if I could change it slightly. (This was back when every computer came with a copy of BASIC.)
I ended up teaching myself BASIC over the summer.
Anybody remember when computer magazines used to publish type-in programs? :-)
I know nowadays a lot of people don't like BASIC because of goto and what not. But I think it is a good language to teach some basic principles (what a variable is, what a loop is, etc).
I'm currently learning python. I've wondered if it would be a good first language for someone. I'm not sure it would be. For one, I'm not sure if someone who learns it would appreciate all the things it does for you. Second, when they learn another language, I'm not sure what the learning curve will be like. It might take them a while to get used to the new ideas. On the other hand, maybe starting fresh and not carrying some of the baggage of older languages would be good for a new generation of programmers.
I've never used Pascal, but I've heard it's a good language for learning programming.
Now, I've heard some people say that OO is the way to go and should be taught to newbies. But even with OO you still use parts from procedural programming: you still use variables, still use loops, still call functions, etc. I see no harm in using a simpler language to teach the fundamentals before moving on to objects.
Maybe what we need is a version of knoppix set up for teaching programming.
Python links:
Main python site: http://www.python.org/
Dive Into Python book: http://diveintopython.org/
Pascal:
A free Pascal compilerhttp://www.freepascal.org/
Basic:
I don't have a link for a version of basic. But I know there are some on the web. And Win 95 & 98 have a copy (buried) on the setup disk. Look in the other\oldmsdos folder.
More:
http://thefreecountry.com/ Has links to free compilers & more for various languages.
Old computer magazine archives:
http://www.atarimagazines.com/
-
Python
My 13-year-old brother recently decided that he might like to learn how to program. He has been fascinated by computers for a long time -- mostly due to computer games.
I've been programming since I was 8 -- about 18 years now -- and I started with BASIC on a VIC 20. I don't think BASIC is the way to go these days, so when I started to teach my brother I thought first of Python. Python has a lot of advantages for beginners and is an excellent tool for teaching programming. It works great for procedural, object oriented or even functional styles.
So far he loves it! At first we were using Dive Into Python as a guide, but he wanted something that he could handle more on his own. Dive Into Python is much better for programmers looking to pick up Python. After a bit of searching I settled on Michael Dawson's Python Programming for the Absolute Beginner. I gave him that book for Christmas and he has loved it!
The cool thing about Dawson's book is that the example programs are all games. It starts really simple (guessing games and the like) but by the end of the book Dawson has you using graphics and animation (thanks to Python's great package support). If you're looking to help someone learn programming then I'd have to really recommend Python as a start and a book like Python Programming for the Absolute Beginner as a guide.
-
Re:OK Trolls...
I read two Python books and (I still don't like this language but) whitespace is not one of its problems. You have to admit it's very confusing for n00bs (especially if you look into some real OSS programs) but it's definitely no more an issue after one chapter of a good book.
-
Re:For those of us who are too cheap....
OSS is a wonderful thing. For those who don't know perl, I would definitly recommend learning it. For those who are intimidated by Perl or just interested in learning other useful languages (a must for every geek) try reading these free online books
Dive into Python - A very good and informative book on python.
Why's (Poignant) Guide to Ruby - If you want to read a free book on ruby, not only is the very informative, buts its an amusing read as well with quite interesting and funny stories to be told along the way.
Regards,
Steve -
Dive Into Python
No mentions of Dive Into Python?
Oh, probably, but it deserves redundancy.
-
Re:Write the tests *first*
If you're not sure how test-first development works Mark Pilgrim's chapter on the subject (and the following one too) is an excellent introduction for Python programmers. I personally don't think test-driven development is a catch-all but at least he shows it in action so you can decide whether you want to go this route.
-
WORKING LINK
-
Broken Link
Here's a good link to diveintopython.org. The one at the end of the review is horked.