Welcome!

Java IoT Authors: Zakia Bouachraoui, Pat Romanski, Elizabeth White, Liz McMillan, Yeshim Deniz

Related Topics: Java IoT

Java IoT: Article

An Interview with Bruce Eckel

An Interview with Bruce Eckel

Recently, Jason Bell had the opportunity to talk with Bruce Eckel, noted author of Thinking in Java and Thinking in C++.

JDJ: Thanks for taking the time to talk with us. I know you've recently had some seminars in Prague. Do you think European programmers differ from American programmers?
Bruce Eckel:
That's very difficult to say, since I believe we tend to get a special group of programmers at the seminars there. Even though we offer the seminar at lower prices, it's still expensive and as a result those who do come seem to be the exceptional ones. They tend to be outstanding, but I assume there are other factors involved.

JDJ: Do you have any comments on the new additions to the JDK 1.5?
Eckel:
I assume you mean the features that mimic those in C#. I'm very glad to see those, because it means that the Sun Java folks are no longer saying "you don't really want those things." Instead, they're stepping up to the competition right away, which is very promising. I was very skeptical about C# at first, but when I examined it more closely I realized it was a well-designed language.

JDJ: I know you use a number of languages, but which one would you suggest for beginners who want to learn object orientation?
Eckel:
Python. It's the perfect beginner language, and it's built on objects from the ground up, so it's easy to learn to use objects with the language. Unlike Java or C++, there's very little ceremony required, so you don't get distracted by weird artifacts and can focus on the essence of objects and programming.

Then if you want to move to Java or C++, the concepts translate nicely and you can easily see what the object's essence is in that language and which are the language artifacts. And you can continue using Jython in various ways for your Java development. Also, there's Boost.Python to make it easy to talk back and forth between Python and C++

JDJ: I've spoken to a lot of programmers over the years and I've heard nothing but praise for Thinking in Java. Are you surprised by its success?
Eckel:
I guess I am. I've been writing books so long that I don't expect them to necessarily do that well (first-time authors often expect to retire on book royalties, but after you've done it awhile you discover that a "successful" book in the publisher's eyes is often just one that pays back its advance). But since Thinking in C++ (when I started using automated code testing tools to validate the code in the book, in 1995) I also expected that everybody would naturally start using automated testing tools for their book code. At this point, I've still met only a couple of authors who do it. Also, I follow John Irving's maxim: "Writing is rewriting." But that's pretty much all I do - make sure my code works and rewrite a lot. As a result of rewriting, I find a lot of things in the books that I consider embarrassing, so I always think they could be a lot better.

JDJ: Do you offer the code updates on your Web site?
Eckel:
Yes. The code and the HTML version of the book is available for free download from www.MindView.net. There aren't a lot of changes between versions of the book, but if I do make any changes I post them on the site.

JDJ: I notice you have a Web log. What made you decide to run one? Do you get time to read any other programming blogs?
Eckel:
If you go to the first Web log at http://mindview.net/WebLog/log-0001, titled "The origin of this Web log," that will answer your first question. Bill Venners got me started, and even though I didn't end up writing on his site, I still follow his logs a bit. He's amassed quite a collection of quality Web loggers, and he focuses on programming.

For years I've read Elliotte Rusty Harold's "Cafe Au Lait" Web site (www.cafeaulait.org), which is kind of like a Web log for Elliotte but better - it's daily and he hunts for interesting articles, so it's as if he's filtering the Web for me, especially Java stuff. I rely pretty heavily on the Elliotte-bot to keep track of the interesting stuff. I occasionally read some columnists, like Cringely (www.pbs.org/cringely) and Joel Spolsky (www.JoelOnSoftware.com), and www.pcmag.com columnists. But these are when I'm killing time. Usually when I'm at the computer I try to get something done.

JDJ: In one of your blog entries it said "If it's not tested, it's broken." Do you have any words that would encourage nontesting programmers to test their code?
Eckel:
That's actually a quote from Thinking in Java, 3rd edition. There's a section in Chapter 15, "Discovering Problems," that attempts to convince people of the value of testing. Also, the talk I give to user groups lately is about testing (unit testing and design by contract, also in TIJ3). But in general it seems to be a personal epiphany that each programmer must have, when they suddenly see that automated unit testing saves them a lot more time than it costs. This happens when you change something in your code and your unit tests suddenly find a lot of bugs that you know wouldn't have shown up for a long time otherwise. That's convincing - after that, you can't imagine doing without.

