Showing posts with label wesley chun. Show all posts
Showing posts with label wesley chun. Show all posts
Sunday, March 8, 2009
Review: Python Fundamentals (Video Training) (LiveLessons)
Author: Wesley Chun
Format: Hardcover, 112 pages
Publisher: Prentice Hall PTR; 1 DVD/Pap edition (January 2, 2009)
ISBN-10: 0137143419
ISBN-13: 978-0137143412
Update: 2009/3/13 I finally tried out the suggestion from Pearson about getting the DVD to play on Ubuntu. Read the full update in the comments section for this blog post. Thanks.
I've had bad experiences with training videos before, so I tend to shy away from them. Also, I can read much faster than a person can speak (that's not bragging, it's true of virtually anyone who can read normally) so in the same amount of time it takes to view a video training, I can read and (hopefully) absorb much more content. So what about Wesley Chun's Python Fundamentals videos? Let's have a look.
As the list at the top of this blog attests, there is a book involved that's 112 pages long, but it only functions as an accompaniment to the DVD, which contains over 7 hours of video teaching by Chun. Actually, in a truer sense, the DVD should accompany Chun's book Core Python Programming (2nd Ed), also published by Prentice Hall. The DVD doesn't contain any new content but rather, presents the core concepts of the "Core" book in video, rather than text format. This is a matter of preferred learning style, not accessing video to access new information. In other words, if you have Chun's "Core" book (I do), then you have what's on this video.
The blurb on the back of the DVD's packaging suggests that this video will work best with those who already have some Python experience. For you beginners, it does start with the fundamentals of Python syntax, standard types, and operations. The accompanying book is a distillation of the massive "Core" tome, formatted to fit the lesson plan on the DVD. Again, nothing new is presented. It's previously published content reworked to fit video. Frankly, after having gone through some of the lessons, I don't see why a person with virtually no Python experience wouldn't also be served by this product. Then again, keep reading to see if this video tutorial will work for you.
Do I sound like I think Chun is "cheating" by recycling previously used content? In one way, it does involve only a little more work on the author's part, since all he has to do is adapt what he's already written. On the other hand, Chun has to shoot the live videos and the slides. I did this exactly once and I didn't think it was fun at all. Relating to a live class of real people is one thing, but talking to yourself as you're shooting little movies on your computer is (at least for me) darn awkward. Doing the "head shots" is the last step of making an instructional video (at least from the author's perspective), so don the neutral, short sleeved polo shirt, have a seat in the video studio, and start doing "takes". But enough of the process of making a video guide. How does this particular set of DVD lessons stack up?
Some negatives immediately occurred when I slipped the DVD into my Ubuntu machine. It didn't play. Turns out that the disc is formatted to play on Windows and Mac only. Linux users need not try. Bummer, Prentice Hall. Fortunately, I keep a Windows computer around for just such an eventuality. The next "bummer" moment came when I was informed that the video plays best at a screen res much higher than is supported by the video card in my (older) Windows PC. It will still play, but you have to click past the prompt telling you to change the res to 1280 x 960.
Ironically, Chun mentions towards the beginning of his lesson, that the student probably has Python on their computer if they have a Mac or UNIX-like machine such as Linux (though, he pronounces it "lee-nix" as opposed to "lin-ux").
There are 10 separate lessons contained on the DVD, but even the first or introductory lesson, is really made up of many, small movies that are only a few minutes long. You'll need to continue to click "next" after each small movie. This is probably a good idea if you plan on toggling back and forth between the video and practicing python. Of course, you can always pause the video to try something out. In my case, it would actually be better to run the video on my Windows machine and to practice on my Ubuntu (Linux) machine sitting next to it.
In order to be understood by the maximum number of people, Chun was likely instructed to speak more slowly than he probably does in actuality, which gives his voice a slightly "unreal" presentation. It also makes everything go really, really slow...at least for me. Like I said, I can read much faster than a person can speak.
While each lesson has an Exercises section in the accompanying book, there's nothing in the video that takes the student through the exercises. The video is pretty "static" in the sense that all it really offers the majority of the time is Chun's voice and a series of slides. It would be like watching a long series of small PowerPoint presentations while listening to the presenter on a speaker phone. Not quite what I was expecting. I was hoping to see Chun actually demonstrate using and developing with Python, which wouldn't be hard. All he'd have to do is take movies of his computer screen with him using the command line while explaining what he was doing.
The DVD does contain an "Extras Folder" holding each chapter's sample code. so you don't have to write it all out yourself. Of course, most books have an accompanying website which usually holds sample code, so the only "value added piece" is that you don't have to download the code from the web.
I know that one of the real markets for video training are classes given by companies who want to bring their staff up to speed on a particular topic. Such classes may or may not be used with a live instructor. I really didn't see why I'd use this DVD to learn Python as an individual if I had a good book at my side. I also don't see developers using this video in a classroom setting.
For me, the only thing I'd like to add to learning Python from the "Core" book is the ability to either email or IM an instructor (Chun would be ideal, but I know he's busy) if I had a problem or question. Of course, there are plenty of programming discussion boards on the web available for this sort of "support".
I like the people at Prentice Hall and their books. I like Chun, at least relative to his writing and knowledge of Python (I've never met him, so I can't say I "like" him as a personality, though I'm sure I would). I like Core Python Programming which I previously reviewed for Linux Magazine. I guess I'm not the kind of person who learns better using videos, at least not videos formatted as this one is. Unless you really hate using books and are completely addicted to video as your learning medium, you'll be better served learning Python from Chun's aforementioned text.
Monday, February 23, 2009
Review: Python Web Development with Django
Authors: Jeff Forcier, Paul Bissex, and Wesley Chun
Format: Paperback, 408 pages
Publisher: Addison-Wesley Professional; 1st edition (November 3, 2008)
ISBN-10: 0132356139
ISBN-13: 978-0132356138
I have something of a relationship with both Python and Django, the latter because I use Django more or less regularly to contribute my portion of an application (which shall remain nameless for the moment) that my company ("my" in the sense that I work there, not that I actually own anything) is developing. I'm already sold on the relative simplicity and power of Python based on my attempts to hammer away with the language, so this book, at least as far as the topic is concerned, is everything I could ask for. But can the same be said for the content of the book?
I was going to say "first things first" and then proceed to the target audience for the book, but there's another point to make before that. The little "button" on the front cover says "Covers Django 1.0". I visited the Django Project and on the download page (as of this morning, February 23rd) it says, "The latest official version is 1.0.2. Here's how to get it". Assuming you want to use the latest version of Django, having a book that presents the latest information (well, as recent as any print documentation can be) is an enormous advantage. As a small aside, the download page also states, "Python version 2.3 or higher" is required, so you don't have to be using latest version of the non-backward compatible Python 3 to use the latest version of Django (of course "or higher" can be interpreted more than one way).
The second page of the Preface does something cool, if you aren't sure how much of this book applies to you. There's a little diagram that outlines the four skill/experience levels for readers, and which chapters are relevant to you depending on which level applies to you. "Brand New to Django and Python" starts you off at Chapter 1 which is to be expected, but some Python experience (but no Django) gets you going, starting at Chapter 2. Some experience with both puts you beginning at Chapter 4, and advanced learners can skip ahead to Chapter 11. At least as far as the authors' predictions go, this book has something for everyone.
The book has a website, which is more or less expected these days. http://withdjango.com/ contains "auxiliary material" that is referenced in different sections of the book. Click the "Material for Readers" link and you're taken to links called "Extra resources" and "Source code downloads"; the meaning of the latter link being quite obvious. The page that becomes available by clicking the former link is a "linkfest" of Python and Django resources of every conceivable type, even if they are only barely related to the topic at hand (such as links to the official Firefox, jQuery, and Vim websites). However, back to the book.
As previously mentioned, this book has something for everyone, even if you aren't familiar with Python. I say "everyone" in the context some people who have some coding experience and frankly, I wouldn't recommend this book as your first experience with Python if you hope to really learn the language. As author Wesley Chun can attest, entire books have been written on Python, so please don't assume that a single chapter will tell you all you'll need to know. That said, it should teach the experienced programmer what they'll need to know as far as a foundation for working with Django. I do recommend picking up a Python tome of some sort to strengthen that foundation, however. The 56 pages comprising Chapter 1 are just enough to whet the appetite.
Chapter 2 is aptly named, "Django for the Impatient: Building a Blog". Most people learning a new technology, myself included, want to get at it right away. Few things are more frustrating than picking up a book expecting to learn to actually do something, and then discovering you have to wade through 200 to 300 pages of concept and theory before you learn to even say "Hello World!". In fact, this chapter almost literally has the reader "hitting the ground running" by putting him or her on a "deadline" to see how fast they can build a simple blog using Django. You've only got 19 pages, so you'd better hurry. Only when you've accomplished this task are you ready (according to the book) to really get started using Django as Chapter 3, "Starting Out" testifies to. You might think it's a step back, because the chapter is mostly concept, but hopefully you'll still be basking in the glow of building that first blog with Django, so moving through a concept chapter won't be as much of a chore. With the foundation now firmly laid, the book proceeds to more in-depth information.
The book tries to create a balance between concept and practice and it's a delicate balance indeed. I'm not sure it's entirely successful, but it does its best. If you're looking for a simple "how to" book, this might be a disappointment. The book presents both the "how" and the "why" of Python and Django. Also, although some "beginner" information is presented early in the book, as I said before, don't let this book be your first and only Python learning experience. Without some additional background, you are going to become quickly lost as you advance through the latter pages of this text. At only 408 pages including the appendix sections, you dare not blink while reading this book. All of the relevant information is present and accounted for, but there's no fluff or padding to cushion you.
Section Five is complete with a number of "Appendices" (or "Appendixes", take your pick) including "Command Line Basics", the obligatory "Installing and Running Django", and so on. This should help the beginner become reoriented, if they've lost their course somewhere in the book. If you have some programming and web development background, even if Python and Django are new to you, this book should be very helpful, as long as you can tolerate it's laser-like focus and intensity. If you have Python experience, so much the better. If you find yourself slowly getting in over your head, try reading books like Chun's Core Python Programming (2nd Ed) or Mark Lutz's Learning Python before proceeding with the Django book. Whatever you do though, have fun.
Subscribe to:
Comments (Atom)