Feb 20

Swing is drowning

Java, Tech with tags: , 22 Comments »

Drowning

Sun needs to do something drastic else Swing will drown. Although many people tease about the complexity of Swing, it does do a lot of things right.

Unfortunately the ship has not turned fast enough to reach its potential, and it is losing the race fast to the Web, Air, and WinForms.

Sun seemed to put its might into JavaFX and left Swing itself with a skeleton crew that I feel sorry for. A lot of the top Swing folk have actually left. Some for Google, and some for Adobe.

How many people do you think are working on the Swing core? I bet you would be shocked. I think that more people live at Ben’s house :)

How many young developers do you hear jumping into Swing development? The “cool” factor isn’t there. It is all about the Web and Air. The Air development team is growing fast.

Who can save Swing? Sun needs to put its hands in its wallet, but it doesn’t appear to be doing anything other than hoping that JavaFX can compete. Ouch.

Update: I got a lot of emails and comments on this, so I have written up more thoughts on my reasoning.

Feb 19

JSF Coding Standards

Comic, Java, Tech with tags: 1 Comment »

JSF Coding

It is fun to see the comments on the Joint Strike Fighter coding standards documentation from AT&T.

Mostly people are arguing over recursion in C/C++ and embedded devices.

I had the same thought as OMouse though: “Why aren’t they using Ada?”

Feb 12

Interview Day: Java

Comic, Java, Tech with tags: 3 Comments »

Interview: Java

Write a Stack class… and a full suite of tests without IoC

What about the other languages?

Got some good ones for other languages like Fortran, BASIC or assembly?

Feb 04

Bill Burke wants to get rid of Java!

Java, Tech 12 Comments »

Bill Burke jumped onto the computer after a painful last few minutes of the superbowl to tell us how he could be done with Java:

I also do not believe that Java is the end all, be all of existence.

He thinks that a new Java needs to come around and it must have the following features:

  • Be typesafe, statically typed
  • Have an IDE that supports the same features as modern Java IDEs
  • Have a rich set apis and libraries to build my applications from
  • Have a viable commercial ecosystem
  • Have a vibrant open source community.

If Java is to stay around it “needs elegant, typesafe closures to complement annotations as a way to implement DSL. It needs a standard, non-code generating way of adding behavior to annotations. It needs a structural syntax to make initialization easier. AOP support might be nice too, or at least JVM support to make it easier to implement AOP-like features. Better zero-turnaround development features in both the JVM and APIs like Java EE, Seam, Hibernate, Spring, and JBoss AS would help out tremendously as well.”

BEEP BEEP BEEP

Ok, ok, what am I doing here?

After listening to the political commentary this “season” for what seems like an eternity, I decided to see how I could turn around something that someone said and make the opposite point.

Bill was actually ranting against dynamic languages and FOR Java. Just like certain benchmarks, it is easy to take things out of context and paint a different picture.

Bill, the result must have been hard to take, but you did have a fantastic season.

Jan 30

Rotating Java and JavaScript on the Server

Ajax, Comic, Java, JavaScript, Tech 11 Comments »

Rotating Java and JavaScript on the Server

I was chatting with someone about how, in 2008, you could build an application with GWT on the client side, and Rhino on Rails on the server side, and how that would mean flipping the roles of Java and JavaScript. Of course, this would be a flip BACK to the past:

Netscape LiveWire enables developers to create, modify, and maintain online sites and applications through a simple drag-and-drop, point-and-click environment. The environment uses the Java programming language and a Java-based scripting language to enable developers to create and execute Live Objects, or interactive multimedia content, within their applications.

Jan 25

Of Fonts and Men

Java, Tech with tags: , , , 2 Comments »

I am font overloaded.

First, I kick on a movie on type faces, Helvetica. Just imagine for a second this exchange with the wife:

Helvetica

It was actually interesting to see the designer types say exact opposite things about the font, the art of typography, and design:

Then, Ben goes and writes about Of Fonts and Java2D in which he picks apart pixels, as he is want to do.

He lists some of his favourites, starting with the Helvetica wannabe, Arial:

Good to see you blogging again Ben, and why wasn’t Helvetica on your favourites? :)

Jan 25

The Consultants: Mavenization

Comic, Java, Tech with tags: , , 6 Comments »

The Consultants: Mavenization

Jan 21

The “killer app” phenomenon

Java, JavaScript, PHP, Tech 2 Comments »

Cedric is talking about the killer app phenomenon as it related to programming language. Of course, the term killer app doesn’t quite fit so well with languages, but the abstract concept is “reason it hit a tipping point”.

For Java it wasn’t the Applet as Cedric pointed out. I think it is a mix of:

  • No more memory management (language feature)
  • C like (not a huge leap)
  • JVM worked OK on the server side (although a bit crap at first, ended up becoming top notch)

For PHP though, I think it is much clearer:

  • Deployment. PHP was built for the Web. Remember how painful Perl was back then? PHP fit the jump from CGI to “oh, to do rich dynamic stuff we can’t fork() every time”. PHP was easy to setup with Apache, it just worked, and soon it was deployed on all hosting providers. This is why it is still a winner for so many people
  • Simple, scripting based: easy to go from Perl to PHP. Easy enough for the people who liked the deployment issue to hack away (e.g. the non CSci folk)

And JavaScript? The killer app was Netscape, and the fact that it was like PHP in that people could hack away.

Dec 11

Rails, and how the opinion can keep back Rails EE

Java, Ruby, Tech 1 Comment »

Marcus Ahnve posted about Merb, and how it is “leaner and meaner than Rails”.

His core point:

I have used Rails on a daily basis for almost a year now, and before that I was a night time hangaround. While I am definitely a happier programmer using Rails than anything built on Java, I still feel that it can get better.

First of all I want more things to be plugins. And really, they should not be plugins at all but gems instead.

Why plugins? We use RSpec instead of Test/Unit, HAML instead of erb and are seriously looking into JQuery instead of Prototype. And of course, we are using Mercurial instead of Subversion. All of this is of course possible to use in Rails, but a lot of things are sort of made for the default choice, such as generators generating tests, and plugins having the -x switch for Subversion. And I am pretty sure that this is the way DHH wants it.

The part that interests me is “we use X instead of Y”. I get it. People have been doing Rails for quite awhile now, and as with everything, they see things they would like to do different. That PHP/ASP/JSP-like, ugly <% %> syntax is a drag. It makes me think that I will be putting code throughout the view god damn it! So, I will give HAML a try, or some other builder-based system, or write my own. Why not? With Ruby, surely I can put together a great templating system in about 10 lines of code.

The problem of course is one of the reasons that you probably jumped to Rails in the first place was due to the paradox of choice that you had in Java land. You sat down with Rails for the first time and had a sign of relief as you ran % rails mynewproject. Just like that, you had bypassed the weeks of work evaluating which combination of Java frameworks and tools that should be used on this project. You didn’t have to argue with The Architect about the merits of abstracting logging to a bizarre degree with commons-logging.

When you talk to Railsy folk you will already hear about various plugins that you should be using. If you aren’t careful, you will be in the same path as before, until you move on to Django, …

Nov 12

Happy Birthday to Android and devphone.com

Android, Google, Java, Mobile, Open Source, Tech, iPhone 2 Comments »

devphone launch

Congratulations to Bob, Cedric, Romain, and the many many engineers that worked on Android.

Today the Android SDK was released, and along with it a raft of video content and documentation.

For all intents and purposes for developers Android == the SDK right now (until killer phones ship in short order). The development experience for Java programmers will be a dream, and I really like the architecture. They have really learned that declarative markup for UI is a Good Thing &tm;.

If you want to get a high level look at what this is about, I would start off by seeing what the phone can do:

Then, if you want to write some code, start by watching Dan build a simple application on Android and then delve deep into the Androidology that shows you the full architecture. Learn what .dex files are. See how cool Intents are. Check out the markup.

devphone.com: phones are decent now

I am really excited to see the bar being pushed by Apple, Google, and other players out there. You know that when the iPhone came out, Nokia had a lot of meetings and engineers got a better budget for doing innovative processes on their phones. With Android pushing the bar too, in a different way, I think that we can safely say that the phone that we hold in a year or two is going to be amazing.

I am quite astounded at how little Emily uses her laptop since she got an iPhone (apart from Scrabulous. She uses her laptop for her scrabble addiction.). You can see the future today by visiting Europe and Asia. Ben and I were so excited about this, that we went looking for a community to rally this excitement, kinda like Ajaxian for mobile. We were surprised that we couldn’t find it. It seems like most developers hang out in the forums and such of the various platforms. Since we are interested in development that transcends one implementation, we decided to start devphone as a place to throw all of the ideas into. It just launched and is very raw, so who knows what will come of it. Check out our welcome, an interview with Joe Hewitt, and subscribe to the feed