22.12.2016 Views

CODING

MagPi53

MagPi53

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

BOOKS<br />

Review<br />

THE HITCHHIKER’S<br />

GUIDE TO PYTHON<br />

Authors: Kenneth Reitz<br />

& Tanya Schlusser<br />

Publisher: O’Reilly<br />

Price: £17.99<br />

ISBN: 978-1491933176<br />

magpi.cc/2gFXdsS<br />

“Python is big. Really<br />

big” – yes, there are<br />

plenty of Hitchhiker’s Guide to the<br />

Galaxy references here, a change<br />

at least from the obligatory Monty<br />

Python quotes in other Python<br />

works. Whimsy aside, this is a<br />

useful guide to immersing yourself<br />

in all things Pythonic, taking the<br />

confident beginner or intermediate<br />

programmer on a journey<br />

through the Python programmer’s<br />

ecosystem, everything from good<br />

code writing, to reading and learning<br />

form other programmers.<br />

The long chapter on “reading<br />

great code” is particularly useful<br />

for those looking to step up from<br />

beginner status, but we start<br />

C++ IN 24 HOURS<br />

SAMS TEACH YOURSELF<br />

Authors: Rogers Cadenhead<br />

& Jesse Liberty<br />

Publisher: SAMS<br />

Price: £21.99<br />

ISBN: 978-0672337468<br />

magpi.cc/2gFZFzH<br />

C++ is full of danger for<br />

the unwary, as it doesn’t<br />

provide the protections of higherlevel<br />

languages like Java and Python,<br />

allowing you to shoot yourself in<br />

the foot, or even remove your leg.<br />

Nevertheless, much development<br />

on the range of interesting and<br />

low-cost boards available to makers<br />

needs C or C++ (or a subset thereof),<br />

and newbies still find themselves<br />

wanting to learn C++ to tackle<br />

embedded projects. It also remains<br />

fairly essential in gaming engines<br />

and other tasks where performance<br />

is critical.<br />

SAMS’ popular ‘… in 24 hours’<br />

series break down complex<br />

with a look at the programmer’s<br />

environment, from Python version<br />

and implementation, through<br />

virtualenv and its alternatives,<br />

to the ever expanding choice<br />

of text editors and IDEs –<br />

where some may disagree with<br />

the authors’ preference for<br />

proprietary choices.<br />

The final section, covering<br />

libraries, features several<br />

chapters, with coverage<br />

of those for user interaction,<br />

code management, interfaces,<br />

data manipulation, and data<br />

persistence. Along the way this<br />

takes in everything from Jupyter<br />

Notebooks, through Continuous<br />

Integration, to the little known (but<br />

passionately advocated) Pyramid<br />

web framework. For anyone lacking<br />

a coding mentor, and/or a group<br />

of experienced Python using coworkers,<br />

this is a very special sort of<br />

‘missing manual’. Recommended.<br />

Score<br />

learning subjects into hour-long<br />

lessons to give time for digestion<br />

between sessions (you won’t<br />

profit from trying to<br />

work through the book<br />

in one caffeine-fuelled<br />

24-hour session!). The<br />

success of the format is<br />

dependent upon every<br />

lesson building steadily<br />

at a good pace, and in<br />

good order.<br />

No intro book can teach you<br />

everything about the sprawling<br />

C++ language. The authors make<br />

some sensible choices, and this is<br />

a good step up the first few rungs<br />

of a precarious ladder. However,<br />

some updates for new language<br />

features such lambda expressions<br />

don’t feel well integrated into<br />

the text. On balance, a good<br />

introduction, but you’ll need more<br />

resources to get further.<br />

Score<br />

ESSENTIAL READING:<br />

NEW YEAR RESOLUTIONS<br />

Take the challenge: it’s time once again to<br />

resolve to learn something new.<br />

Resolution: Invent that Pi add-on!<br />

Resolution: Functional programming<br />

Functional Programming in JavaScript<br />

Author: Luis Atencio<br />

Publisher: Manning<br />

Price: £36.62<br />

ISBN: 978-1617292828<br />

magpi.cc/2gFPDPb<br />

Learn the benefits of the functional<br />

programming paradigm using a practical language<br />

that you know and love, and an authoritative guide.<br />

Resolution: Code a native mobile app<br />

Seven Mobile Apps in Seven Weeks<br />

Author: Tony Hillerson<br />

Publisher: Pragmatic<br />

Price: £28.50<br />

ISBN: 978-1680501483<br />

magpi.cc/2gFYyjz<br />

Get to grips with building mobile apps for<br />

all devices with Pragmatic’s excellent and<br />

practical ‘Seven Weeks…’ series.<br />

Resolution: Learn to play Go!<br />

Go / Wei Qi / Baduk<br />

Author: British Go Association<br />

Publisher: Many online resources<br />

Price: Free – download GNUGo<br />

ISBN: N/A<br />

magpi.cc/2gFZ29o<br />

Learn the 5,5oo-year-old strategy game<br />

that’s taxed the finest AI researchers’<br />

minds. Play online or join a club.<br />

Resolution: Debug some software!<br />

Effective Debugging<br />

Author: Diomidis Spinellis<br />

Publisher: Addison Wesley<br />

Price: £24.99<br />

ISBN: 978-0134394794<br />

magpi.cc/2gFVUdF<br />

Bugs are everywhere; learn the advanced<br />

methods, strategies, techniques, tools, and<br />

tactics to squash even the most persistent.<br />

Resolution: Learn to think logically!<br />

Logic as a Tool<br />

Author: Valentin Goranko<br />

Publisher: Wiley<br />

Price: £45.00<br />

ISBN: N/A<br />

magpi.cc/2h8d8kB<br />

Classical logic is hard but rewarding –<br />

helping with clarity in programming, business<br />

decisions, and whatever life throws at you.<br />

raspberrypi.org/magpi January 2017 85

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!