International Enhancements in Java SE 6

One important strength of the Java Platform, Standard Edition (Java SE) has always been its internationalization and localization support. The platform continues to evolve, and Java SE 6 provides developers even more control over how they access and use locale-sensitive resources in their applications. Java SE 6 provides the following major enhancements to its internationalization support:

  • Resource control and access
  • Locale-sensitive service
  • Text normalization
  • International domain names
  • Japanese calendars
  • New supported locales

Read more about this in the article:

International Enhancements in Java SE 6

VN:F [1.9.3_1094]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)
Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Technorati
  • Twitter
  • Add to favorites
  • Yahoo! Bookmarks
  • DZone
  • LinkedIn
  • Reddit
  • Slashdot

Understanding Locale in the Java Platform

Language and geographic environment are two important influences on our culture. They create the system in which we interpret other people and events in our life. They also affect, even define, proper form for presenting ourselves and our thoughts to others. To communicate
effectively with another person, we must consider and use that person’s culture, language, and environment.

Similarly, a software system should respect its users’ language and geographic region to be effective. Language and region form a locale, which represents the target setting and context for localized software. The Java platform uses java.util.Locale objects to represent locales. This article describes the Locale object and its implications for programs written for the Java platform.

Have a look. It’s an older article, but still perfectly valid and useful: Understanding Locale in the Java Platform.

VN:F [1.9.3_1094]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)
Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Technorati
  • Twitter
  • Add to favorites
  • Yahoo! Bookmarks
  • DZone
  • LinkedIn
  • Reddit
  • Slashdot

Unicode Haiku #3

And sure to be someone’s favorite, submitted by Jon Hanna at IUC 33:

A harsh lonely night,
my Private Use Area
has no assignments

VN:F [1.9.3_1094]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)
Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Technorati
  • Twitter
  • Add to favorites
  • Yahoo! Bookmarks
  • DZone
  • LinkedIn
  • Reddit
  • Slashdot

Unicode Haiku #2

Submitted at the IUC #33 by Ken Lunde:

Beyond BMP
So many ideographs
So many Extensions

VN:F [1.9.3_1094]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)
Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Technorati
  • Twitter
  • Add to favorites
  • Yahoo! Bookmarks
  • DZone
  • LinkedIn
  • Reddit
  • Slashdot

Unicode Haikus #1

Submitted at the recent International Unicode Conference by Mark Crispin:

Unicode has planes
But not a power of two
Strangely seventeen
VN:F [1.9.3_1094]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)
Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Technorati
  • Twitter
  • Add to favorites
  • Yahoo! Bookmarks
  • DZone
  • LinkedIn
  • Reddit
  • Slashdot

NetBeans finally imports my Eclipse projects

After once declaring that NetBeans still coughs on spaces, I’m ready to declare that NetBeans has resolved this issue.

At my current day job, I’ve been using Eclipse almost exclusively. Not of my choice really. Sometimes while in Rome, you have to do as the Romans. These particular Romans like Eclipse, so I too must use it. And really I didn’t have a lot of choice because the Eclipse projects had spaces in their names…and NetBeans just pitched a fit over this, making an easy migration to NetBeans practically impossible without changing the projects. I don’t think NB really cared that spaces where in project names, but the Eclipse migration tool itself sputtered on it. Until now.

That’s right. This week after cursing Eclipse’s support of Javascript, I longed for NetBeans. I thought I’d give it another try. Using NetBeans 6.7.1, I imported my Eclipse projects and NetBeans appears to work properly. No errors, no problems. My Eclipse projects are working in NetBeans 6.7.1 despite the spaces in their names.

And guess what….I’m going to use NetBeans again after 2 years away! Of course, you know the Java support of the IDE is amazing. But did you also know that NetBeans does JavaScript FAR BETTER than Eclipse does. Seriously. I’ve been in JavaScript hell for two years now, and I’ve wanted to scratch my eyeballs out sometimes because of Eclipse’s poor handling of JavaScript files. For example, just because I don’t create a whole “JavaScript project” in Eclipse, the Eclipse IDE doesn’t easily recognize JavaScript files. And that IDE just refused to give me method completion or even jump to a helper class if I CTRL+click the name in the IDE. But NetBeans handles this without a single problem.

I’ve always appreciated NetBeans for its excellent Java editing, but now I have another reason to use it. It works great with JavaScript too! …much better than Eclipse!

VN:F [1.9.3_1094]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)
Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Technorati
  • Twitter
  • Add to favorites
  • Yahoo! Bookmarks
  • DZone
  • LinkedIn
  • Reddit
  • Slashdot

NetBeans 6 dominates JavaFX development

It’s just a personal poll, but it says a lot about the popularity of NetBeans as a JavaFX development platform. A full 87% of JavaFX developers prefer NetBeans over rival IDEs.

See NetBeans 6 dominates JavaFX development for more information about the other IDEs in my recent poll.

VN:F [1.9.3_1094]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)
Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Technorati
  • Twitter
  • Add to favorites
  • Yahoo! Bookmarks
  • DZone
  • LinkedIn
  • Reddit
  • Slashdot

What IDE do you use for JavaFX development?

A new poll on the Learning JavaFX site asks the question:

What IDE do you use for JavaFX development?

I know what I use…NetBeans 6.7.1. How about you? Answer the question for yourself and show your support for NetBeans!

VN:F [1.9.3_1094]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)
Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Technorati
  • Twitter
  • Add to favorites
  • Yahoo! Bookmarks
  • DZone
  • LinkedIn
  • Reddit
  • Slashdot

