Street Coder (Manning) |
Author: Sedat Kapanoglu I like street food, but street coders? The term gives me the impression of a grubby and tricky individual who should be avoided at all cost, an impression reinforced by the cover illustration. Not the intent of the author I'm sure, and prehaps I'm an outlier about the cover.... The book's blurb gives the intended idea: "Street Coder teaches you how to handle the realities of day-to-day coding as a software developer. Self-taught guru Sedat Kapanoglu shares down-and-dirty advice that’s rooted in his personal hands-on experience, not abstract theory or ivory-tower ideology." Well yes, but it's clear from the first few pages that our self-taught guru has absorbed all of the standard theory and ideas that are part of our discipline. All of the examples are in C#, which is a fairly good langauge for explaining ideas, but you need to be happy reading the code. The book comrprises nine chapters:
It's subtitle is "The rules to break and how to break them", which gives you another idea of how radical the book aims to be. In practice, its not so radical as the ideas that it outlines are reasonable and well understood and at the end of the day it's just a representation of standard ideas delivered with some good natured humour.
I'm not saying that this is a bad book, it isn't, but it doesn't achieve its radical objectives and this is a reflection of the fact that anything so radical isn't really possible. We are currently well entrenched in well-thought out methodologies. For example, the book starts off with a look at algorithms and big O notation - how could it do otherwise. In fact a big O table is on the inside front cover. This isn't radical knowledge; it's what you missed by not doing a Computer Science course. The chapter continues with a look as the idea of strong typing. If the book were radical it would point out that there are costs involved with typing and its benefits are unproven and can be delivered by smart tooling. What we actually get is the party line that strong typing is good because it catches errors early; there's no deep explanation of what it entails -the straitjacket of hierarchical, class-based, typing and the horror of generics. This presentation of ideas with a shallow analysis continues in other chapters. Later on we have a short description of object- oriented programming, not enough for a beginner, and then the statement that you should prefere composition over inheritance. This is a mantra that you will often read and in this sense it isn't radical. What no-one ever says is that compostion is hard, time-consuming and almost as bad as copy-and-paste inheritance! Conclusion:This book is a collection of hints, tips and motivational phrases. It's a pleasant read about a collection of observations made by a practicing programmer.The language used is always inventive and sharp and this either makes it easier or harder to read depending on your personality. It's not a simple book and you will need to understand ideas of variables, memory allocation and lots of other fairly technical stuff that you would be taught in a prograsmming 101 course. It assumes that you know a lot more background detail about how computers work than you might imagine for a "street coder". This is not a book that a beginner can read from cover-to-cover without having to look things up elsewhere. While alternative books cover similar teritory, this one is well-written and if you program in C# particularly relevant. My main reservation is that if you are setting out to give advice about the fundamentals of programming it might be better to anchor your philosophy in computer science rather than what you've picked up on-the-job. However, as the author Sedat Kapanoglu, has 25 years programing experience, including a stint at Microsoft, he probably qualifies as an expert, To keep up with our coverage of books for programmers, follow @bookwatchiprog on Twitter or subscribe to I Programmer's Books RSS feed for each day's new addition to Book Watch and for new reviews.
|
|||
Last Updated ( Wednesday, 03 August 2022 ) |