Saturday, December 15, 2012

My Opinion on Java

My Opinion on Java

Blog Post 4: My Opinion On Java

Fyi, I skipped a bunch of Blog Posts. I am transitioning to Blogger,
 but I just skipped blog posts that weren't important. To see others, head to Infinite Square Root

Java is a interesting language. One that can do so much, but is slowly dying. It's odd really. 
Java is a language that allows you to compile programs that can run on almost any platform. 
Some requiring a little more change than others. It is used in cars, TVs, and other things as well. 
Probably the best known platform that used Java is Android.

Android runs on a linux kernel, but uses Java as its main language for its apps. As a developer myself, 
this does mean a few things. Java is not the most advanced language, in fact, it is a pretty bare bones 
system. It does take a little more work to get things to work on Android, especially when compared to 
Objective-C with a very advanced compiler. I have worked on both platforms and I can't lie. I greatly 
prefer Apple's ecosystem. As you may know, one of my desktop apps Knowledge, is only available on
 OS X. This might mean I don't get a lot of users. At the moment, I don't care. I can develop for it quickly
 and easily. Most importantly, I can develop on it well.

This is my biggest problem with Android. Most developers are used to writing in C. I understand, if you 
are an app developer by trade, then Objective-C and Java are the most commonly known. However, for
 most developers, C is just how they usually write. Because of this, Objective-C isn't very hard to learn. 
It is just C on a heavily Object-based environment. Hence the name of course.

Java on the other hand, isn't so familiar. It is different, that is really the biggest difference. You write 
everything in a .java file, which is odd, as a C programmer. I keep finding myself looking for the main.m 
and the mainheader.h. But there isn't one. I understand that a good app developer will need to learn both,
 but Apple just makes it so easy to develop for their platforms. 

That said, Apple is creating a type of laziness, and you can see it even from their own infinite loop. 
Take a look at iTunes on Windows. Really, it is not a good program. It is slow, takes up way to much
 memory, and crashes all the time. Why? Well it is because of the Objective-C runtime that is necessary
 for them to code "their own way". They don't want to code in another language, they want to use what
 they already have. I understand that, as writing a whole new program is annoying, but sometimes it needs
 to be done. 

Therefore, although Java is useful in a lot of cases, as an app developer, I find it annoying. It is different
 from everything else. Windows, Linux, OS X, iOS, Windows Phone. None of them use Java. Android
 does. Now, what I do like is that I could write an app in Java for OS X. But then it would work on
 Windows, Linux, Windows Phone and more. That is nice, but I have found that apps just don't work
 as well on Java. Java is slow, and very basic. It has it's uses. But I won't be sad when it is gone.

No comments:

Post a Comment