Posted
by
samzenpus
on Thursday July 11, 2013 @12:55PM
from the ask-away dept.

James Gosling is probably best known for creating the Java programming language while working at Sun Microsystems. Currently, he is the chief software architect at Liquid Robotics. Among other projects, Liquid Robotics makes the Wave Glider, an autonomous, environmentally powered marine robot. James has agreed to take a little time from the oceangoing robots and answer any questions you have. As usual, ask as many as you'd like, but please, one question per post.

I'm a huge fan of checked exceptions (that is, exceptions that must be caught, or the method must specify that they can be thrown). My anecdotal experience is that checked exceptions have made my code more robust by helping me avoid mistakes, they are partially self documenting, and even save me time because I don't have to constantly check the documentation to see which exceptions are thrown.

However, I see a lot of hate for checked exceptions in the programming community. With the benefit of hindsight, what's your opinion on checked vs. unchecked exceptions? If you could do it all again, would you still put checked exceptions in Java?

Also, thank you for inventing the programming language I use all day every day. It's not perfect, of course, but I still consider it one of the best balanced programming languages out there.

As you're known as the father of Java, has that been problematic when trying to figure out your career path? Did you feel as if you have to always use Java or be the main proponent behind its architecture? Or simply having that on your resume, restricted you to a certain level of project either within Sun or when exploring new opportunities such as your current job with Liquid Robotics?

In terms of code development, it is a long way to look back to the days of Pascal and VAX. Someday we likely will look back at JAVA in the same way. Have the limits of JAVA been reached and do you see that day of obsolescence as being sooner than later?