Welcome!

XML Authors: Elizabeth White, Sandi Mappic, Max Katz, Yakov Fain, Keith Mayer

Related Topics: Java, XML, SOA & WOA, Adobe Flex, AJAX & REA, Ruby

Java: Blog Feed Post

Java Is Better Than JavaScript

I had a working program and decided to add the JavaScript handler function

Tоday I was participating in a discussion on one Java forum – the question was if Java is an easy or difficult programming language to learn. IMO, Java is not difficult to learn, to teach, and to use. It’s a strongly typed compiled language with tools that help you identify most of the errors before you even run the program.

While participating in this discussion I was writing code in a different programming language called JavaScript, which gave me a chance to illustrate a lot of things the Java developer takes for granted, while there are people who work in a more hostile environment called JavaScript.

I had a working program, and decided to add a JavaScript handler function to illustrate HTML form submission with jQuery for our upcoming book. I’ve been writing this code in Eclipse-based IDE called Aptana. I’ve added this handler for the submit event to a Donation form:

$('#donate-form-container').submit(function(){
var formData = $(this).serialize();

console.log("The Donation form is serialized: " + formData);

returm false;
});

Ran the program – it rendered the Web page, HTML looks fins, but nothing worked. IDE didn’t give any errors. Started a browser debugger – Firebug. Now I’ll going to put a breakpoint in this newly added function and find the problem. How hard could it be? I’ve added just this little fragment to a working program. Easy Peasy.

Oops. Where is my main.js? Nowhere to be found. Only jQuery script is available.

s1

Was my main.js even downloaded? Let’s check the Network tab. Yes, it’s here:

s2

After applying deductive reasoning (as in Sherlock Holmes stories) I figured out that the script has arrived to the browser, which instead of adding it to the DOM, showed a middle finger without explaining why. As any normal person, I started to to find who someone else to blame. May be this Firebug is buggy and just doesn’t want to show my nice script? Tried Chrome with Developer Tools – same story. The script arrived, got the finger and I have nothing to debug.

Well, there is no one else to blame. Let me just re-read my own code. Man, I misspelled the word return and wrote “returm false;” instead, which deserves a capital punishment. Changing m to n did the trick, and now both Chrome and Firefox are happy to add my JavaScript code to DOM.

What’s the moral of this story:

  1. Java developers should know that they take lots of things for granted and should not complain that their life is difficult!
  2. The fact that it takes less code to write Hello World program in JavaScript doesn’t mean that it’s an easy programming language. Don’t trust me? Watch this.

Read the original blog entry...

More Stories By Yakov Fain

Yakov Fain is a co-founder of two software companies: Farata Systems and SuranceBay. He authored several technical books and lots of articles on software development. Yakov is Java Champion (https://java-champions.java.net). He leads leads Princeton Java Users Group. Two of Yakov's books will go in print this year: "Enterprise Web Development" (O'Reilly) and "Java For Kids" (No Starch Press).