Street Coder (Manning)

Author: Sedat Kapanoglu
Publisher: Manning
Date: February 2022
Pages: 272
ISBN: 978-1617298370
Print: 1617298379
Kindle: B09Q3PJQC5
Audience: General
Rating: 4
Reviewer: Ian Elliot
Street Coder - sounds sort of tough but messy at the same time.

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. 

Banner

The book comrprises nine chapters:

  • 1 To the streets
  • 2 Practical theory
  • 3 Useful anti-patterns
  • 4 Tasty testing
  • 5 Rewarding refactoring
  • 6 Security by scrutiny
  • 7 Opinionated optimization
  • 8 Palatable scalability
  • 9 Living with bugs

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.

Banner


Python Programming and Visualization for Scientists 2nd Ed

Author: Alex DeCaria and Grant Petty
Publisher: Sundog Publishing
Pages: 372
ISBN: 978-0972903356
Print: 0972903356
Audience: Scientists wanting to use Python
Rating: 2
Reviewer: Mike James
Visualization - a difficult topic and difficult to see how to explain the ideas in a book.



The AWK Programming Language, 2nd Ed

Author: Alfred V. Aho, Brian W. Kernighan and Peter J. Weinberger
Publisher: Addison-Wesley
Pages: 240
ISBN: 978-0138269722
Print: 0138269726
Kindle: B0CCJ1N4X3
Audience: Developers interested in Awk
Rating: 5
Reviewer: Kay Ewbank

The name Brian Kernighan among the authors of this updated classic raises  [ ... ]


More Reviews

Last Updated ( Wednesday, 03 August 2022 )