Electronic Design

Java Matters

I love programming languages. They're fun. I've worked everything from Algol, APL, Lisp, and Visual Basic to Forth. C got a lot of use, but it lacked production-grade, object-oriented features. After playing with Smalltalk, I was hooked on OOPs (object-oriented programming languages). When C++ first came along, I thought I had it made.

C++ is definitely a workhorse. But its runtimes can be quite large, and it inherits a lot of baggage from C. On the positive side, C++ gives you objects, and it supports multiple inheritance and templates.

But Java is where the action is. As a language, Java is rather elegant. It also includes features like multitasking that many other languages leave to APIs. On the surface, Java is C and C++ like, but it's really a new language. Moreover, it's a programming system.

For starters, Java's a simple OOP. But it eliminates many of the implementation complexities of C and C++. It hides pointers, has automatic garbage collection, and has neat features such as multiple interfaces.

Java goes beyond C++: it has a framework and is highly portable. But there's a price. Java gets rather big and complex, especially with its built-in frameworks and class definitions.

Java is a fun language. Like Basic, it's easy to get started with. You can use as much or as little of the language and Java Virtual Machine (JVM) as you need. Like C and C++, Java also is a production language. With it you can churn out production code that not only looks good, but also works over the long run.

Java takes up where C and C++ stop. It provides a much cleaner system that targets Internet and portable applications. With its underlying JVM and class libraries, Java lets users be more productive, and it provides a base for more robust applications. It also makes interfacing with other Java applications easier.

The fun has always been in the building. Java just lets you build with better things. If you're really into languages, dig a little deeper. The JVM and its associated Java bytecode semantics are there for the reading. Get under the hood, see what's really there, and use it. Enjoy.

Hide comments

Comments

  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
Publish