jcokeinfinity
CYA
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
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: