Best Language For Experimental GUI Demo Projects? 278
New submitter GrantRobertson writes with a question about quickly developing prototypes for new interface design concepts "My research/tinkering will be along two main lines: (1) Devising entirely new graphical user interface elements, mostly in 2D, though often in a true or simulated 3-D space. I am working on ways to visualize, navigate, and manipulate very, VERY large data-sets of academic research information. (2) Computer based education software, though of a type never seen before. This will combine some of the GUI elements invented in (1) as well as displaying standard HTML or HTML5 content via a browser engine My requirements are: (A) A decent IDE ecosystem; (B) A decent set of libraries, but ones that don't lock me in to a particular mind-set like Swing does in Java. (Boxes in boxes in boxes, Oh My!); (C) An ability to easily draw what I want, where I want and make any surface of that 3D object become a source for capturing events; (D) Ease of cross-platform use. (So others can easily look at my examples and run with them.); (E) No impediments to open-source licensing my code or for others to go commercial with it either (as I have seen when I looked into Qt). So, should I just stick with Java and start looking outside the box for GUI toolkits? Or is there something else out there I should be looking at?"
I'm not sure what impediments Qt has to proprietization of software since it's LGPL nowadays; in any case, Qt Quick and GNOME's Clutter seem like they could be a useful. Read on for more context.
"I am not a professional software developer and never have any aspirations to become one. I've been through a generic university computer science degree-program and I can tolerate C++ begrudgingly. I do OK with Java and prefer it, though I still have to look up every API before I use it. Most of the code I want to write will be not much more than prototypes or proof of concept stuff for the research I will be doing, rather than full-on applications ready for distribution and use. I can learn any language out there, if need be, but these days it is more about the ecosystem than the core language. IDEs, libraries, cross-platform compatibility, user support, open source licensing."
Speaking as a VC wonk... (Score:5, Funny)
Just create (Score:5, Funny)
Stick with Java (Score:5, Funny)
Leverage your core competencies to push the envelope on impactful best practices, and hit the ground running - it's a win-win!
Synergy.
Re:Based on your requirements... (Score:5, Funny)
really? based on those requirements, i think origami would be a bit much for him.
The project might fold.
Re:Processing (Score:2, Funny)
processing is intended for use by journalists, biologists ...
Whoa, whoa, whoa! Don't get carried away with wishful thinking there. Biologists. Sure they could program. If you'd said dog catchers, garbage men, or ditch diggers I could believe they'd be capable of programming too.
But journalists? Give me a fuckin' break. That's just completely unrealistic.
Re:Haskell !! (Score:4, Funny)
Re:Haskell !! (Score:5, Funny)
Han Solo: Hokey religions and ancient weapons are no match for a good blaster at your side.
Obi Wan: But the forth will be with you, always.
Re:Based on your requirements... (Score:3, Funny)
really? based on those requirements, i think origami would be a bit much for him.
The project might fold.
But hey, at least it looked good on paper.
Re:Javascript (Score:5, Funny)
I agree. There are several very good WebGL-abstracting graphics libraries for Javascript, such as three.js (and some others). You can use Javascript and CSS to place (and style) all of your buttons and widgets, as well. For data visualization, you might consider d3.js. I'm currently working on integrating both three.js rendering and d3 visualization in a GWT app, and it's mindblowing how slick some of the Javascript libraries are. I deeply regret having avoided Javascript for so long, because ... I'm really starting to like it.
three.js: http://mrdoob.github.com/three.js/ [github.com]
d3: http://mbostock.github.com/d3/ [github.com]
d3 examples: http://mbostock.github.com/d3/ex/ [github.com] (nearly all are amazing.)
theSame.needful.revert(); //revert same if needful (Score:2, Funny)
Whereas Indian ones think they do.
Re:Speaking as a VC wonk... (Score:4, Funny)