JDJ: Are there any books you can recommend (apart from your own) that have been a help to you?
Eckel:
Design Patterns, of course; despite its problems it's still a major learning experience. Gerald Weinberg's Secrets of Consulting is a must, as is Peopleware by DeMarco and Lister (2nd edition, and they just came out with a new book, Waltzing with Bears, that I'm sure is good). Effective C++ and Effective Java have both been quite helpful. I finally understood network programming from Elliotte Rusty Harold's Java Network Programming. Learning Python, The Python Standard Library, and The Python Cookbook are all great. Core Java has always been helpful as a resource. Some of the Extreme Programming books have been good. I generally like Robert Glass's books for their irreverence about software development. A lot of Martin Fowler's writing is quite helpful. That's all that I can get from skimming over my bookcase.

JDJ: With everything you do, do you have time for any non-work activities?
Eckel:
Definitely. That's one of the main points of working for myself - the freedom to take time off and do other things. One of the activities I enjoy a lot when I'm here in Crested Butte, Colorado, is mountain biking. I'm competent in that I can cover the territory (sometimes that means walking the bike) but it's excellent exercise and a great way to be outside. Also hiking, since the mountains are beautiful here. I usually take people on hikes when they come up here for seminars.

Also, on a lark I just tried out for a local play here, however, I don't know if I got the part, but it turns out it was a lot of fun just to read for it.

JDJ: What do you have planned for the remainder of 2003?
Eckel:
We aren't doing that many public seminars since people haven't been that keen to travel, and the economy has definitely impacted training budgets (although I have seen some small indications that this trend has at least bottomed out, if not slightly turned around). I suspect we'll have at least several in Crested Butte before the end of the year, but the rest of the time I will be working on books (finishing C++, Volume 2, starting a new book that I haven't announced yet) and the "Hands-On Java CD ROM," finishing the solution guide for the third edition. I also hope to set up a simple studio to create video training media, which is something I've been pursuing on and off since I worked on The World of C++ and Beyond the World of C++ many years ago for Borland (see http://mindview.net/WebLog/log-0029 for details). Especially with people not traveling and with budgets the way they are, it seems as if CDs and videos are a great way for people to learn now.

Also, I've been doing audio interviews with various luminaries in the software world that I plan to make into an MP3 CD for people to listen to while they drive (with the new inexpensive MP3 players) or on their computers. These interviews have been quite interesting so far; I'm going for the NPR "Fresh Air" kind of feel. They've also been fun to do, which I think is a good sign.

JDJ: Dare I ask which luminaries you have interviewed? Just as a teaser...
Eckel:
I'm going for a spectrum of people involved in different aspects of creating software. Not everyone is well known. Some are book authors like Dave Thomas, Andy Hunt, Joshua Bloch, and Ron Jeffries. Chuck Allison wrote a C/C++ book and is coauthoring Thinking in C++, Volume 2 with me, but his focus is teaching so we talked about the education necessary for good software engineers. Guido Van Rossum created the Python language and Jim Fulton created the Zope application server. Gene Wang used to be VP of languages at Borland, and is now president of a company that makes cellphone software, so we mostly talked about management. Daniel Will- Harris is a designer (he does my book covers) and has consulted on the user aspects of software; we discussed, from the user's perspective, the kinds of things that software designers need to do in order to create better software.

There are others that I hope to add, and I also hope to continue doing interviews and creating CDs like this because I'm having fun doing it. And the questions I asked were things that I found interesting, so I think the interviews themselves will be quite enjoyable to listen to.

JDJ: You mentioned MP3s; do you listen to any music while you're coding?
Eckel:
No, I'm not the kind of person who can usually listen to music and do complicated mental stuff at the same time. I had a college roommate who could only study with headphones and music, and I could never figure it out. On the contrary, I prefer things as silent as possible, and my father (a master craftsman in wood) just finished building me a desk for use here in Crested Butte that has a sound-insulated cabinet for the CPU box. Since my new computer is very quiet, the combination of the two should be completely silent.

I am interested in some of the new MP3 technologies, however. In particular, stand-alone systems that hook into your stereo. Maybe if I master a system like that, I'll experiment with listening to music while writing and see what happens.

