Programming Language for Corporate UI Research?
Daniel Wigdor asks: "I'm a PhD candidate doing an internship at a major American UI research lab. They distribute an input/output hardware device to research labs, along with a Java API for the development of 'concept pieces' (here's an example from a university). Java was chosen because it was simple, and seemed, at the time, to be the language of choice for UI researchers in both the corporate and academic worlds. There is now pressure to switch from Java to C#, since they don't have the resources to maintain an SDK for both. We're not at all concerned with system performance, since this is only for concept-development: it's really just about accessibility for newcomers to the hardware. Given that, what would the community advise by way of a choice between Java and C#?"
What's the difference?
If you're not concerned with performance, and you're in an academic environment, why not use a language like Ruby or Lisp?
First I'd like to say, VERY cool concept. Like sometihng out of a movie. That is awesome and looks like it would be so much fun to work on/play with.
OK, back to the topic. I still think that Python would be a good language. It has the usual features (object oriented, etc), it can be modified at runtime easily (loading/replacing code, a cool side effect of an interpreted language), and there are TONS of standard libraries (not unlike Java, only more) that would give you interfaces to the toolkit you use to draw (OpenGL perhaps?), and other things. Give it a look.
But awesome application. Now if you could just combine that with a 3D display it would be amazing. And think of the games you could play on something like that (something akin to Qix using your finger perhaps?) Or the "coffee break" game from Mario Paint, or xbill, the list goes on!
Comment forecast: Bits of genius surrounded by a sea of mediocrity.
C#/CLR is nice and has promise, but if you want UI consistency I would suggest sticking with Java/Swing for the meantime. With C#/CLR you have to pick between Microsoft's Windows Forms implementation, or Mono. As far as I know, Mono has an incomplete Windows Forms implementation at this time, and even if becomes complete I would expect at least some minor UI differences. At the current time I believe Mono has independent GTK, QT, etc. bindings. So if UI consistency is what you want, I'd stick with Java/Swing, and the default cross platform metal/ocean theme.
If and when Mono implements Windows Forms fully, so that they are sufficiently similar, you may want to re-evaluate at that time (depending on whatever other factors would influence your chioce).
It's 10 PM. Do you know if you're un-American?
This is *hardware* UI they're talking about. They're not talking about Swing or Win.Forms. They want to know which platform has the better I/O API.
"Times have not become more violent. They have just become more televised."
-Marilyn Manson