Hater's gonna Hate Java: A tech topic

Status
Not open for further replies.
Java, a term many people have learned to fear and hate, rumors swirl around in the tech world doubting it's security, reliability, and it's speed. But what should we believe? Is Java really a threat and an unneccesary language?

I've been coding in Java for a couple years now, and I've had a lot of first hand experience with the language. When I heard about the many rumors surounding the language, I thought I ought to clear some things up on a public forum.

Question: Is Java dangerous to my computer?

This rumor was half-true. When Oracle bought Sun Microsystems, and the rights to the Java programming Language, they quickly released a new Version to appeal to the Java user-base. The problem was, there was a small exploit that would allow a programmer to bypass the sandbox on Java applets (which are like the Java equivalent of Flash games), which jeporadizes the security of the computer. But as bleak as this is, this was something called a Zero-Hour situation, where there was an exploit that was quickly realized by Oracle, and they released a patch fixing this. This situation was not specific to Java, Microsoft Internet Explorer (still) allows a website to install software on your computer if you allow ActiveX controls, but this feature was made optional shortly after it's release. Database security has been threatened multiple times in Zero-Hour events too, through SQL injection attacks. Actually, the Java weakness could only be exploited if you visited a sketchy website and clicked the 'allow applets' button at the top of your browser. So the 'weakness' was actually pretty secure. It has also always been more dangerous to download and run compiled machine code (EXE files) than to download and run Java code. The problem with the exploit was that Java was less safe than it could be, but it was still safer than other things on the web.

Question: Doesn't Java require a lot of code to do simple tasks?

No, Java was actually based on the C programming language and shares many similar structures to that language. Java was so successful that C++ and C# borrowed many ideas from it. Many tasks are also made easy in the Java API, and java's natural modulated design allows you to reuse the same code over and over again, and you can also borrow code from other developers.

Question: Isn't Java really slow?

This is half-true as well. Java is slower than compiled machine code like what you get from C code. But what makes Java so special is that it was the pioneer of interpreted languages. Instead of having your program stored in raw machine code, only for your operating system. Java code is compiled into bytecode, which is an instruction form that can be translated to fit your computer's specific setup. Java is compiled once, and it will run anywhere. But this means that Java has to be interpreted to be run, which takes time. But Java bytecode is already very close to machine code, and doesn't require much interpreting. Languages like Lua, which will accept raw text, have to compile at run-time, which can make them slower than Java.

Question: Why do I need to install Java on my Computer? I thought Java was a programming language, not a program!

Java is a programming language, what you're intalling on your computer is the Java Virtual Machine or JVM. The JVM is a program that translates Java bytecode to fit your computer.

Question: Why does Java keep bugging me to update?

Java releases a new version every so often, and it's important that you update so that Java developers can provide you with better software. Updating also helps protect your computer from fixed exploits.

Question: I've never seen a JAR file, isn't that what java programs are stored as?

A trick that we Java programmer's like to use, is because a JAR file is a special ZIP file, we can move the ZIP part of the file back, and put an EXE file in the front. The EXE file will open the JAR part of the file, and the program has the sleek look of an EXE file. Minecraft uses this trick for it's launcher.

Question: Java's not used anywhere! Why are we talking about it?

Java is still one of the most prominent programming languages. Java is used mostly on the Internet because of it's Write-Once-Run-Anywhere system. Web servers don't have to worry about the type of OS a connected computer is running when it installs Java software. Java's built in Servlet code makes Java a choice language to code servers in. In all honesty, Java is used a lot behind the schenes.

Question: So are you saying that Java is the best programming language?!?

No, every language has it's strengths and weak points, that's why I've learned a couple for different reasons.

-----------------------------------------------------------------------

A lot of people religiously hate Java, mostly due to misconceptions. I thought it would be good to clear up these rumors on a forum with some tech-minded people.

I know there are a lot of C programmer's on this forum (obviously because of SRB2) and you may dislike Java. But Java and C are very similar, and have borrowed ideas from each other. Just put in perspective how you would feel if people were intensely persecuting your language. I know I sound like this is all out of porportion, but people can religiously hate Java.

Check this out: The title of this article is actually "Pure Evil Java"
http://windowsitpro.com/windows-server/opinion-pure-java-evil
Most of the hate speech is fueled by propaganda by people like Larry Wall (founder of perl) so that people will choose their language over Java.

To end this post, please watch this video on Youtube:
http://www.youtube.com/watch?v=E3418SeWZfQ
 
Last edited:
I'm not entirely sure who you think your audience is here. I don't believe the SRB2 forums are really abundant with programmers, and generally the ones who are aren't going around badmouthing Java.
 
I don't know anybody who actively hates on Java anymore except people who have spent many years writing it and have moved on to less verbose languages. What's the point of this?

Disclosure: I work with Java Enterprise web applications as a job, and use Java for some game programming stuff. There are places where it's good, and places where it's bad.
 
Last edited:
Well I have tried Java and HTML in university (they thought I was 19 when I was only 15 at a taster event that I went to with someone) it was easy to learn if statements and while statements in a test video game. My point is that I don't hate Java I actually like as I feel it is easy for me to get the hang of it, but I hear all the time that C language has more advantages (as it is where Java originates from). The only reason that I would learn a little about C language is for video games (primarily SRB2) but I only do this for fun not for work or anything.
 
Status
Not open for further replies.

Who is viewing this thread (Total: 1, Members: 0, Guests: 1)

Back
Top