Quick note about JavaFX Sequences

If you’re learning about JavaFX, you probably already know about some of the basic data types: String, Number, and others. But what do you know about sequences?

A JavaFX sequence looks and behaves much like a Java array. A sequence is an ordered list of objects. Unlike JavaScript, JavaFX Script requires that each item in the list share the same type. The following code shows a sequence of Strings:

var names = ["John", "Gary", "Ruby", "Nick"];

JavaFX infers the correct type, but you can be explicit:

var names: String[] = ["John", "Gary", "Ruby", "Nick"];

Above, the names variable has the “Sequence of Strings” type.

Like arrays, sequences can be accessed by content index. A sequence’s position (index) is a number from 0 through n-1, where n is the number of items in the sequence. You can use the sizeof operator to tell you how many items are in a sequence.

var size = sizeof names;
println("size of names: {size}");

The easiest way to iterate through a sequence is with the for-in loop like this:

var friends: String[] = ["Jack", "Nick", "Matthew"];
for (friend in friends) {
    println("My friend: {friend}");
}

Note that the friend variable inside the for loop does not have a var declaration.

VN:F [1.9.3_1094]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)
Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Technorati
  • Twitter
  • Add to favorites
  • Yahoo! Bookmarks
  • DZone
  • LinkedIn
  • Reddit
  • Slashdot

Speculations on Google Chrome OS

Today’s announcement of Google’s Chrome OS is exciting in a few ways. I think it has implications for Java developers. With hindsight, I now think that Larry Ellison was hinting about Google’s Chrome OS when he expressed some of his desires for JavaFX on small netbook-like devices.

So, without any real knowledge and armed with nothing more than a vivid imagination, I provide some of my predictions/speculations for the upcoming Google Chrome OS and the devices it will power:

  1. Google Chrome OS will be a slightly more beefy Android OS. More beefy because it will have additional hardware driver support you might find in a netbook. However, its essence will be Android OS.
  2. The Chrome browser (or a slimmed down cousin) will be the primary application on that OS. It’s already integrated into Android via Webkit
  3. The developer API will be very similar to what Android G1 developers already use. Android G1 apps are essentially Java apps written to a Java-like API. Same Java language on top of the most important, core packages of the Java SE platform. And, of course, Google won’t be able to call it a “Java” platform because it will be stripped down to what Google engineers consider only the core, “good” parts of Java SE APIs + Google’s own Android APIs of course.
  4. Google Chrome OS will be attractive to Java engineers because it looks and feels so much like the the JVM…except it’s really the Dalvik VM. Many simple applications that run on Java SE will be able to run on the Dalvik VM after a recompile. Or maybe you’ll just have to run your class files through a simple converter to target the Dalvik VM. At any rate, Java developers will feel right at home.
  5. Google Chrome OS devices will need to get onto the network easily, seamlessly, regardless of Wi-Fi availability. Google really does believe that “the network is the computer”. Without the internet, these devices will be severely hampered. Expect these devices to have multiple network access technologies built in. Wifi hardware will obviously be on board. But you can imagine it also having a cellular transmitter/receiver built-in too.
  6. Remember all that cellular radio spectrum that Google was interested in only one or two years back? Wouldn’t it be just an awesome thing if Google purchased a huge portion of that and used it to make their Google Chrome OS devices be able to instantly jump onto that for network access? You buy the device, punch in a pre-purchased code for access, and your notebook is on the net in 5 minutes! It will be incredibly, insanely easy to get on the network with your Google Chrome OS-powered device.
  7. Hey, what’s that Google Voice project anyway. Only one of the coolest telephony projects around! Maybe Google will leverage this service? Here’s a scenario for you: you buy a Google Chrome OS device, open it up, agree to the terms of a Google voice membership, get a Google voice number and Google account (if you don’t already have one), and the device then connects to the network using the built-in cellular hardware to connect to some of that cellular spectrum that Google will or has already purchased.
  8. After all of this, or perhaps even before this, we all start to feel a little uneasy about just how pervasive Google really is. And despite Google’s mistrust and derision of Microsoft, they begin to look a little bit like Microsoft too…really, really big and really, really powerful and located at every digital turn. But this time, instead of controlling your PC, they control your network. Ooh, there’s a suspenseful novel in there somewhere.

Ok, some of that’s just silly, crazy talk…or is it? We’ll see over the next few months.

Oh, one last thing. I just cannot resist the urge to compare Google Chrome OS to Sun’s Java OS. Do you remember that? I could hardly find any references to it, although I did find an old article called Inside the IBM JavaOS Project. At some point, Sun apparently enslisted IBM to help. At any rate, the Java OS project started (and ended) a long, long time ago. It’s been a decade at least. Remember the Hot Java browser? I actually ran it and used it. I remember that one of our tests at Sun was to run the SwingSet demo on it. But now I’m just distracted. What was I saying? Oh yes, there are even more similarities. Java OS is to Google Chrome OS as the Hot Java browser is to the Chrome browser. Maybe Google Chrome OS will finally be the successful reincarnation of JavaOS?

It’s all fun to think about, and as I suggested, pure speculation at this point.

VN:F [1.9.3_1094]
Rating: 0.0/5 (0 votes cast)
VN:F [1.9.3_1094]
Rating: 0 (from 0 votes)
Share and Enjoy:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Technorati
  • Twitter
  • Add to favorites
  • Yahoo! Bookmarks
  • DZone
  • LinkedIn
  • Reddit
  • Slashdot