JDJ: Bruce, once again, thank you for taking the time to talk to us.
Eckel:
Well, I think it has helped kick start me back into my own writing. This was the easiest project (talking about myself) that I had on my desk.

More Stories By Jason Bell

Jason Bell is founder of Aerleasing, a B2B auction site for the airline industry. He has been involved in numerous business intelligence companies and start ups and is based in Northern Ireland. Jason can be contacted at [email protected]

Comments (2)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


IoT & Smart Cities Stories
Moroccanoil®, the global leader in oil-infused beauty, is thrilled to announce the NEW Moroccanoil Color Depositing Masks, a collection of dual-benefit hair masks that deposit pure pigments while providing the treatment benefits of a deep conditioning mask. The collection consists of seven curated shades for commitment-free, beautifully-colored hair that looks and feels healthy.
The textured-hair category is inarguably the hottest in the haircare space today. This has been driven by the proliferation of founder brands started by curly and coily consumers and savvy consumers who increasingly want products specifically for their texture type. This trend is underscored by the latest insights from NaturallyCurly's 2018 TextureTrends report, released today. According to the 2018 TextureTrends Report, more than 80 percent of women with curly and coily hair say they purcha...
The textured-hair category is inarguably the hottest in the haircare space today. This has been driven by the proliferation of founder brands started by curly and coily consumers and savvy consumers who increasingly want products specifically for their texture type. This trend is underscored by the latest insights from NaturallyCurly's 2018 TextureTrends report, released today. According to the 2018 TextureTrends Report, more than 80 percent of women with curly and coily hair say they purcha...
We all love the many benefits of natural plant oils, used as a deap treatment before shampooing, at home or at the beach, but is there an all-in-one solution for everyday intensive nutrition and modern styling?I am passionate about the benefits of natural extracts with tried-and-tested results, which I have used to develop my own brand (lemon for its acid ph, wheat germ for its fortifying action…). I wanted a product which combined caring and styling effects, and which could be used after shampo...
The platform combines the strengths of Singtel's extensive, intelligent network capabilities with Microsoft's cloud expertise to create a unique solution that sets new standards for IoT applications," said Mr Diomedes Kastanis, Head of IoT at Singtel. "Our solution provides speed, transparency and flexibility, paving the way for a more pervasive use of IoT to accelerate enterprises' digitalisation efforts. AI-powered intelligent connectivity over Microsoft Azure will be the fastest connected pat...
There are many examples of disruption in consumer space – Uber disrupting the cab industry, Airbnb disrupting the hospitality industry and so on; but have you wondered who is disrupting support and operations? AISERA helps make businesses and customers successful by offering consumer-like user experience for support and operations. We have built the world’s first AI-driven IT / HR / Cloud / Customer Support and Operations solution.
Codete accelerates their clients growth through technological expertise and experience. Codite team works with organizations to meet the challenges that digitalization presents. Their clients include digital start-ups as well as established enterprises in the IT industry. To stay competitive in a highly innovative IT industry, strong R&D departments and bold spin-off initiatives is a must. Codete Data Science and Software Architects teams help corporate clients to stay up to date with the mod...
At CloudEXPO Silicon Valley, June 24-26, 2019, Digital Transformation (DX) is a major focus with expanded DevOpsSUMMIT and FinTechEXPO programs within the DXWorldEXPO agenda. Successful transformation requires a laser focus on being data-driven and on using all the tools available that enable transformation if they plan to survive over the long term. A total of 88% of Fortune 500 companies from a generation ago are now out of business. Only 12% still survive. Similar percentages are found throug...
Druva is the global leader in Cloud Data Protection and Management, delivering the industry's first data management-as-a-service solution that aggregates data from endpoints, servers and cloud applications and leverages the public cloud to offer a single pane of glass to enable data protection, governance and intelligence-dramatically increasing the availability and visibility of business critical information, while reducing the risk, cost and complexity of managing and protecting it. Druva's...
BMC has unmatched experience in IT management, supporting 92 of the Forbes Global 100, and earning recognition as an ITSM Gartner Magic Quadrant Leader for five years running. Our solutions offer speed, agility, and efficiency to tackle business challenges in the areas of service management, automation, operations, and the mainframe.