The CodeRanch Journal
December 2013 Edition
Howdy from all the CodeRanch staff, and welcome to the December edition of the CodeRanch Journal. We have a very special newsletter for you this month. We are participating in Manning's
Countdown to 2014. To mark this event, we have are featuring three Manning authors that you'll recognize as moderators at CodeRanch. And check out a special deal on December 10th on books from these authors and more in
Manning's Countdown to 2014. Plus use discount code crdotd14 all month for 50% off every deal.
Who are The Authors
Bear Bibeault is the author of five Manning books the most recent being Secrets of the JavaScript NinjaErnest Friedman-Hill is the author of Jess in Action. While it was published a decade ago, Ernest is an interesting guy so had to include him in the interviews! Plus Jess is still used. He even spoke about it at a conference this yearMartijn Verburg is the author of The Well Grounded Java Developer. We also interviewed his co-author Ben Evans who was cool enough to hang out with us moderators at the 2011 Server Side Java Symposium
The meat - actual interview snippets
Jeanne: Do you prefer to read e-books or paper books? Why?
Bear: E-books; for two reasons. Firstly, space. I read a lot, so books kept piling up and piling up and piling up. Switching to e-books has solved that problem. Secondly, my eyes aren't getting any younger. The benefits of the ability to adjust the font style and size of reading material are not to be dismissed easily.
Ernest: I love my Kindle, and spend some quality time with it almost every day, but I find myself turning to paper books for reference materials. Although my Kindle has quite a few technical books on it, I mainly use it while reading for pleasure. Nothing beats a paper book filled with Post-Its and marginal notes when you're learning.
Martijn: Paper books - it just *feels* right - but that's possibly because I was brought up on volumes and volumes of paper books. That said for quickly scanning a few pages and e-copy just has a better find implementation than my hands and eyes :-).
Ben: Paper books. I find it hard to read on e-readers - the latest generation of Kindles are better (& I haven't tried a PaperWhite yet) but I still can't manage on them as well as I can with a real paper book. I find the physicality of a real book comforting - especially the smell & weight of it. Having said that, there are disadvantages to physical books as well. I can imagine that as the technology of e-readers improves over the next few years that I might get one, but it will never fully replace paper books for me.
Jeanne: Wow. We have a 50/50 tie. I guess paper isn't dead yet! Personally, I've had an iPad since the first generation came out and still prefer paper books. I do prefer reading a manuscript on the iPad to the computer (which is why I got it), but for books that are complete, it is a different story.
Jeanne: If you had a magic wand and could universally improve one software development practice, what would it be?
Bear: No surprise: Stop putting
Java code in JSPs! Just stop. Now.
Ernest: I suppose I have many pet peeves, but if I had to choose one, I would make people write shorter methods and smaller classes.
Martijn: Less typing, more thinking! Too many developers want to just get in and write code - typing is the easy part. Understanding what the problem is and coming up with an elegant and efficient solution is a lot harder.
Ben: I would make the pendulum, which has swung so far in favour of developer productivity, back towards other non-functional aspects. Efficient use of computing resources, robustness, debuggability, security, stability, backwards compatibility and long-term fitness for purpose have, in my opinion, all been seriously compromised in the name of developer productivity and the cult of the new - and whilst those
chickens have not yet truly come home to roost, the migration is well on its way.
Jeanne: You've been a developer a long time. Yet in our industry, someone with 3 years of experience is a "senior" developer. What advice do you have for someone about becoming a "more senior" developer?
Bear: People often ask me why I haven't "burnt out" on software development even though I've been doing to for three and a half decades. I think the answer lies in that I believe that there are differing ways to approach software development. I think most people approach writing software as a purely technical endeavor. On the other hand, I think of it more as a *craft*. Let's use an artist as an example. A painter never gets tired of painting. A painter never feels that he or she has learned all there is to know about art. A painter never stops learning new techniques and applying them to his or her craft. For me, software development is the same way. It's something that's always evolving and there's a never-ending array of new ideas and new techniques to apply to the craft.
Ernest: Get as many tools for your toolbox as you can. Don't hit screwdrivers. Don't just read books about your own area: learn about how things are done in other fields. And never assume you're done learning.
Jeanne: Thanks guys. I've "only" been a developer for a little over a decade. I was wondering what you'd say about your experiences. What I don't understand is why people think writing software would get boring. The technology and problems keep changing!.
Jeanne: The Well Grounded Java Developer covers polyglot programming. If someone was going to learn one language other than Java, which would you recommend and why? And no picking SQL, HTML, CSS or JavaScript!
Martijn: Groovy - it gives you the familiar comfort of Java-like syntax and behaviour with a gentle introduction in the the worlds of functional programming and dynamic languages.
Ben: Clojure. It is a JVM language, and so has aspects which will be familiar to the Java programmer. It is also enough of a Lisp to provide the benefits that most programmers derive from learning to code in a functional language (and no, for my money, Scala does not count as one) - but it also benefits from a tiny bit of extra syntax compared to other Lisps, which makes it considerably easier to learn. I expect very few people will ever use Clojure in a professional project, but that doesn't matter.
Jeanne: In the forums, some people who aren't yet working have a goal of becoming a "Java developer." Do you think this is a good goal? Why or why not? [yes, this question is leading - nobody does just java, etc.]
Martijn: I don't think it's a good goal no. Developers should aim to be good software developers and understand and apply principles. Java is an amazing platform and language, but it's the underlying aspects you want to master (OO, a managed GC and JIT is good for you etc).
Ben: If it helps them to focus, and to achieve goals they have set for themselves, then it could be a good thing. Whilst I would always encourage people to think in broader terms about the profession and themselves, I know that some people find a more definite self-image to be useful.
Jeanne: That's an interesting perspective Ben! When I asked this question, I figured it would be a low hanging
fruit one and you took it in a different direction.
Jeanne: All right, we've hit 1000 words. I hate to leave you hanging, but...
Wait! I want more. Where is the rest of the interview?
As on Comedy Central, there isn't enough space to put the full interview here. You can read the rest in the forums and maybe even ask a question of your own. You can read the full interviews at:
BearBenErnestMartijn
About The Interviewer
Jeanne Boyarsky runs Book Promotions and thought this would be a nice way to get to know some of our authors a bit more.
All this and much, much more on javaranch.com -
http://www.javaranch.com.
Any feedback or suggestions about this edition or the Ranch journal in general is welcome in
this edition's Ranch Office thread
If you do not want to get these newsletters, see here:
https://coderanch.com/how-to/java/Journal