Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I will start out by saying that I came into this book as an experience programmer. As a result, it is hard for me to judge how good a job this book would do at teaching Python to a person not familiar with the basics of programming.<br><br>As an experience programmer, I found myself getting through this book and putting together Python programs very quickly. At times Hetland attempts to bring out some humor in his writing, and it doesn't always work well for him, but it does help to keep the book from getting monotonous. Hetland is also a bit arrogant when it comes to the subject of Python vs. other languages, but it doesn't get in the way of the goal of teaching Python's basics.<br><br>Overall, if your looking for a way to get into Python this isn't a bad place to start.<br>
Product Details: "Beginning Python: From Novice to Professional" by jtshaw - posted: 07-20-2006 - Rating: 8.50
Last Review by jtshaw - posted: 07-01-2005 07:00 PM
Every serious UNIX programmer has a copy of Advanced Programming in the UNIX Environment, First Edition. The biggest question when I picked up the new Second Edition was not if it was worth having but if it was worth having if you already have the First Edition.
The short answer is yes.
The two most important new features in the 2nd Edition are threading and network IPC (aka sockets). Both of these are often used features in this day and age of POSIX.1 compliant Operating System's that were not included in the 1st Edition.
It is also important to note all chapters of the old book have been updated to include any POSIX.1 changes. There are tons of great coding examples for each topic that should compile on Linux, BSD, MacOSX, and all other UNIX OS's.
Here is a quick rundown of all the topics:
1. File I/O
2. Standard I/O
3. Process Environment/Control/Relationships
5. Threads/Threads Control
6. Daemon Processes
7. Advanced I/O
8. IPC (include network sockets).
9. Terminal I/O
10. Psuedo terminals
11. Printer communication
12. A database library implementation
About 400 syscalls are outlined and demonstrated for those of you that perfer a more hands on experience.
All in all, this is really a book serious UNIX programmers can't live without.
The downside? At about 4 inches thick and a couple of pounds in weight you will want to have a copy on both your home and work bookshelves so you don't have to lug it around.
Product Details: "Advanced Programming in the UNIX Environment" by jtshaw - posted: 07-01-2005 - Rating: 10.00
Last Review by jtshaw - posted: 01-21-2004 02:46 PM
I started using linux about 4 years ago. The first system was an inherited Red Hat server that eventually got switched to Slackware. I really liked Slackware because of the ease of configuration and compactness of the system. Slackware quickly because my system of choice for the next 3 years. The one thing that bothered me about it was the package management system. Upgrading to a new version with new basic packages was just plain awful.
Then I tried Gentoo. The configuration reminded me alot of Slackware (mostly editing text files, very easy to do) but the package management system was out of this world. It reminded me a little bit of Debian apt-get but with a BSD ports spin on things.
I always thought Debians package managment system was a good idea pourly implemented. On one hand, you have the Debian-Stable tree, which is very stable, but also contains software versions that are just plain out of date in many cases. Then you have the Debian Testing tree which contains a lot of the new packages I would like, and a lot of alpha and beta software that I don't want to go anywhere near. There isn't much middle ground without a lot of manual work.
Portage is all about the middle ground. When a new version of a popular piece of software is released it makes it into the portage system exteremly quickly. If it is a piece of software that goes through much testing before release (say a new KDE build) then it will pretty much be marked as stable and you will get it the next time you run the upgrade tools. If the package is something that wasn't neccesarily tested well by the authors it sits in the portage tree marked as not stable while people test it and bug fix it before it is eventually marked as the most stable version in protage. This means you end up with a system that is pretty darn stable and pretty close to the bleeding edge of linux software. You also can easily use protage to hand pick some apps you want to try the possibly unstable versions of.
Oh ya.... and you can optimize everything to any extent you wish by customizing the portage build flags.
Two thumbs up for Gentoo.