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.