Java Champion and web applications specialist Yakov Fain gives Voxxed an overview of his comprehensive introductory course to Java and Java EE, explains why he’s been toying with Dart, and what he’d like to see in Java’s future.
Voxxed: You program for enterprise web applications – how has Java’s role on the web changed in the past few years?
Initially, Java was introduced in 1995 on the client side, and back then, when you saw this animation of a Dancing Duke, it was so amazing and unusual. And then there were some legal issues with Microsoft, and Internet Explorer stopped supporting new version of Java on the client, and not much has changed since then.
Java is strong as ever, especially with the release of Java 8 – which is as big a release as Java 1.5 ten years ago. Its role in the enterprise is not going to change for a long time. And on the server side, Java shines.
As a veteran user, what are you looking forward to in future versions of Java?
First of all, I’m looking forward to Java being modular (the project Jigsaw). Being able to pick up Java in pieces in runtime, that’ll be great. For years Java didn’t figure out an easy install for the end user, and this is something they are working on. I’d also like to hear some clear message from Oracle regarding the GUI development in Java (Swing or JavaFX). These are the areas I’d like to see improved or clarified.
I like languages that are oriented towards reactive programming, but I don’t think this is something Java as a language will support soon. In Java EE 7, more attention was paid to the HTML aspects (e.g. WebSocket protocol, JSON support), Oracle understand this is important, so Java is moving nicely in this respect, and I think it will remain important for some years to come.
You recently blogged that your company was experimenting with Google Dart – why is this?
What level of programmer is your Parleys course aimed at? Can absolute beginners learn something?
Yakov: It’s OK for beginners, but I don’t explain such basic concepts such as what a variable, or what a compiler is. As a matter of fact, if that’s what your level is, I’m writing a book about Java Programming for kids (and adult beginners too) – the unedited drafts are available now here.
Why did you add a bonus unit on GIT? Do you think this is something developers struggle with?
I was teaching this course privately and publicly before, and I had to come up with a way for the students to submit homework. I didn’t want students to send me email with attachments. This is not how things done in the real world. Software developers use version control systems and source code repositories. GIT is a very popular version control system, and GitHub is a widely used source code repository, so I thought, why not have my students learn as they go?
Where did you pick up your own Java expertise?
Around 1998, I was using software that was getting outdated, and had decided to switch to something different. I was an independent consultant, and so of course I wanted to do something different without damaging my income.
One option was Java, and one was SAP. Both languages were getting hot at the time, but because SAP was tied to a specific enterprise applications, I decided to go for Java.
I paid for a weekly course – out of my own pocket – and it came to around $4000, which was a lot money at that time, especially compared to these Parleys Courses. Learning the syntax of any language is easy. But I picked the training from a company that taught how things are done in Java application servers, and it all came together.