
Ebook Info
- Published: 2003
- Number of pages: 560 pages
- Format: PDF
- File Size: 1.86 MB
- Authors: Eric S. Raymond
Description
The Art of UNIX Programming poses the belief that understanding the unwritten UNIX engineering tradition and mastering its design patterns will help programmers of all stripes to become better programmers. This book attempts to capture the engineering wisdom and design philosophy of the UNIX, Linux, and Open Source software development community as it has evolved over the past three decades, and as it is applied today by the most experienced programmers. Eric Raymond offers the next generation of “hackers” the unique opportunity to learn the connection between UNIX philosophy and practice through careful case studies of the very best UNIX/Linux programs.
User’s Reviews
Reviews from Amazon users which were colected at the time this book was published on the website:
⭐The Art of UNIX Programming is required reading for anyone involved in any form of open source IT or software development. The book contains elegant wisdom comparable to the The Cathedraland the Bazaar, RMS’s GNU GPL, and any of the bantering quotes you get from Linus himself. Eric Raymond has attempted and come amazingly close to the impossible dream of capturing the logic and natural beauty of the UNIX community and philosophy. Eric discusses the ramifications of UNIX/Linux’s ever changing and complex structure; in the applications, coding, and social sense. As Linus once said: “The best analogy is biological diversity. You have the Linux approach that is fairly diverse and all over the map. Maybe it is not very efficient. But it works very well in the face of complexity and changing circumstances.”The Art of UNIX Programming takes a very accurate overview snapshot of what UNIX means at the time of publishing. Although Eric is not intentionally a “big picture” kind of guy he has painstakingly gathered all the relevant information while filtering out the inane. Every UNIX padawan secretly longs to know what Eric has so benevolently written in this book through his decades of experience; they just may not know it yet.Of course there are some stances that Eric takes where I feel he tries too hard to go for the “big picture”. Such as the renouncement of the Object Oriented approach, already mentioned in other reviews. But his is not a total renouncement, and the left over renouncement is for good reason on if taken on the surface. What Eric means to express is that it is better to create a small tool in a scripting language and then perform the Object Orientation through pipes for example: ps -A grep bash less. That is similar to calling upon objects less(grep(ps(A), “bash”)), as functions; or however you want to do it. If it has encapsulation, inheritance, and polymorphism then it is OO by definition.Eric would like to live in a world with many small tools (or libraries if you will) that when combined can create something much larger in scope. The argument is akin to something like an automotive factory assembly line where everyone is atomic in understanding and performing their duties. However, when taken too far Eric’s theory is akin to one thousand monkeys writing on one thousand typewriters and creating the works of Shakespeare. I’m sure there is a balance to be found in the use of UNIX tool modularity, but I do agree that UNIX has many more intertwined tools and systems than other OSes and is UNIX better off for it design wise.Anyway, add this book to your shelf and you’ll have no end of geeky philosophy to argue about with your fellow colleagues.
⭐Others have found that the INTP Myers-Briggs Type Indicator is the preferred personality type for (software) architecting team membership. After I wondered how to be more “philosophical”, this book helped by teaching about the Unix Zen-like philosophy. If you think this way, you should be able to improve a design.Chapter 3 “Contracts: Comparing the Unix Philosophy with Others” starts with this quote from a Dilbert newsletter, “If you have any trouble sounding condescending, find a Unix user to show you how it’s done.” Nevertheless, I am more likely to be less critical and more philosophical about designs after learning about the OS designs of VMS, MacOS, OS/2, Windows NT, BeOS, MVS, VM/CMS, and Linux.The last chapter titled “Futures: Dangers and Opportunities” summarizes the philosophical differences between operating system design in the past and in the present with Linux. By the time I got to this last chapter, I see that this book is a real eye opener and you will think “philosophically” about software designs. Understanding history does help. The next generation is thinking about usability along with the open design patterns of the OS. This is paradigm shift for Unix and Windows gurus.Besides learning about how to think philosophically, this book is a gold mine to a software engineer. For example, chapter 2 “Basics of the Unix Philosophy” covers 17 rules on design that every software engineer needs. Additionally, chapter 16 “Reuse: On Not Reinventing the Wheel” is a hoot. Today, some professors do grade on code readability, style, and program documentation.Chapter 14 “Languages: To C or Not To C?” is another learning experience on language choice. I cannot help but wonder if the authors are not Zen-like enough because of their love of their offspring C, when today there is a growing community using Java for embedded Linux software, because of its portability, improved memory management, and eliminated pointer security problems. Platform neutral language and OS.Chapter 19 “Open Source: Programming in the New Unix Community”, should be required reading for a software engineer. We need to learn about the open source software development process.If there were only time, this book would make an excellent addition to a computer science OS or software engineering course. Software architects need this book. The Masters have a done a great job by contributing to this.
⭐I was able to spend a couple of months finishing this book. As soon as I finished the first chapter, I know the book would be an excellent one, and it does not disappoint me from the beginning to the end.I have been using Unix (and its variants) for a decade amd have quite some knowledge about “how-to”, but probably like most other Unix programmers, have never systematically thought about the underlying “why”. This book is going to tell you both in details.The book contains topics in software engineering / design / implementation / interface / documentation areas. They are all supported by solid examples, both success and failure stories. This makes it stand out among numerous books on similar topics. The author’s concise and clear writting style is among the best I have seen in computer books (similar to Richard Stevens’s famous series, if you have to make a comparison). The author apparently does not fail on me to make me a better Unix programmer.The book is an good complementary to your library if you are a Unix programmer (it is also refreshing even if you do not program under Unix). And I’d recommend this book to everyone who starts to program under Unix or have programmed under Unix even for a long time.
⭐It has been said that anger and frustration stem from a mismatch between “one’s expectations” and “reality”. If things don’t work the way you expect them to, then you get frustrated. So, if you come from a Windows/GUI background, Linux can be *very* frustrating because it does not work the way you’d expect.This book explains *how* and *why* Linux behaves as it does. Thus, it re-aligns your expectations and you can begin a more harmonious relationship with that odd little penguin we call Linux.Yes Linux. Although this book had ‘UNIX’ in the title, it also applies to those who wish to understand Linux.
⭐A true immersion in computer programming history, good software design principles, desire for modularity, reusability, “enternity”.Must read for every computer programming and system design passionate.
⭐Raymond beschreibt hier die Philosophie hinter Unix an vielen Beispielen. Das Buch liegt irgendwo zwischen Saulus: A Quarter Century of UNIX und Kernighan+Pike: The Practice of Programming.Ce livre est une perle! A avoir obsolument dans sa bibliothèque si on est informaticien, administrateur, développeur… Ce livre prèche les bonnes pratiques pour faire un projet libre, mais aussi un projet commercial. Basé sur les expériences d’Unix et de Linux, nous sortons de cette lecture avec plein d’idée en tête… Et si on refaisait le monde à la manière d’Unix?
⭐
Keywords
Free Download Art of UNIX Programming, The 1st Edition in PDF format
Art of UNIX Programming, The 1st Edition PDF Free Download
Download Art of UNIX Programming, The 1st Edition 2003 PDF Free
Art of UNIX Programming, The 1st Edition 2003 PDF Free Download
Download Art of UNIX Programming, The 1st Edition PDF
Free Download Ebook Art of UNIX Programming, The 1st Edition