Confident Coding, book review: A useful programming primer
This guide to coding will get you started on the fundamentals, but may not take you as far as you expect.
By Mary Branscombe for ZDNet UK Book Reviews | January 11, 2018 -- 09:33 GMT (01:33 PST) | Topic: Developer
Confident Coding: Master the Fundamentals of Code and Supercharge Your Career • By Rob Percival • Kogan Page • ISBN 9780749479633 • 272 pages • £14.99/$19.95
Programming is such a key skill for the modern world that it's now taught in every UK school. However, plenty of adults have never even written an HTML tag, let alone a full program. Confident Coding is a beginner's guide by the author of a popular online coding course that alternates sections explaining why you'd want to learn to code with the absolute basics of web development, Python and mobile app creation.
The encouragement will likely be useful for readers who aren't confident that they can learn to program, as a reminder of why it's such a useful skill, although the suggestions of what you can achieve as a beginner are somewhat uneven. You're unlikely to create a breakout blog or a truly useful app for your company, and you'll need another book to really master Apple Script or PowerShell automation if the short sections on using these tools to rename files or search text files for strings whet your appetite. Mentioning tools like If This Then That (IFTTT) is more helpful for the average reader.
Things get off to a slightly rocky start though. Sending a reader with no programming experience to the online IDE at repl.it to type in some very simple Python means they'll get the thrill of seeing their code run, but with no screenshot or explanation of the site's interface until the (much later) chapter on Python there's a danger they may get confused. And there's a typo in the very first coding challenge.
The explanation of why there are different programming languages handily groups them into app development, web development and code on web servers, but ends up listing different languages rather than really explaining why they take different approaches, or what their different strengths are. And the instructions for how to find the online PDF with the supplementary exercises could be highlighted more clearly, as this is a key part of the book.
Covering the basics
Four fairly brief chapters cover the basics of HTML, CSS, JavaScript and Python, step by step. The basics of formatting and layout for web pages are covered simply and clearly, but the suggestion that the reader clone the look of an existing website seems rather ambitious as a next step. The JavaScript chapter introduces the basics of programming like variables, loops and IF statements and ends up with a simple program. Unfortunately, the (black-and-white) screenshots are so small and not cropped to the relevant area, making it impossible to see clearly what's going on -- at first glance they all look the same.
The Python chapter also starts simply, building on the concepts of variables and loops, then going on to lists, regular expressions, string processing and modules, finishing up with scraping information from a table on a simple web page.
The rather basic chapter on getting your own website sits rather oddly here, and it skips past a lot of questions to jump into advanced page layout using the Bootstrap library, although you're actually just copying a template from the author's website. That certainly simplifies the process, but you'll have to look elsewhere for details of what more you can do.
The sections on building apps for iOS and Android are also beginner's guides that don't take you all the way to real coding. If you don't know how to download, install and get started in XCode or Android Studio, the handholding will be useful and the clear, simple instructions will get you into drag-and-drop layouts and adding the code for simple, interactive forms. They breeze through the more advanced concepts like floating point and integer numbers, libraries, classes and methods at speed, telling you just as much as you need to know to work through the exercises. The book doesn't mention the alternatives to XCode that would let you code for iOS on Windows instead of a Mac, but they're not appropriate at this level anyway. Again, this is about helping people with no experience to have the confidence to take these very first steps, rather than trying to give the reader a comprehensive grounding in coding.
The chapter on debugging is a useful addition for frustrated beginners. The techniques suggested are basic, but include how to think through code flow, how to comment out code and put in tests that the programming is even reaching the right section of the code, as well as how to search for help and sample code on sites like Stack Overflow.
Primer, not encyclopedia
The real problem with Confident Coding is that its reach exceeds its grasp. Percival's online coding courses at Udemy have been very successful and he refers to a slew of other breakout successes, from John Gruber's Daring Fireball to the fact that the 'save it to read later' Pocket app was written by someone who'd only recently learned to code. But even the examples of what readers could go on to do are often so far beyond the scope of the book that they're clearly meant as inspiration rather than a feasible next step. There's more space devoted to how you could be a freelance developer than any of the coding techniques you'd need to master to actually do that.
If your new year's resolution is to learn how to program, or you just want to get digitally literate and understanding what coding is all about, this is a simple -- but also rather simplistic -- book that will let you dip your toes in the water without getting out of your depth. But you'll need to look elsewhere for your next steps.
Which programming language do coders hate most? Developers cast their votes on most and least favourite languages.
PREVIOUS AND RELATED COVERAGE
Why focusing on one coding language is death for a developer's job prospects (TechRepublic)
None of the top 25 Fortune 500 companies use only one coding language in their products and services, according to Coding Dojo.
How to sunset your software offerings without alienating your customer base (Tech Pro Research)
Your customers have plenty of reasons to hang on to older versions of your products. Make sure you take their concerns and needs into account before you bring out a shiny new release.
Want to learn programming? This startup pays you cryptocurrency to study Python (ZDNet)
Blockchain-based skills platform BitDegree has unconventional plans for connecting tech talent and recruiters.
Life in Code, book review: The programmer's tale
Tech books for Christmas: Food for thought
Children online: Two books that accentuate the positive
The San Francisco Fallacy, book review: Unconventional wisdom
Post-Truth, book review: The facts about 'alternative facts'
After Hours Enterprise Software Open Source Mobile OS
More from Mary Branscombe
Parallels Remote Application Server 17, First Take: Powerful, but not over-complex
UNO, hands on: The magnetic cable for multiple USB connections
Brandcast for Salesforce, first take: Create customer-focused microsites
Frustrated by programming language shortcomings, Guido van Rossum created Python. With the language now used by millions, Nick Heath talks to van Rossum about Python's past and ...
Where do IBM and Red Hat go from here?
The deal is done. Here's where the open-source powers see their path moving forward.
IBM closes $34 billion Red Hat acquisition: Now it's time to deliver
Red Hat is now part of IBM and the two companies made sure customers, developers and partners all knew about the commitment to open source, developer programs and multi-cloud deployments. ...
Raspberry Pi 4 won't work with some power cables due to its USB-C design flaw
Did Raspberry Pi Foundation fail to test Raspberry Pi 4 properly? Either way, one expert says new flagship is not USB-C compliant and must be fixed.
Think you've switched off Android tracking? Apps are logging your movements anyway
Saying no doesn't mean no on Android and there's no fix until Android Q.
Microsoft admitted to private Linux developer security list
Linux developers recognize Microsoft's contributions to Linux and security -- by letting the company's Linux developers in its closed linux-distro security list. ...
Backdoor found in Ruby library for checking for strong passwords
Cookie-accepting, eval-running backdoor found in popular Ruby library.