Pragpub #066, December 2014
Total Page:16
File Type:pdf, Size:1020Kb
The Pragmatic Bookshelf PragPThe Secondu Iterationb IN THIS ISSUE * Rothman and Lester on mentoring * Marcus Blankenship on managing programmers * Ron Hitchens on Resource Oriented Computing vs Object Oriented Computing * Brian Sletten on Resource Oriented Computing vs Microservices * Tom Geudens on Resource Oriented Computing * Dan Wohlbruck on the C language * Antonio Cangiano on new books for programmers Issue #66 December 2014 PragPub • December 2014 Contents FEATURES Your Object Model Sucks ................................................................................... 15 by Ron Hitchens The big idea in Object Oriented Programming was always messaging, not objects or classes. Resource Oriented Programming gets that right. Microservices Is not the Answer ..................................................................... 23 by Brian Sletten Microservices has the right idea. It just doesn’t take it far enough. Introducing Resource Oriented Computing ................................................. 33 by Tom Geudens There’s a program that’s been running for 25 years, that scales like nobody’s business, and that’s based on open protocols. Can your code measure up to that? The Evolution of C ............................................................................................... 44 by Dan Wohlbruck Dan continues his series on the history of programming languages with more on C. — i — DEPARTMENTS On Tap ........................................................................................................................ 1 by Michael Swaine Swaine’s World ........................................................................................................ 3 by Michael Swaine We follow Twitter so you don’t have to. Rothman and Lester ............................................................................................... 6 by Johanna Rothman and Andy Lester Have you been stuck mentoring the new guy? Or are you, on this job, the new guy? Her’s how to play that. New Manager’s Playbook ..................................................................................... 9 by Marcus Blankenship Launching a new column by Marcus on what to do when you become a manager. Antonio on Books ................................................................................................. 48 by Antonio Cangiano Antonio looks at all the new tech books of note. Pragmatic Bookstuff .............................................................................................. 51 Want to meet one of the Pragmatic Bookshelf authors face-to-face? Here’s where they’ll be in the coming months. Also, find out which are the top-selling Pragmatic Bookshelf books and what new books are coming out. Solution to Puzzle .................................................................................................. 53 Except where otherwise indicated, entire contents copyright © 2014 The Pragmatic Programmers. You may not sell this magazine or its content, nor extract and use more than a paragraph of content in some other publication without our permission. Published monthly in PDF, mobi, and epub formats by The Pragmatic Programmers, LLC, Dallas, TX, and Raleigh, NC. E-Mail [email protected]. The editor is Michael Swaine ([email protected]). Visit us at http://pragprog.com for the lowdown on our books, screencasts, training, forums, and more. ISSN: 1948-3562 — ii — On Tap It’s All About Messaging You can download this issue at any time and as often as you like in any or all of our three formats: pdf [U1], mobi [U2], epub [U3]. by Michael Swaine Resource Oriented Computing For half a century, we’ve been building software that makes certain broad assumptions about operating systems versus applications and data versus code. For the past quarter of a century, we’ve been deploying a lot of that code in a space that makes its own, somewhat different, assumptions: the World Wide Web. Yet the code underlying today’s web apps usually doesn’t look all that different from the earliest C code that Dennis Ritchie wrote. It’s not that there haven’t been new and empowering paradigms. Object Oriented Programming burst on the scene with some deep and powerful ideas about messaging... but then, because people took its name too seriously, it became all about objects and classes. Resource Oriented Computing grew from that same root, but kept the focus on messaging. The result is that, in Resource Oriented Computing, the relationship between code and data becomes more balanced and respectful, and distinctions like application program versus operating system become academic. Resource Oriented Computing takes its inspiration from that extremely long-running and infinitely scalable and incomparably successful software project, the World Wide Web. It is a new/old paradigm that asks the question: shouldn’t your app work the way the Web does? As the articles by Ron Hitchens, Brian Sletten, and Tom Guerens show, Resource Oriented Computing is a very different way of programming. It’s not microservices, although there are similarities. It’s not just REST-based app development, although it encompasses that model. It’s more. And in terms of lines of code you need to write, it can be less. This month’s issue explores the ideas behind Resource Oriented Computing, compares it to more familiar approaches, and introduces you to a platform that will let you get to Hello World and beyond with this different take on software development. We’re also introducing a new columnist in this issue: Marcus Blankenship brings his expertise and insights on how to deal with the challenges of being a new manager or team leader. Also, regular contributors Johanna Rothman and Andy Lester talk about the challenges of dealing with The New Guy (or of being The New Guy), Antonio Cangiano reveals all the hot new PragPub December 2014 1 programming books, and Dan Wohlbruck digs into the history of programming languages. Kids and Code Yes, but I mustn’t forget to remind you that you can also download our special issue on teaching kids to code for free at the Prose Garden website [U4]. It contains: • “Constraints and Freedom” by Jimmy Thrasher, • “The Hour of Code” by David Bock, as well as • “Giving Back” by David Bock, • “Lego League: Lessons Learned” by Seb Rose, • “Coding Unplugged” by Fahmida Y. Rashid, • “The Anti-Cosby Approach to Teaching Kids Programming” by Chris Strom, • and “The Selfish Teacher” by Michael Swaine. Who Did What photo credits: Cover: “Get the message!” https://www.flickr.com/photos/fabolous/12414076055/ [U5] by Patrik Theander is licensed under https://creativecommons.org/licenses/by/2.0/ [U6]. Page 15: “Can-Can Girl” https://www.flickr.com/photos/garryknight/ [U7] by Garry Knight is licensed under https://creativecommons.org/licenses/by/2.0/ [U8]. Page 23: “Back to the Future DeLorean Time Machine” https://www.flickr.com/photos/lautenbach/ [U9] by AdamL212 is licensed under https://creativecommons.org/licenses/by/2.0/ [U10]. Page 33: “Speak, Talk, Microphone, Tin Can” http://pixabay.com/p-238488/?no_redirect [U11] by Ryan McGuire is licensed under https://creativecommons.org/licenses/by/2.0/ [U12]. editing and production: Michael Swaine editing and research: Nancy Groth customer support, subscriptions, submissions: [email protected] staff curmudgeon: John Shade ([email protected]) PragPub December 2014 2 Swaine’s World Retweets and a Puzzle If you want to learn more about Resource Oriented Computing, this issue’s theme, you would do well to check out the course offerings at Skills Matter by Michael Swaine [U1]. Brian Sletten’s REST and Resource-Oriented Architecture Bootcamp [U2] is just one of the upcoming ROC-centric events coming up. What our editor is paying attention to this month. Looks like tweets. This Coding Life • $5 says Groupon backs down, drops the name Gnome, and rebrands their OS to KDE. — @dbentley • 2014: For the first time I had a legit use for the ‘+ operator in CSS. I stand by my rant from 2008: http://ejohn.org/blog/selectors-that-people-actually-use/ … — @jeresig • “What’s bower?” “A package manager, install it with npm.” “What’s npm?” “A package manager, you can install it with brew.” “What’s brew?” ... — @ddprrt • Suggestion from a @GDIsf-er: paired programming for couples. Really great idea, or really, really bad idea? Discuss. — @pamelafox • @tenderlove “I’d like 1.0 root beers.” “That’s a root beer float.” “Make it a double.” — @harpaa01 • Finding just the right level of abstraction feels like a warm blanket. — @benrady • There is a working generation of people who have never known email as a channel for messages you want from people you know. — @chadfowler • Doing nothing is harder than it looks. — @tara • Card Deck of Notable Women in Computing. http://buff.ly/1B7l9x7 #girlscode #coding — @jovenprogram • “What we do not automate, we are doomed to repeat.” - @ultrasaurus at @RubyWorldConf — @pat_shaughnessy • “JavaScript doesn’t care what you think.” — @RachelAppel The Writer’s Mind • Somewhere, all my protagonists sit around a metaphysical dinner table, drinking and complaining about me. — @codejill • Whatever else they are, book tours are reliable mechanisms for making the touring author more self-referential. — @GreatDismal • Thrilled to hear that Ursula K. Le Guin just won the Medal for Distinguished Contribution to American Letters! — @brainpicker • If you’re 30 or younger, for over half your life ZERO published works have entered the US public domain through copyright expiration. — @Roz_Morris • The Icelandic