Sun


Just prior to the TCO05 Online Round 4, Joe Nuxoll from Sun Microsystems® was in arena to chat about JSF components and Java Studio Creator:

HandleComment
TheJanitorI was just wondering if Sun had any really good summer internship programs.
Sun_Joeabsolutely!
Sun_Joewe have some great interns on our team right now
TheJanitorThe IDE team?
Sun_Joeif you're interested in an internship, send an email to me: joe.nuxoll@sun.com
Sun_JoeI'll forward it on to the right folks
Sun_Joeyes, the IDE team
TheJanitorCool beans, thanx
Sun_Joenp
texeltzup sun_joe?
Sun_JoeHello texel, do you have a Q?
texelasl pls
mikeSun_Joe: what is your role with the IDE team?
Sun_JoeHello folks, my name is Joe Nuxoll from Sun Microsystems
Sun_JoeI am one of the architects working on Creator and frameworks for web and desktop applications
Sun_JoeI'm also the spec lead for JSR-273
Sun_JoeI would love to answer any questions pretty much about anything
Sun_Joego ahead and shoot
mikeso, what is the relationship between Studio Creator and JSF ?
Sun_Joeto better answer mike's Q, on Creator specifically, I built the design-time API and helped with much of the underlying framework for the visual designer
Sun_JoeStudio Creator is a visual design environment initally focused on building JSF applications
Sun_JoeCreator allows you to visually design web apps using JSF components
mikeSun_Joe: heh
jmpld40nicka81: Hi nick, jessie here
mikeSun_Joe: do people use Studio Creator for non-JSF related develpoment ?
nicka81jmpld40: hello Jessie ;-)
mikeSun_Joe: kind of as a general purpose IDE?
Sun_Joeat this point Creator is focused on JSF development, but future versions will leverage thick client and other technologies
snookingIs the sun application server robust enough to run enterprise applications compared to JBOSS and others?
Sun_Joewe started with web applications (and JSF) for the first cut
mikeSun_Joe: makes sense
Sun_Joesnooking: absolutely
snookingis it still free?
Sun_Joeyes it is - and open source now!
Sun_Joecheck out Glassfish
Sun_Joewww.glassfish.org I think
CVTIs common copy the new ideas from other tools? And when they copy your idea, do you get angry? Is it a strange question? : )
Sun_Joeno that's not the righ url... one sec
snookingok
Sun_Joeah - glassfish.dev.java.net
Sun_Joeits a Java.Net (open source) project
Sun_Joethe full Sun Application Server codebase
Sun_JoeCVT, I am not sure I understand your question?
snookingalso, why do u bundle point base with Studio Creator and the Sun App Server?
Sun_JoeI think tools copy eachother quite frequently!
Sun_JoeI think the idea was to make sure a lightweight database was available for sure
Sun_Joewe want to make sure it works out of the box
Sun_Joebut you don't *have* to use pointbase, of course
snookingi c
mikeSun_Joe: what version of Java does Studio Creator need?
Sun_Joeit runs on 1.4 or 1.5 - but deploys to 1.4 (matching application servers)
Sun_Joean IDE is funny in that it has to deal with a lot of different JVMs
mikeSun_Joe: do you notice any performance advantage of using 1.5 to run it?
Sun_Joeit runs on one (or two, etc) - but the projects you build need to be able to deploy on different than what the IDE is running on
Sun_JoeJava 5 seems to be a bit snappier in UI responsiveness
Sun_Joethey did a lot of Java2D and Swing work
snookingWhat's the cost of Studio Creator these days?
Sun_Joewe were careful not to include and Java5 code in Creator 2 so that it could still run on 1.4
Sun_JoeCreator is free to download and try...
Sun_Joeand $99/year to own
Sun_Joethat includes a membership to SDN
snookingis that $99 each yr?
Sun_Joe(Sun Developer Network) premium content, etc
Sun_Joeyep
Sun_Joea subscription
snookingi c
JJohanssonany student discounts?
Sun_Joeyou can buy it once for $99, and get the SDN subscription for one year (and Creator updates)
Sun_Joeafter a year, you can't update Creator unless you re-up
Sun_Joeyes, major student discounts
Sun_JoeI don't know exactly - but I think its free for students
JJohanssoni like that price
Sun_Joefree is a good price for students
Sun_Joewe want you guys to really get into Java
JJohanssonyup
Sun_Joeso we have someone to hire when Joe gets tired and wants to float around in the tropical seas...
Sun_Joe;-)
Sun_Joeyou should be able to get your pricing info on the creator website: developers.sun.com/jscreator
JJohanssonso what's good about the creator?
JJohanssonas opposed to eclipse
Sun_JoeStudio Creator makes is *very* easy to build dynamic web applications
Sun_Joeit leverages JSF (JavaServer Faces) components to make building web applications a point-n-click affair
pcalcinais it oriented mainly to Web Development?
CVTOk. I will do a normal question now. Don't you think that web apps make you mix a lot of tech to work? HTML, CSS, Javascript, JSP, Flash.... What do you see for the future?
Sun_Joeyes, initally at web - but we're looking at other stuff
Sun_JoeVERY GOOD QUESTION!
pcalcinaDo you plan it to be a Eclipse replacement?
Sun_Joeokay - what I am seeing is a convergence of web and desktop
Sun_Joeweb apps are moving more client-side (AJAX, etc)
Sun_Joeand desktop apps are moving more web-based (dynamic data, etc)
Sun_Joetake google maps, for example
Sun_Joethere are two flavors:
JJohanssonlike visual studio/.NET?
Sun_Joe1) maps.google.com is a web app that has a LOT of very desktop-like features
Sun_Joe2) Google Earth (desktop app) is a thick client (great graphics) app with a very high-bandwidth data connection
Sun_JoeI think we'll see this merging trend continue
Sun_JoeJJohansson: Eclipse is a general Java tool
Sun_JoeCreator is really a visual designer tool (two-way) for building web applications
JJohanssongotcha
WindriderI'm *always* unsteady over anything that automatically generates code, especially code that really does something (as opposed to a one-liner get or set, which is autogen I don't mind). How customizable is this automatic code generation?
Sun_JoeCreator is built on top of NetBeans, and can leverage 3rd party modules
Windrider(Automatic code generation is implied in your statement that it's a "...point 'n click affair".
Sun_Joehere's the beauty of creator...
WindriderSo you can build your own autocodegen rules?
Sun_Joeits not a "code generator"
Sun_Joeits a two-way tool
Sun_Joeit *interprets* and allows visual design of regular JSF applications
Sun_Joethe key is the JSF technology - its a real component framework (like JavaBeans) for web apps
Sun_Joethis allows tools to present them visually
Sun_Joecreator goes yet another step beyond this, however...
Sun_JoeJSF itself is very "typical J2EE", where you have to have a PhD to really understand what is going on
Sun_JoeCreator simplifies the model quite a bit to make your life (the developer) a lot easier
Sun_Joefor example:
Sun_JoePage1.java / Page1.jsp
Sun_Joeif you're designing a page, you'll have these two files
Sun_Joethe .jsp file has all the JSF component tags in it - and CSS stuff to layout etc
Sun_Joethe .java file is a "backing file" with the code behind the page itself
Sun_Joethe IDE really shows these as two "views" of the page
Sun_Joeanything you do to the page (via visual design *or* via hand-coding in the .jsp file) reflects in the source
Sun_Joeanything you do in the java file (or jsp) manifests in the visual designer
Sun_Joeits a *real* two-way tool
Sun_Joewhich basically means it has some pretty wicked rocket-science compiler stuff going on behind the scenese
Sun_Joescenes
WindriderHeh, sounds similar to my advisor's research project. I do understand what you're saying, though.
Sun_Joethat could certainly be - there are many doctoral projects in this field
Sun_Joecode "modelling" is a very complicated area to play
Sun_Joebut - very well understood by the tool vendors ;-)
WindriderSo if a programmer has drastically different ideas of "proper curly bracket usage" from your developers, Creator shouldn't do too much damage to it, or can at least be customized?
Sun_Joeyes - that's a code style rule - which you can configure to your heart's content
Sun_Joewhat *really* matters is what the code *does* which is where the tricky stuff comes into play
Sun_Joethe code style stuff is directly from NetBeans
Sun_Joewhich you can download totally for free at www.netbeans.org
Sun_JoeNetBeans is pretty darn powerful nowadays
snookingwhat level of java programmer does one have to be to build web apps with Studio Creator?
Sun_JoeAs I mentioned before, Creator is built on top of NetBeans - its essentially a package of Modules
mikeSun_Joe: is there a web site or application out there that is available to the public that has been built using Studio Creator?
Sun_JoeCreator was originally conceived to target the VB programmers
Sun_Joeso any corporate programmer should be able to pick it up easily
Sun_Joeof course, guys like you guys (top coders) should be able to use it in a snap
Sun_Joeand the visual manipulation stuff is worth its weight in gold - even if you are a rocket scientist
Sun_Joeto answer mike, there are many apps - and I think the website is the best resource for that:
Sun_Joehttp://developers.sun.com/jscreator
Sun_Joethere are also several JSF component vendors that have gone the extra mile to provide great design-time experiences for their components
Sun_Joeleveraging the Creator Design-Time API
Sun_Joe(which JSR-273 is based on)
Sun_Joeyou can check that out too: https://jbdt-spec-plublic.dev.java.net
Sun_Joeoops - public
Sun_Joenot plublic
Sun_JoeJSR-273 is being developed "out in the open" on Java.Net
Sun_Joein the project "jbdt-spec-public"
Sun_Joe(I diverge)
Sun_Joedigress
Sun_Joeso how can I help anyone else?
Sun_Joeany questions about anything?
Sun_Joearchitecture?
Sun_Joealgorhythms?
Sun_Joesoftware platforms?
Sun_Joefavorite pizza toppings?
WindriderI think most of us are thinking about the impending tournament right now...
JJohanssonhehe
Sun_Joeis there anything I can help you with there?
CVTWhat about the JNLP protocol? What do you think about it? Jaca Web Start apps. Just like the TopCoder arena.
Sun_Joeah - good one
CVTNot Jaca. Java. Hehe.
Sun_JoeI think this is an element in the "convergence" between desktop and web apps I commented on earlier
WindriderHmm. Digressing from the subject: The TopCoder forums should reveal that people here do not know what they are doing with regard to generics and especially wildcards. I'm one of them. Got a good tutorial?
Sun_Joethe great advantage of a web application is universal distribution and clean updates
pcalcinaWhat about SWT?
WindriderOops, ignore me, stick to the subject
Sun_JoeI'll go there in a sec, Windrider
Sun_JoeSWT is an interesting beast altogether
Sun_Joeit was originally created to handle some threading issues in AWT, and to allow for JFace
Sun_Joeusually folks are *really* referring to JFace when they mention SWT
Sun_Joethe original reasons for SWT (not JFace) have disappeared
Sun_JoeAWT has its paint threading handled very well now - and Graphics2D is leaps and bounds beyond the painting primitives in SWT
Sun_JoeJFace, on the other hand - is really a differing philosophical approach
Sun_JoeJFace uses essentially "peers" - like the original AWT did before Swing
Sun_Joewhat this does is gives you one-to-one look and feel to match the platform you're targetting
Sun_JoeJFace works great on Windows
Sun_Joeis works pretty well on Mac
Sun_Joeit falls on its face anywhere else
Sun_Joebecause of the inherent critical architecture point - is that its based on native peers
Sun_JoeSwing paints the same anywhere, because it does not rely on peers
Sun_Joeand - this is *critical* - the place where it matters most
Sun_JoeSwing paints *perfectly* on Windows now because they are using the same paining primitives as IE
Sun_JoeJava 5 fixed the reasons that SWT/JFace was created
Sun_Joeso...
Sun_Joewe'll have to see what happens
Sun_JoeI think folks like Eclipse as an IDE
Sun_Joebut are wary of creating SWT-based desktop apps
Sun_Joefor very good reason
Sun_Joethey really should be using Swing, because that's where the Java platform is staying
Sun_Joeand Swing will out-perform SWT/JFace in many arenas
Sun_Joeperhaps the most important of those arenas is in the 3rd-party component marketplace
Sun_Joeif you're building an app and you need a ... ummm... DonkeyGraph control
Sun_Joeyou're a lot more likely to get one that works well in your Swing app
Sun_Joeas SWT/JFace is really a closed component set
Sun_Joeand that DonkeyGraph will look perfect on Windows, Mac, Linux, Solaris, etc...
pcalcinaWhat do you think about native compilers initiative, like gcj?
Sun_Joethat's also a tricky one
pcalcinathey say the main raseon to do it is: Java is slow
Sun_JoeI like native compilers (we made the first Java JIT at Borland)
Sun_Joefolks that say "Java is slow" have not used Java since the introduction of HotSpot
Sun_JoeJava is dynamically compiled to inline native bytecodes based on program *trends*
Sun_Joea Java program is statistically faster than a native application
Sun_Joethe only issue is where the processing crossed the "boundry" of java heap coding into native code
Sun_Joeif you do a ton of I/O, for example - the "hop" between the Java code and native OS code will be expensive
Sun_Joein some cases
Sun_Joeso you have to program with "java" in mind
pcalcinawell, swing somtimes is slower than native gui apis
Sun_Joelazy loading of resources - batch loading - off-thread prep, etc
Sun_JoeI love this line (because its my line):
Sun_Joe"It is very easy to write bad Java code, which will perform poorly"
Sun_Joe"It is also very easy to write bad native code, which will perform well"
Sun_Joe"But well written Java code will out perform well written native code"
Sun_Joe"Thank you, hotspot"
Sun_Joeyou can't beat dynamic optimization
Sun_Joeif you code well - algorhythms are always a good skill - Java shines
Sun_Joedon't waste Java cycles recalculating things you did two pops ago in the stack, etc
Sun_Joepay attention
Sun_Joeand you will be payed well
pcalcinaI'm starting in Java programming, after programming a lot in C++ and I wonder where can I get some of the things you mentionsed?
CVTWhat is the HotSpot?
Sun_Joelook at high-performant Java apps, like for example, JBuilder
pcalcinaabout the trickiness of writing well java swing code
Sun_JoeI think following the javadesktop forum on Java.Net is a good place to dig
Sun_JoeHotSpot - is the key architecture behind the modern Java VM
Sun_JoeIf you've never heard about HotSpot, I highly recommend you read about it
Sun_Joeespecially you C/C++ guys
CVTOk, I will. Any good source?
Sun_JoeI could Alt+Tab and Google it for you, but I think you're pretty smart... ;-)
CVTHehe.
Sun_Joethere should be a LOT about it
Sun_Joejava.sun.com too
Sun_Joepcalcina: I recommend using a good profiling tool
Sun_Joethat is the best way to see where the cycles are being spent
CVTCan we live without Google?
Sun_Joeits amazing isn't it
Sun_Joethe dependency that has grown...
CVTJust like the cellphone.
Sun_Joethere are many other search engines, of course - but nobody but Google has become a verb!
pcalcinasorry, what do you mean with a profiling tool?, (English is not my 'native language'?)
Sun_Joehttp://java.sun.com/products/hotspot/
Sun_Joethere's the HotSpot stuff
Sun_Joepretty egg-headed, but a good read
mikeSun_Joe: nice chat once again
Sun_Joea profiling tool like OptimizeIt will show you where cycles are being spent by the processor
Sun_JoeThanks all!
Sun_JoeI think we're coming to a close here
Sun_JoeI'm off to watch USA vs. Guatemala (World Cup Qualifying)
jmpld40Sun_Joe: thanks
mikeSun_Joe: great job keeping the flow moving
Sun_Joegood luck in your competition!
mikeSun_Joe: it was very informative
pcalcinathanks for all
CVTThank you.
Sun_JoeYou're welcome
Sun_Joegood luck!
pcalcinaCould you tell us about the license of sun products?
Sun_Joethere are a few different licenses, actually
Sun_Joeyou'd have to consult the individual product license
pcalcinaok
Sun_Joefrom what I understand - there's not a whole lot of catches to them
Sun_JoeThey would like you to build great apps and go out and become rich and famous
Sun_Joe(and buy a bunch of Sun hardware to support your fame and fortune)
Sun_Joe(and bandwidth)
Sun_Joe;-)
Sun_Joeokay - off I go
Sun_Joethanks again everyone



Sun

NSA

Yahoo

Verisign