Getting Started with Processing

Author: Casey Reas & Ben Fry
Publisher: Make, 2010
Pages: 208
ISBN: 978-1449379803
Aimed at: Non-programmers
Rating: 3.5
Pros: An easy introduction designed to appeal to artists
Cons: Fails to convey the potential of programing 
Reviewed by: David Conrad

Processing might be a good place for beginners to start programming. So is this book a good place to start with Processing?



Author: Casey Reas & Ben Fry
Publisher: Make, 2010
Pages: 208
ISBN: 978-1449379803
Aimed at: Non-programmers
Rating: 3.5
Pros: An easy introduction designed to appeal to artists
Cons: Fails to convey the potential of programing 
Reviewed by: David Conrad

Processing might be a good place for beginners to start programming. So is this book a good place to start with Processing?

Processing is a simplified language based on Java, designed to be easy to use and to provide near instant gratification to the beginner.

 

Banner

 

If you look at the language then it's nothing special.

It is a classical object-oriented language in the mold of Java, C# etc. It has a range of 2D and 3D drawing commands that look a lot like the sort of thing you would have found in QBasic or any of the early interpreted languages. For example, Line(a,b,c,d) draws a line from (a,b) to (c,d). In fact, apart from supporting objects, it really is no different from any of many dialects of Basic introduced in the home computer boom of the early 80s.

However, there are some good points about Processing and you can't move back to dead languages such as QBasic very easily. One good point is that you don't need much code to get started, You can more or less install Processing by unzipping it. After that type in Line(10,20,30,40) and run the program to see the line.

In other words, this is a good environment for initial experiments in programming. The beginner can produce something that looks good simply by stringing together a list of graphics commands and this is the approach that this book takes to getting the reader started.

Processing also has a sort of arty feel to it - programs are called "sketches". It is targeted at users who want to be creative in a bohemian-artist-living-in-a-garret sort of way. As such the book doesn't have screen dumps but pencil sketches instead. My guess is that the authors wold have liked the listings to be handwritten as well.

Personally I find this softening of technology alien. I don't want to work with it in a symbiotic glow, I want to master it and make it do my bidding.

As long as you stick to linear lists of commands things are easy but you are not programming.To be a programmer you have to encounter non-linear command sequences that do complex and interesting things.  Programming is about the transmutation of a static text into a dynamic process.

If you take a non-programmer and convert them into a programmer then they have a a new way of thinking about the world and a new way of  describing it. This is rewarding and addictive but it's often hard to make the transition and the big problem is that programmers who know how to program quickly forget that there was a transition at all. As a result they simply don't value what they know and fail to point it out to beginners.

This is true of this book. When it reaches the idea of loops it attempts to play the whole thing down with a matter of fact introduction. A tiny pencil drawing of a flow chart it the best attempt at explaining what is going on.  Why not point out the idea of "flow of control" in a more general way? Why not make something of this really great idea?

Of course the big problem is that the language itself has hardly been designed for the beginner as it uses the C style For construct which is cryptic and far removed from the simple notion of the original Basic For 1 To 10. In this respect at least the beginner would do better to go back to QBasic to get started.

Even so the book could do a lot better at explaining the real ideas that make programming programming. 

The book then continues with its very traditional treatment of functions and eventually objects, ending with a look at 3D graphics and interfacing with the Arduino microcontroller. All very shallow but as a result fairly easy to read and fairly easy to follow. Basically if you don't ask the reader to do anything difficult then you have a simple book.

This book isn't as good as it should be but it still has the power to do something positive. It is an easy introduction to using a language that has easy access to graphics and as such it might get some beginners off the starting line. In addition its arty, free-thinking look and feel might be the user interface that gets the non-techie into creating pretty patterns.

Banner


Continuous Architecture In Practice (Addison-Wesley)

Author: Murat Erder, Pierre Pureur and Eoin Woods
Publisher: Addison-Wesley
Pages: 352
ISBN: 978-0136523567
Print: 0136523560
Kindle: ‎B08ZRTQGLJ
Audience: Software Architects
Rating: 3
Reviewer: Kay Ewbank

This book sets out the case for why software architecture is more important than ever, and in p [ ... ]



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.


More Reviews

Last Updated ( Thursday, 06 June 2013 )