What Java Still Can’t Do

It’s hard to believe that more than a decade after Java was released, there are still so many tasks it can’t do. I’m not just talking about things it can’t do well, but about things that you just can’t do without shelling out to native code. Here is a list of tasks that still need native code:

  • Firewire
  • Raw IP
  • ICMP
  • Raw Ethernet
  • In fact, any networking besides TCP or UDP
  • Burn a CD/DVD
  • Rip a CD/DVD
  • Raw console access; e.g. curses, clear screen, etc. (To be honest this one is so old-fashioned, it shouldn’t be added.)
  • Copy or move a file (with all metadata intact)

Isn’t it about time we filled some of these holes? Why has it taken 12 years to add something as basic as copying a file?

What else can you think of?

54 Responses to “What Java Still Can’t Do”

  1. camilogarzon Says:

    Found a Solution (jCDWriter by mallappa) in http://sourceforge.net/projects/jcdwriter/ it is for Linux but you can modify it for Windows and catch the bugs.

    Good Luck!!

  2. kado idee huwelijk Says:

    Do you mind if I quote a couple of your articles as long as I provide credit and sources back to your webpage? My blog is in the very same niche as yours and my users would definitely benefit from some of the information you present here. Please let me know if this ok with you. Many thanks!

  3. Wade Says:

    Just having a close button whose default behavior was to close the dang application would be nice. Java has the dumbest default value I’ve ever seen. “Oh you actually wanted CLOSE the application when you clicked close? I was thinking you wanted to do something else like just close the window but still leave the application running.” Silly me.

  4. Elliotte Rusty Harold Says:

    Close the window but still leave the application running is exactly what every Mac user expects. (Of course you have to get the menu bar right for that too.)