Play! -> Another Java Web application framework

Discussions

News: Play! -> Another Java Web application framework

  1. Play! -> Another Java Web application framework (75 messages)

    Play! is a full stack Java Web application framework including a simple stateless MVC model, objects persistence with Hibernate, a Groovy based template engine and everything you need to create a modern Web application ... Some Play! killer features are : 1. A very simplified development cycle. The framework automatically compile and hot-reload any change made to the source files. 2. Intelligent binding from HTTP parameters to Java methods parameters. 3. A very fast HTTP server based on Apache Mina (http://mina.apache.org). 3. A powerfull Groovy based template engine with multiple levels of inheritance, ability to define custom tag, etc. 4. Very good error reports : When an exception occurs, the framework shows directly the problematic source code, even in templates. It has a number of plugins for Spring, Memcached or OpenID support. The project is open source and distributed under Apache2 licence. Check out at http://www.playframework.org. What do you think about it ?

    Threaded Messages (75)

  2. Refreshing[ Go to top ]

    A nice idea, that may solve many problems we have here (using JSF, seam and Hibernate: very bloated and slow). Seems suitable for very simple or personal web applications development, like all the php portals. GC.
  3. Re: Refreshing[ Go to top ]

    Looks like Grails-- LOL!!!
  4. Re: Refreshing[ Go to top ]

    A nice idea, that may solve many problems we have here (using JSF, seam and Hibernate: very bloated and slow).

    Seems suitable for very simple or personal web applications development, like all the php portals.



    GC.
    What are these problems with Seam?
  5. Not really seam[ Go to top ]

    Well, our problem is not really seam nor JSF nor Spring nor Hibernate nor JPA. But Making it all work together was quite a challenge, making it work in websphere was really hard too. And as we off-shored to Bangalore, Development team is 5000 kilometers from the Architecture team. So it's quite difficult to leverage the developper's experience to this level. You know, it's easier to understand pure-java code than really know what's behind the annotations. Seam is great, offers great features, but you'll have to learn quite a bit before you manage to write great websites. GC.
  6. Re: Not really seam[ Go to top ]

    So you want to write applications without having to learn anything? Wow, what is the software world coming to.
  7. Not me ![ Go to top ]

    Let me be clear, it's my boss that beleives development is easy and can be outsourced to junior developers at 5000 kms. I did not agree with that. GC
  8. Re: Not me ![ Go to top ]

    Let me be clear, it's my boss that beleives development is easy and can be outsourced to junior developers at 5000 kms.

    I did not agree with that.

    GC
    Neither would I believe it is a good idea that a team of senior developers/ architects design a framework they're aren't going to use themselves on a daily basis.
  9. Re: Not really seam[ Go to top ]

    So you want to write applications without having to learn anything?
    PHP.
  10. PHP/Grails/Play/simplicity[ Go to top ]

    So you want to write applications without having to learn anything?
    This attitude is something that's hurting Java in the web app marketplace. Projects like Grails (and Play!) make it easier for people to take advantage of some of the unique libraries and strengths of Java without forcing people to become experts in every layer of the stack. That word "anything" above in that context is what's really annoying. There are people (like myself) who have years of application development experience in other platforms. I have learned a lot of 'anything', as have many others, but somehow I'm not supposed to be able to play in the Java space (or perhaps even have an opinion) until I'm an expert in Seam/JSF/Faces/Websphere/Tomcat/JBoss/Wicket/whatever? Grais/Groovy/Play/etc are great on-ramps to bring in current non-Java developers in to the Java space. Platform choices devs make today will have longlasting ramifications in to the future, and if Java does not have compelling stories for what some might consider "low end" or "non enterprise" companies, it will become marginalized by new development in other spheres. Many of today's small companies will grow in to tomorrow's large enterprises and they'll continue to use what they started out with in most cases. And yes, I have a bit of a bias here, as I recently launched GroovyMag, but this bias is part of the reason for starting the project in the first place, not the other way around.
  11. Re: PHP/Grails/Play/simplicity[ Go to top ]

    I think you misunderstood me, but I can't blame you, since my response wasn't specific. I myself just recently started playing around with Grails and I love it. I believe that you shouldn't have to worry about cross cutting concerns, but you should definitely learn how to architect and design a good system. With that, might come the idioms of a new language and/or framework. A good example would be, exposing your services as a remote interface. I don't want to be bothered understanding low level details of each remote toolkit I'm exposing it as, nor do I care about having to debug and learn the ins and outs of it's wire protocol. Spring and some others shield you away from that. Grails goes even further. To me, if I've taken my time and created a well engineered software domain model, the details of wiring it to different view technologies, RPC technologies, etc... should be very easy and straightforward. I can't tolerate amateur developers thinking that they can just run a few commands in rails and deploy the piece of crap that's generated. Code generations is good for creating artifacts (save on key strokes) and injecting a few hints into the artifacts, but the developer should know how to architect and design a good system with the technology/framework at hand. So shielding is great, but should be done to improve productivity, not increase ignorance. Ilya
  12. Re: PHP/Grails/Play/simplicity[ Go to top ]

    I may have misunderstood you specifically, but also have run in to a general 'snobbishness' in Java circles, though I do seem to run in to that less and less these days. Your example of exposing services is exactly my point. I shouldn't have to understand a whole lot about SOAP or envelopes or whatever just to set up the basics of a web service. Regarding the increase ignorance vs improve productivity conundrum, it'll always be there with any system that has tools to do anything for you. It's really up to the developer to dig in to how the tools or generators are working to understand things. I could easily just do basic CRUD stuff in Grails without ever digging in to understand the code, or I could use the generated code as a spring board for being able to dig deeper in to the system to learn for myself. I tend to choose the latter in most new systems I approach, but appreciate well-done systems that don't force me in to that learning mode at the outset. GroovyMag - for Groovy and Grails developers
  13. Grails Clone!, WTF is going on with the frameworks?. Use Wicket is already mature and support Spring, Guice, Seam etc. We don't need more hype.
  14. Why did you write an http server? I mean, I like mina and all, but wtf is the point? There are many web containers and http servers out there that are above and beyond anything you will ever write.
  15. right[ Go to top ]

    Yes, maybe he should have used a more standard server. I don't see any company installing custom servers now. But I see a market for simple applications run on online shared servers. Just like PHP you know. Nowadays for a few euros you can rent a connected server with apache / php / mysql. I think a very lightweight solution like Play! could be the same for Java. GC
  16. Re: right[ Go to top ]

    Yes, currently we use AsynchWeb with another full featured Web server like Apache or Lighttpd in front of the application to add virtual hosting or load balancing features. In fact, you could easily package a Play! application into a "WAR" file and deploy it on your preferred JEE application server ...
  17. automatic recompilation[ Go to top ]

    Hi Guillaume, Glad to hear the war deploiement is supported. Another question: What do you mean by automatic recompilation ? You send the java source to the server and it compiles it itself ? Or You compile on your project and reload only the binaries ? GC
  18. Re: automatic recompilation[ Go to top ]

    In fact a Play! application does not contain any class files. The framework works directly on the source files (.java) and a special ClassLoader compile them. If you make a change to any java file, the ClassLoader detect it, recompile and reload the class.
  19. Re: automatic recompilation[ Go to top ]

    In fact a Play! application does not contain any class files. The framework works directly on the source files (.java) and a special ClassLoader compile them. If you make a change to any java file, the ClassLoader detect it, recompile and reload the class.
    Is this something specific to Play! or is Play! using another library/project for this. I don't know much about JavaRebel but how does this compare? That feature is something that could be generally useful and have a much broader appeal than 'yet another web framework'.
  20. Re: automatic recompilation[ Go to top ]

    We just use the eclipse Java Compiler to compile the source code and a special "ApplicationClassLoader" which manages the application classes. It could easily be compared to JavaRebel but less generic since it works only within a Play! application. JavaRebel use some hack to bypass the Java HotSwap limitations. We use HotSwap when it's possible but otherwise we restart a fresh ClassLoader. It is possible because we are doing some assumptions like "the application should be stateless", etc ... Play! is not just another Web framework. It focuses on a simple application model (really close to Rails, Django, Grails, Symphony, ...) but try to reach the "best" productivity compared to other Java framework ... For now we're optimizing the development flow and we're trying to have the "best" error reports ... And we are working hard on a new innovative way to debug when something goes wrong ...
  21. Re: automatic recompilation[ Go to top ]

    Play! is not just another Web framework.
    I don't really need a web framework at all but good luck.
  22. Well, we use a sub project of mina called AsyncWeb which provides the HTTP protocol support. So the HTTP server is not a part of the Play! project.
  23. um, grow up?[ Go to top ]

    Why did you write an http server? I mean, I like mina and all, but wtf is the point? There are many web containers and http servers out there that are above and beyond anything you will ever write.
    how do you know that? no seriously, what on earth would make you say something that patently ridiculous? yeah, i know, its cool to bash a new framework, and even cooler to do so with ZERO facts and ZERO experience in said framework, but come on, to just be that insulting is way out of line.
  24. Re: um, grow up?[ Go to top ]

    Dude it's common sense that one does not write his own http server these days. Let's see, as I said, WTF is the point? Do you think I'm going to deploy an application on someone's home written http server, or would I rather use stable, proven http and web containers?
  25. Stateless?[ Go to top ]

    Stateless == not interested.
  26. Re: Stateless?[ Go to top ]

    Stateless == not interested.
    Out of scope in the topic, but why?
  27. There maybe incremental benefits to using this framework (I did take a look at the documentation and sample), but is it worth migrating? The learning curve is not worth the benefits, I believe. There must be a lot of efforts going into developing frameworks like this, but I am not sure if it makes developers like me excited. My biggest problem is not about using templates or difficulty in connecting to my DB, but keeping the UI close to what the UI designers had in their mind. In my company, the UI prototype comes from UI designers and none of these frameworks helps us get there without major headaches. These tools maybe useful in simple UI designs, but in any enterprise environment with tons of UI pages, the frameworks prove to be worthless. Now, we use Dojo (http://dojotoolkit.org) for UI prototyping with a custom stylesheet coming from the UI designers. The business logic is purely Java based and custom dojoTypes "hook" the business logic with elements in the UI. So, the UI looks "exactly" as provided by the UI designers with developers spending almost no time in developing the UI code. With any of these frameworks, the HTML files should be touched by the developers because they need to be sprinkled with framework-specific hooks. So, as long as all these frameworks look like glorified versions of Struts, they won't be much useful, at least to developers like me. Cheers, Rag.
  28. Same here, designers often have the last word and forbid the poor developers, meaning us, to change a single tag in their pages. However, Play! does not impose you to generate pages using the templates system *at all*. Instead, there is a clear separation between the business-logic and the way data will be pushed back to the client. Generating an html page, a JSON response, or a simple HTTP response are some of the responses scenario allowed in Play. In fact and for your use-case, you may just need to implement a thin controller layer around your business-logic code, than copy your designer's work in the right places : app/views for html pages, under public/ for CSS and javascripts stuff. You'll have to adapt links and forms actions in the pages so that the controllers actions are called, and well, you're done!
  29. Overreact[ Go to top ]

    newWebFrameworks[] = {wicket, RIFE, Stripes, Click, Mentawai, Play, ....} for (developNewWebFramework:newWebFrameworks){  if(smartAss && neverTryTheNewWebFramework){   print("this framework sucks and the creators desire my critics even I never try to understand the motivation behind it");  }else{   print("what's wrong with that? No one force you to use it");  } }
  30. Re: Overreact[ Go to top ]

    Haha, good one.
  31. WTF?[ Go to top ]

    why is it that when ever a new framework is announced here the first reaction is to just trash it, and belittle the authors with personally insulting remarks? are we all that insecure? can't you just get past your petty little jealousies and spite and maybe just maybe, examine the details of whatever framework is being introduced (before tearing it to shreds) each of these authors/creators had a reason to make what they've produced. and many of them have put a lot of work into their productions... and you know what? if its not something you need or want, no one is forcing you to use any of them... and additionally, you provide NO VALUE what so ever just by spouting some completely irrelevant cheap shot at the authors or their technology. in closing, i know you may have spent a lot of time being shoved into lockers and shit on by everyone else... but you do NOT have the right to turn that around on people who actually produce something. my advice is, get off your ass and try producing something on your own.
  32. Re: WTF?[ Go to top ]

    why is it that when ever a new framework is announced here the first reaction is to just trash it, and belittle the authors with personally insulting remarks?
    They are helping people understand that software needs to mature to be like other industries. You probably have a car and/or have some experience with them and you know that every car is just a model-T with some extra stuff and that's there's only one car maker with one car model. Everyone else in the world knows that you never need to improve on anything that's been done before and they don't. Take another example: the lightbulb. There's never been a need to improve on that. The dim orange glow of a short-lived, inefficient incandescent bulb is all we need and ever will need. Why can't the software industry get this! Just take what's been done before and use it without question. And don't try to think of a new solution to an old problem, not unless you've been authorized to do so by the international council of 'people who are know better than you'.
  33. Re: WTF?[ Go to top ]

    Why can't the software industry get this! Just take what's been done before and use it without question. And don't try to think of a new solution to an old problem, not unless you've been authorized to do so by the international council of 'people who are know better than you'.
    Wooow ! If everyone think like you do, software will look like an old dark screen with some white letters ! What do you think about Linux ? Was Linus Torvalds crazy ? The field of software is a continuum evolution and sometimes things must be done one more time, but better. Play! intend to be a new solution to an old problem, yes! It's a framework which help developers to build web application faster and easier. Looking backward is a bad idea !
  34. Re: WTF?[ Go to top ]

    Why can't the software industry get this! Just take what's been done before and use it without question. And don't try to think of a new solution to an old problem, not unless you've been authorized to do so by the international council of 'people who are know better than you'.


    Wooow ! If everyone think like you do, software will look like an old dark screen with some white letters !
    Why would I need anything more? In fact, we do we even need a screen or a keyboard? Punched cards are more than adequate. Batman got all of his answers on little strips of paper. If it's good enough for Batman, it's good enough for you and me. Of course, he could talk to his computer, which is obviously unnecessary.
    What do you think about Linux ? Was Linus Torvalds crazy ?
    I don't think he 'was' crazy, I think he is crazy! Once one operating system was created, everyone should have just used that. It's common sense. Moreover, it's conventional wisdom.
    The field of software is a continuum evolution and sometimes things must be done one more time, but better.

    Play! intend to be a new solution to an old problem, yes! It's a framework which help developers to build web application faster and easier.

    Looking backward is a bad idea !
    But that's what I am saying. Don't look back! Only forward and put some blinders on. Reinventing the wheel is wrong, especially if you reinvent the wheel that I have a vested interest in or emotional attachment to and make it better. Why do you think all wheels are wooden, spoked, and wrapped with a thin strip of iron? There is no value in attempting to improve on a existing idea. Think how far our technology would be if we had never tried to improve on existing technology and only on creating new technologies on top of the ones that had already been invented! We'd be flying to Alpha Centauri in steam powered pickle barrels!
  35. Re: WTF?[ Go to top ]

    <blockquotePlay! intend to be a new solution to an old problem, yes! It's a framework which help developers to build web application faster and easier. Looking backward is a bad idea ! </blockquote> Sure.. keep looking forward. I'm sure you'll stop Play! one day and play with some new framework. It's always interesting how new frameworks come out in Java every now and then thats supposed to solve the old problem. .NET works with just one framework -- ok, now there is ASP.NET MVC. Why can't java take some lessons from them? Every software has problems. We need to work with its limitations and work arounds. We certainly need to improve but why not improve just the same thing? If it becomes impossible to fix or the software is so old that it can't live up to new realities then we need some disruptive innovation. In the world of Java no one is solving new problems everyday. Every new framework attempts to solve same or similar problems. Java is the only language that has this problem that no else seems to have and this is simply because there is no one to control.
  36. Re: WTF?[ Go to top ]

    It's always interesting how new frameworks come out in Java every now and then thats supposed to solve the old problem. .NET works with just one framework -- ok, now there is ASP.NET MVC. Why can't java take some lessons from them?
    You must be joking... First off, there are several Open Source Web Frameworks in .NET as well (e.g. http://www.castleproject.org, the RoR for .NET basicaly). Second, there's a good lesson many people already learned from Microsoft many years ago : vendor lock-in and technological monopoly only deserves M$'s shareholders. For us, devs, it's just a nightmare. This is so true that even M$ had to "open" their technology stack at least a little bit with their ECMA standardization etc., otherwise they'd just have lost the programming market.
    Every software has problems. We need to work with its limitations and work arounds. We certainly need to improve but why not improve just the same thing?
    That's the role of standards. And standards usually come from a good idea that people have reached common agreement on. Look at JEE : it now begins to be really nice designed, just because there were many alternatives available in the OSS world, so people @ the JCP could not ignore the movement. JEE owes a lot to Spring, Hibernate etc.
    In the world of Java no one is solving new problems everyday. Every new framework attempts to solve same or similar problems.
    For sure, a web framework isn't about cooking the dinner : it serves to build webapps ! The key thing is to do it cheaper than the others :-) And lots of folks are trying to, it's just that you either don't grasp the advances, or you're just not aware of them. And just looking at the pace Java (as a runtime and a set of APIs and languages) is changing seems to make my point. There are always many different ways to solve a functionnal problem with a computer. It's just that some are more efficient than others !
    Java is the only language that has this problem that no else seems to have and this is simply because there is no one to control.
    What a false statement. Looks you've never coded in any other language mate. For instance, even multi-threading is a nightmare in C++, you have different implementations that just don't coexist etc. And most of all, Java *is* controlled, luckily for us. Otherwise, you would have to rewrite your apps at each major version, like .NET people do often (reminds me the generics story). Instead of bashing, you should thank the Play! team for opening their work to external reviews, allow others to pick ideas in the framework etc. That, and the fact that Sun and the JCP takes care about backward compat etc. This is precisely why Java became that powerful. Cheers Remi
  37. Re: WTF?[ Go to top ]

    You must be joking... First off, there are several Open Source Web Frameworks in .NET as well
    Yes, but the general trend is to use what MS offers.
    otherwise they'd just have lost the programming market
    I would call this as streching things too far.
    JEE owes a lot to Spring, Hibernate etc.
    I have used Spring, I agree it rocks and the same goes for Hibernate. But, you should note that SpringSource & JBoss work like an organization. Gavin himself stated that he needed more focus for the project. You see, this is what I call it as control and focus. Great software is usually written by few people and not by masses. That said, Sun is largely becoming irrelevent and as more and more projects are standardizing with Spring & Hibernate they really don't care about Java EE so much.
    Looks you've never coded in any other language mate.
    And
    Otherwise, you would have to rewrite your apps at each major version, like .NET people do often (reminds me the generics story)
    Sorry, seems to me that you are the one who has never done anything outside Java.
  38. Re: WTF?[ Go to top ]

    Yes, but the general trend is to use what MS offers.
    Just like in Java : there are way more pure JEE apps (say JSF/EJB) than Grails in the enterprise.
    otherwise they'd just have lost the programming market

    I would call this as streching things too far.
    Then give a single reason that would tend to think the inverse ? Why did M$ start acting and talking like "Open" ? I think the only reason is that... they just had no choice. If they had not opened their technology, they would have just died. People in the industry like long-term things. That's what Java offers :)
    But, you should note that SpringSource & JBoss work like an organization. Gavin himself stated that he needed more focus for the project. You see, this is what I call it as control and focus.
    Well, what the heck do you think the JCP has been created for ? For M$, the "NCP" is just... M$. For Java, the control is done via Sun and the JCP who decides the future of Java. Why do you think the platform is so robust ? Especially because it IS controlled.
    Great software is usually written by few people and not by masses.
    What a statement.
    That said, Sun is largely becoming irrelevent and as more and more projects are standardizing with Spring & Hibernate they really don't care about Java EE so much.
    Well, you seem to have completely misunderstood the story mate. Spring and Hibernate are no standards by any mean. They are open source frameworks. Specification != software license, in case you hadn't noticed.

    Looks you've never coded in any other language mate.

    And

    Otherwise, you would have to rewrite your apps at each major version, like .NET people do often (reminds me the generics story)

    Sorry, seems to me that you are the one who has never done anything outside Java.
    Yeah, and my d... is bigger than yours, blah blah. I don't get the point. What are you trying to say here ? I was pointing out the way generics are implemented in Java / .NET, and the different choices taken : * M$ breaks compat for a "better" implementation * Java goes for the tradeoff, but keeps backward compat This is a typical example of different strategies from different vendors. Of course I was sarcastic, hopefully .NET is not so bad that you have to rewrite everything at every release. What I meant is that M$ won't even care about it : they release what they want, and remove what they want. A definitly nice example of how "controlling" things can be harmful for us developers IMHO. In the end, control is good, but you also need openness and several actors to make a good the balance. One single entity to rule'em all doesn't work. And last, you need fresh people with fresh ideas to push things forward. If you rely on a big commercial company for innovating, I guess we'd all be sticking to stone-age paradigms, languages and tools. Cheers Remi
  39. Re: WTF?[ Go to top ]

    Then give a single reason that would tend to think the inverse ? Why did M$ start acting and talking like "Open" ? I think the only reason is that... they just had no choice. If they had not opened their technology, they would have just died. People in the industry like long-term things. That's what Java offers :)
    It's called business strategy. They'll never actually do it. They might however open some of them owing to leagal obligations so others can interoperate with them in a market that they completely dominate - like office, desktop etc. I didn't say you were wrong; I just said you are streching things too far.
    Well, what the heck do you think the JCP has been created for ? For M$, the "NCP" is just... M$. For Java, the control is done via Sun and the JCP who decides the future of Java. Why do you think the platform is so robust ? Especially because it IS controlled.
    You are joking right? Many people know that JCP is a joke. There was an article recently in serverside that talked about Sun cutting workforce and the comments were on the lines like: "Java is Safe". Everyone knew that Sun doesn't control Java and Java would continue its existence thanks to many open source initiatives. Platform is robust because Sun initially controlled it and then there were a few good frameworks and then "the masses got in" and scrwed up everything. Thankfully Spring & Hibernate brought some sense and direction to Java.
    Spring and Hibernate are no standards by any mean.
    I said standardizing.. not standards...Most companies standardize on a few things and they need not be standards!
    Yeah, and my d... is bigger than yours, blah blah.
    LOL.. a very big LOL.. the control freak opens up finally.. LOL..
    M$ breaks compat for a "better" implementation
    It's necessary sometimes.. and Java would do well and break this at some point in time.. its too late anyway. They also need to R.I.P some technologies such as the EJB entity beans and move on or re-architect it in such a dramatic way that the newer implementaion has little resemblance to the older one.. believe me, Java will have much to gain if they do that...MS has been successful in their moves from VB to ASP to .NET because they were smart and knew when to stop being backwards compatible. They have't lost the market at all.. inspite of the fact that Java was strong at the time .NET came out.. All of these folks who talk so much about backward compatability will one day drop the bucket and run with something else...
  40. Re: WTF?[ Go to top ]

    It's called business strategy. They'll never actually do it. They might however open some of them owing to leagal obligations so others can interoperate with them in a market that they completely dominate - like office, desktop etc.
    Microsoft already opened .NET years ago. It's an ECMA standard. You can even implement your own runtime, like Mono... Otoh, I doubt you'll even get access to anything that allows you to really interoperate with Office stuff ! Note that the recent Opening of the doc format (guess what, it's called OpenXML :P) seems to prove me wrong. Btw, a nice attempt to screw up good ol' zip/unzip, been hurt already...
    You are joking right? Many people know that JCP is a joke.
    Rephrase : many people *think* JCP is a joke. It's actually one of the reasons why the Java platform has so many Open standards for various domains, and also why you can still run 1.0 bytecode on a 1.6 JVM. Really, JCP is no joke. It's the control entity, what you complain about from the beginning !
    There was an article recently in serverside that talked about Sun cutting workforce and the comments were on the lines like: "Java is Safe". Everyone knew that Sun doesn't control Java and Java would continue its existence thanks to many open source initiatives.
    Again, you missed it IMHO. Java will continue its existence because it has penetrated all markets, thanks to the robustness of its runtime. Open source has nothing to do with this. Actually, the ones deciding are the big players like Sun, IBM etc. Java is y2k's COBOL : it's just everywhere. Open Source just helped find new ideas and do some sort of lobbying to get them accepted as standards. With everybody bashing EJB and praising Spring/Hibernate, you have a good chance that the next version of JEE will be better than the current one.
    Platform is robust because Sun initially controlled it and then there were a few good frameworks and then "the masses got in" and scrwed up everything.
    Again, you missed the story completely. Sun controls the runtime, the heart of the Java platform. They make sure bytecode can execute well. Then, OSS folks propose ideas based on the current status of the Java platform. This in turn helps to build standards based on real, practical and popular ideas instead of building them on the delirim of an obscure guru who necessarily needs to make the stuff over-engineered !! Actually, it's when the "masses" got in, that the game started to get exciting ! Honestly, I'm now starting to enjoy Java, since a few years only, thanks to the contributions of various OSS stuff. And I'm on it since 1.1.
    Thankfully Spring & Hibernate brought some sense and direction to Java.
    You don't even seem to realize you're contradicting your own self, dont you ? Where do you think Hibernate and Spring come from initially ? Could it be from "the masses" ? Man, so there would be good devs amongst this bunch of hippy-style code monkeys ? Would you have even looked at Hibernate yourself, with your current attitude ? Or you'd have stated that EJB is "under control", so "why reinvent another wheel, let's just use the regular one" ? Kinda paradoxal, isn't it ?
    I said standardizing.. not standards...Most companies standardize on a few things and they need not be standards!
    Well, no. Standardizing doesn't mean rushing into the new hyped framework. Standardizing means basing your work on standards. Spring and Hibernate for example have reached enough maturity to let us think they won't vanish tomorrow... but they became just like the old M$ : you don't have any guarantee towards the future of what you're using. These frameworks don't avoid vendor lock-in, it's just that you have the source code. But it's an illusion : do you have the work force to actually maintain such stuff ? So now you're locked into Spring. Controlled by SpringSource. Big players prefer to be locked to JEE. Controlled by them selves :)
    It's necessary sometimes.. and Java would do well and break this at some point in time.. its too late anyway. They also need to R.I.P some technologies such as the EJB entity beans and move on or re-architect it in such a dramatic way that the newer implementaion has little resemblance to the older one.. believe me, Java will have much to gain if they do that...MS has been successful in their moves from VB to ASP to .NET because they were smart and knew when to stop being backwards compatible. They have't lost the market at all.. inspite of the fact that Java was strong at the time .NET came out..

    All of these folks who talk so much about backward compatability will one day drop the bucket and run with something else...
    There are several camps. I personnally trust more in standards and shared knowlegde than in single-company driven, proprietary stuff. I think it doesn't even deserve a real explanation, it's just common sense. Of course, I agree that a bad standard can be more pain than benefits... who said entity beans ? :-P But looking at how Java evolves, I tend to think they played it well. JEE is now much better is has ever been, thanks to the influence of Open Source. You got to get to JEE again mate, it's not the old heavy ball and chain any more. Well, they still have to get rid of JSF, and make Stripes the new Servlet API, but that's another story :-D Anyway, in the end, again, the essence is the JVM. It's what everybody builds upon. And I'm glad they managed to keep it clean over time, and allow other folks to build new languages, tools, frameworks, whatever, on top of this. So yes, I think it was quite nicely "controlled". Cheers Remi
  41. Re: WTF?[ Go to top ]

    These frameworks don't avoid vendor lock-in, it's just that you have the source code. But it's an illusion : do you have the work force to actually maintain such stuff ?
    The problem with this argument is that it assumes that if the original vendor goes away, that now only you can support it. The reality is that if you are willing to pay, someone will provide support. That's the difference that people are starting to realize. With a closed-source product, the source for their products is considered capital that will be sold as part of the bankruptcy. Often the companies that buy it are scavengers whose only goal is to extract as much money from the current users of the software. It's rather clever actually. You buy the product on the cheap, put the screws to the current customers and when everyone jumps ship, you do it again with another product. With open source software, you have other options. One of which is maintaining it yourself but that's probably the last resort. This is why a lot of small software companies are going open source. Businesses have been burned before when little software shops go under (I'm dealing with this now) and the software is bought by sociopathic companies like CA. Open source provides at least some other contingencies. There are some other really important benefits but that's a major one.
  42. Re: WTF?[ Go to top ]

    The problem with this argument is that it assumes that if the original vendor goes away, that now only you can support it. The reality is that if you are willing to pay, someone will provide support.
    Well, then you can buy the company that is about to bankrupt and continue the developments of the framework you rely on ! What I meant is that you probably don't have the cash anyway :P Moreover, you don't seem to care about trademarks... Take JBoss for example. You just can't offer JBoss support officially, the name is copyrighted. Of couse, I prefer "copyrighted open source" than full proprietary products, but still. This is vendor lock-in in a different way IMHO. It has other advantages, clearly, just the fact that you can read the code to find bugs easier, or even for educational purposes... But I don't think non-standard OSS products avoid lock-in. Only standards allow portability and "easy" migration IMO. I really think that a closed source but standards-based software is more reliable on the long term than an "OSS" alternative like Spring. That's why big players tend to go for Websphere more that Spring : they know JEE won't vanish, and they have influence on it, whereas when it comes to Spring... you can't be sure about anything ! About SMEs : I think you have a completely different pov when you're a small structure. You think about fast dev with low cost, whereas big players have an "asset-oriented" pov. So for sure, SMEs will use the latest bleeding edge OSS thing, even if it will probabably not last for 10 years... A bank or insurance company, with thousands of man/years work on the app, just can' afford it : they know they'll have to maintain their programs for very long, and consider this from the early beginning of the project. Note that this is true in almost avery kind of industry (think about building and construction standards for example). Cheers Remi
  43. Re: WTF?[ Go to top ]

    really think that a closed source but standards-based software is more reliable on the long term than an "OSS" alternative like Spring.
    Great! I got it now :) So, all that really matters is to have a standards tag around software. It doesn't matter if there are only two or even just one big vendor left standing as long as the Java they do is called standards! It doesn't matter if MS owns 95% share of desktops, we'll still develop desktop apps in Swing or Eclipse RCP (even though they suck at performance and of course java programmers are like scientists) because they follow standards. Ok, I got this game now.. let me play!
  44. Re: WTF?[ Go to top ]

    The problem with this argument is that it assumes that if the original vendor goes away, that now only you can support it. The reality is that if you are willing to pay, someone will provide support.


    Well, then you can buy the company that is about to bankrupt and continue the developments of the framework you rely on !
    What I meant is that you probably don't have the cash anyway :P
    I don't think you got my meaning. If SpringSource were to go under, there are lots of people out there that are very familiar with the source and even people that have written it that never worked for SpringSource. These people can provide support. With all the companies out there that use Spring, I can't imagine companies wouldn't jump at the chance to fill the void and offer support for Spring. Most companies would move off of the platform if something like that happened but that takes time and support is needed in the interim.


    Moreover, you don't seem to care about trademarks...
    Take JBoss for example. You just can't offer JBoss support officially, the name is copyrighted.
    I could be wrong here but I think that is incorrect. Look in your local phone book for companies offering support for Windows. I highly doubt that all of those companies have gotten the go-ahead from Microsoft. If you can show me evidence that what you are saying is actually the law, I will concede the point. It's almost impossible to support software without the source. The fact that the source is available makes it inherently more supportable.
    Of couse, I prefer "copyrighted open source" than full proprietary products, but still. This is vendor lock-in in a different way IMHO. It has other advantages, clearly, just the fact that you can read the code to find bugs easier, or even for educational purposes... But I don't think non-standard OSS products avoid lock-in. Only standards allow portability and "easy" migration IMO.
    I don't disagree that you can get vendor lock-in with a OSS product. For example, I think most Spring users have allowed their software to become hopelessly entangled with Spring. I used to think that standards necessarily provided portability but then I got some experience with JEE. We currently have WebSphere and WebLogic (and various point releases of the two.) The reason being that vendors don't support their software unless we run it on the platform and version they choose. It's the exact situation that all of these standards were supposed to avoid. I think well-done standards can achieve the goals you are talking about but JEE hasn't. In lieu of those benefits, I would rather not be bogged down with the standard. Not all standards (even within JEE) are created equal. The servlet standard is good. I can move servlets from container to container and they work, in my experience. EJBs on the other hand are a portability nightmare. I just talked to a vendor and I questioned why they required WebLogic. The lead technical guy said they couldn't port their EJBs to WebSphere. It just seems pretty pointless to code to a standard (or pay lip service to it) and then be bound to a (very expensive) platform.
  45. Re: WTF?[ Go to top ]

    I just talked to a vendor and I questioned why they required WebLogic. The lead technical guy said they couldn't port their EJBs to WebSphere. It just seems pretty pointless to code to a standard (or pay lip service to it) and then be bound to a (very expensive) platform.
    Thanks James, for your insightful remarks. There are many frameworks that get built on Java -- but, they are all not standards. Somethings like Struts, Spring become so popular to look like a standard but they are not standards. Code written using them is everywhere....people move on.. declare frameworks like struts 1.x dead.. so what do you do with an app developed with struts 1.x? Invent another framework to tie it to some other living framework .. if you can't do that then don't you think you are suffering from some rip and replace damage here? it all depends on which level of abstraction people sit and talk about these terms.. at language level, yes but at framework level, No.. but Java in the real world is all about frameworks. The real problem with most Java developers is they can't accept things that are wrong.. Java has to be always right.. in every design issue, in every perspective.. its always right.. pick what you like.. it's always choice? I ask how many actually get to make that choice?
  46. Re: WTF?[ Go to top ]

    I just talked to a vendor and I questioned why they required WebLogic. The lead technical guy said they couldn't port their EJBs to WebSphere. It just seems pretty pointless to code to a standard (or pay lip service to it) and then be bound to a (very expensive) platform.


    Thanks James, for your insightful remarks.

    There are many frameworks that get built on Java -- but, they are all not standards. Somethings like Struts, Spring become so popular to look like a standard but they are not standards. Code written using them is everywhere....people move on.. declare frameworks like struts 1.x dead.. so what do you do with an app developed with struts 1.x? Invent another framework to tie it to some other living framework .. if you can't do that then don't you think you are suffering from some rip and replace damage here?

    it all depends on which level of abstraction people sit and talk about these terms.. at language level, yes but at framework level, No.. but Java in the real world is all about frameworks.

    The real problem with most Java developers is they can't accept things that are wrong.. Java has to be always right.. in every design issue, in every perspective.. its always right..

    pick what you like.. it's always choice? I ask how many actually get to make that choice?
    I agree that there's a "Java is always right" attitude in the Java community. Of course you can replace Java with MS, Relational DB, Python, Ruby, LISP, etc. People have a tendency to root for the home team. Just as there are people in the Java community believe in EJBs with blind devotion, there are people in the MS community who won't shut up about how LINQ is the ultimate solution to data access; something that is clearly a premature assessment. Personally, I think it all comes down to a lack of responsibility. Developers / architects find frameworks and tools and dive in without considering the risks that are inherent in tying yourself to something that you don't control. I see it again and again. I have a co-worker who wants to 'use the tools we have the way they were intended' which really means to use the proprietary features of tools from the likes of IBM that allow him to accomplish things he cannot do otherwise. The real problem is that most people will tell you he's right. Stop reinventing the wheel, they say. Bring in a SaaS vendor, don't bother reading the contract, and act like there was not way to avoid the situation when your company is bent over by the vendor. That's considered the 'smart' way to do things. And working with MS isn't any better. We have the same kinds of problems with maintaining old VB apps. What I really don't understand is so many developers can look back at all of the wreckage of the history of languages, tools, and frameworks and still believe that SOAP is forever or that they never need to port their code off of Spring or that their code will never need to execute outside of an EJB. Obviously, there's value to choosing a framework but the illusion is that frameworks and tools reduce risk. My experience is that they, by and large, increase risk and it's a balancing act trying to get the most from these tools without getting married to them. There is no free lunch.
  47. Re: WTF?[ Go to top ]

    Thanks James, again. You nailed it absolutely. Yes, MS has its share of rip and replace (with the old code base of VB and ASP -- VB in particular because its entrenched everywhere) but then every vendor makes a mistake in some way or the other. IBM talks a lot about standards but I doubt if they really follow it up. One thing is for sure, IBM is what it is today mainly (and I would even dare say only) because of Java. Java helped every other vendor to gang up against MS under one umbrella called "Java" and thus you see the most noise in Java community. I would say .NET community (in addition to MS) wants to copy a lot from Java -- because they want to be regarded on par with Java folks as architecture astronauts and so is the blind love for LINQ and the reason for existence of ALT.NET community. I think this is not good for anyone. One hope I have though on .NET is that MS can control. This has it has its positives and negatives. In the next 5 years Java community would look more fragmented than it is today and it will eventually start to backfire.
  48. Re: WTF?[ Go to top ]

    One hope I have though on .NET is that MS can control. This has it has its positives and negatives. In the next 5 years Java community would look more fragmented than it is today and it will eventually start to backfire.
    It kind of seems to me that .NET is fragmenting too. As a .NET development shop, should I use C# or F#? And all the usual suspects are also there. J# (Java) Ruby, Python, and the mono community throws some more wrenches into the works. I've never been a big fan of MS; having been a Mac guy back in the 80s. But I always saw MS as the Empire. Ruthless and destructive while being very deliberate and calculating. Now MS kind of seems like it's lost on the ocean. The Vista debacle makes it look like a company in disarray, especially when Ballmer claims he's not privy to high-level dealings with their biggest partner. Current trends are putting so many holes in their business model that it looks like Swiss cheese. MS seems to me to be a lot like the GM of a decade or two ago: off their game but still overwhelmingly dominant.
  49. Re: WTF?[ Go to top ]

    This a good article on this view. of course, there is no correct view... we all have out own views: http://java.dzone.com/articles/why-java-should-focus-standard
  50. Re: WTF?[ Go to top ]

    Personally, I think it all comes down to a lack of responsibility. Developers / architects find frameworks and tools and dive in without considering the risks that are inherent in tying yourself to something that you don't control. I see it again and again.
    Exactly. Adding a dependency isn't a small thing, and it needs to be considered deeply. Otoh, you can't possibly think about not depending on anything today : either you'd recode many things yourself (which can be even more risky !), or you'd just not be able to deliver the features with a competitive price.
    Obviously, there's value to choosing a framework but the illusion is that frameworks and tools reduce risk. My experience is that they, by and large, increase risk and it's a balancing act trying to get the most from these tools without getting married to them. There is no free lunch.
    Well said. And if you have to get married, then try to get the good one ! Otherwise you're on for painful years with an ugly and annoying wife, and probably end up with an expensive divorce :-P Cheers Remi
  51. Re: WTF?[ Go to top ]

    I don't think you got my meaning. If SpringSource were to go under, there are lots of people out there that are very familiar with the source and even people that have written it that never worked for SpringSource. These people can provide support. With all the companies out there that use Spring, I can't imagine companies wouldn't jump at the chance to fill the void and offer support for Spring. Most companies would move off of the platform if something like that happened but that takes time and support is needed in the interim.
    Well, then you'd loose the "coordinator" that ensures consistency in the framework's evolution. If several companies would fork Spring, which one would you choose for your own developments ? Again, only the standard ensures long-term reliability.
    If you can show me evidence that what you are saying is actually the law, I will concede the point.
    http://thejbossissue.blogspot.com/ :-)
    It's almost impossible to support software without the source. The fact that the source is available makes it inherently more supportable.
    True. But again, who cares : I doubt any software shop today is able to maintain their own Spring AND their products...
    I don't disagree that you can get vendor lock-in with a OSS product. For example, I think most Spring users have allowed their software to become hopelessly entangled with Spring.
    Exactly. And the worse is most of them don't seem to realize this is an actual issue.
    I used to think that standards necessarily provided portability but then I got some experience with JEE. We currently have WebSphere and WebLogic (and various point releases of the two.)
    Nothing's perfect from its inception. JEE is quite young and clearly has several weaknesses that have to be addressed. I'm not saying the standard itself is better or more convenient than the "closed" competitor (e.g. EJB vs Spring/Hibernate). I'm just saying it's more reliable on the long term. Last, there will always be slight differences in JEE implementations, looking at proprietary descriptors is a good example. But in the end, porting from an AS to another is still easier than completely replacing Spring/Hibernate for instance !
    The reason being that vendors don't support their software unless we run it on the platform and version they choose. It's the exact situation that all of these standards were supposed to avoid.
    This is completely decoupled : vendors support given platforms just for a cost reason. They can't test every possible runtime. And btw, in the end your code is mostly platform-independant, which is what the standard allows :-P Thanks to the standard, you don't need to rewrite all your code. Runtime and APIs are standard so even if there are slight portability issues sometimes, it's "write once, run anywhere", at the enterprise app level.
    I think well-done standards can achieve the goals you are talking about but JEE hasn't. In lieu of those benefits, I would rather not be bogged down with the standard.
    That's your personal opinion, and believe me I've agreed with you so much in the past... I used to write EJBs since 1.1, so I guess you see what I mean :) Otoh, EJB3 for instance is really, really cool. IMHO it solves all the design flaws of previous versions in an elegant and efficient way. Coded session EJB3s last time, really, it reminded me Stripes ! Throw in a few annotations, let them handle the D.I. for you, don't need no XML... To be honest, I don't need Spring any more with this !
    Not all standards (even within JEE) are created equal. The servlet standard is good. I can move servlets from container to container and they work, in my experience.
    Fully agreed. This is probably due to the fact that the spec is less ambitious, and it has probably been designed by more pragmatic persons :) Otoh, I find the API very limited. It's really HTTP in Java, and here we get back in this thread's original subject : we need more than this.
    EJBs on the other hand are a portability nightmare. I just talked to a vendor and I questioned why they required WebLogic. The lead technical guy said they couldn't port their EJBs to WebSphere. It just seems pretty pointless to code to a standard (or pay lip service to it) and then be bound to a (very expensive) platform.
    Well, I have a very different experience. Of course there are differences in the platforms you mention. Actually there are differences in ALL platforms at least in a specific area of the container (be it deployment lifecycle, security policies, message queues, whatever). But yes, of course, you can migrate from an AS to another. Part of my work at ILOG is actually making sure our product (JRules) is integrated to all major AS out there. And believe me we use the full stack. We develop specific code and deliver specific packagings for all those app servers. But in the end, 99% of the codebase is the same for all of them. What I hate in old EJBs is their crappy programming model. But I have no real complains about their portability. Now that the folks @JEE have started to be pragmatic and design efficient specs, well, you get the full package : Open Source implementations of Open Standards :-P Cheers Remi
  52. Re: WTF?[ Go to top ]

    If you can show me evidence that what you are saying is actually the law, I will concede the point.


    http://thejbossissue.blogspot.com/
    :-)

    Look here: http://news.zdnet.co.uk/software/0,1000000121,39228261,00.htm "Companies can say they're offer training and consulting for JBoss. What they cannot do is use the JBoss trademark in their brand name." Which is my understanding of how it works, at least in the US. You often see generic products that say things like "as good as product X" where product X is a trademark that belongs to some other company. Here's another site that goes over a lot of trademark subjects: http://cyber.law.harvard.edu/metaschool/fisher/domain/tm.htm#7 You'll see there that there is nothing about offering services related to a trademarked product there. And, I see people advertising services for trademarked services all the time. It's not clear exactly what the blog you pointed to is complaining about. Perhaps the phrase "JBoss Services" was trademarked or something and I'm not sure how trademark law works in Europe so it might be different there. In the US trademarks exist to protect consumers, not to protect the trademark owners so the idea of not allowing people to offer services for trademarked products is contrary to the intent of the law. The point of what I am saying is not that it's perfectly fine if a company with an open source product goes under but that there's a contingency with open source products that does not exist with closed source. If you use a popular closed-source product like Spring and SpringSource goes under, I guarantee you there will be a lot of companies willing to offer support for Spring.
  53. Re: WTF?[ Go to top ]

    Look here: http://news.zdnet.co.uk/software/0,1000000121,39228261,00.htm

    "Companies can say they're offer training and consulting for JBoss. What they cannot do is use the JBoss trademark in their brand name."
    Well, sure, M. Fleury doesn't really agree. This has been quite of a story in the OSS world... Of course, you can't use JBoss in your brand name, otherwise I don't see any point in tdking at all !
    Which is my understanding of how it works, at least in the US. You often see generic products that say things like "as good as product X" where product X is a trademark that belongs to some other company.
    Yep, funny for us French, as you can't do this here (comparative ads). Anyway, trademarking is simple : you register "terms" (your brand) under some classification(s) (JBoss is tdked under software & services blah blah), and then you're the legal "owner" of the brand. It's then up to you so sue people using your trademarked brand if you think they harm your business. The court decides. I don't know how it works for ads in the U.S., as it clearly raises questions about this. You probably can't legally diffamate on the concurrent product or service, but only use "fair" comparisons I guess (e.g. this car goes faster than that one).
    And, I see people advertising services for trademarked services all the time.
    Sure, when it's a win-win relationship, nobody complains. Once the owner of the trademark decides that you harm its business, then you're into trouble. Again, the court decides. And I wouldn't go into a fight with JBoss' lawyers :P
    It's not clear exactly what the blog you pointed to is complaining about.
    It's a pretty long story, but basically JBoss is accusated of locking any business related to their Open Source products. The codebase is Free, but the name and associated business isn't. So in short you can't make money out of JBoss products if you're not JBoss. At least that's what I understood.
    The point of what I am saying is not that it's perfectly fine if a company with an open source product goes under but that there's a contingency with open source products that does not exist with closed source. If you use a popular closed-source product like Spring and SpringSource goes under, I guarantee you there will be a lot of companies willing to offer support for Spring.
    Ok, let's consider there is absolutely no trademark issue etc. But then what ? You'd end up with several versions of Spring, and you loose everything ! Again, if instead you had based your devs on a widely accepted standard, you would be technically less impacted by economic issues : the container vendor goes down ? Well, buy another container. Note that I'm fucking flies a little bit here, as I fully support Open Source, even "commercial" OSS. But for other reasons than "it's free as in free beer", or "it avoids vendor lock-in". Cheers Remi
  54. Re: WTF?[ Go to top ]

    Ok, let's consider there is absolutely no trademark issue etc.
    But then what ? You'd end up with several versions of Spring, and you loose everything !

    Again, if instead you had based your devs on a widely accepted standard, you would be technically less impacted by economic issues : the container vendor goes down ? Well, buy another container.
    I'm not saying that it's a good thing if the vendor disappears. What I am saying is that you have options if that happens. Where I currently work, we pay exorbitant amounts of money to companies to add new features and we get horrible support. They effectively have no competition when it comes to their current customers. This software has a enormous negative impact on our ability to adapt to a rapidly changing business environment aside from the increasing amount of our budget that goes to licensing fees even when we gain nothing. Standards can help but I take them with a huge grain of salt. I've personally seen the effort required to move a fairly small J2EE application from one container to another. Good standards are hard to come by. http://www.antipatterns.com/wolfticket.htm
  55. Re: WTF?[ Go to top ]

    You don't even seem to realize you're contradicting your own self, dont you ?
    I'm not trying to take a stand and argue that I'm right all the way. If I'm wrong I'm ready to accept. It's not my opinion that everyone should dump Java and goto .NET. I just said, you may have something to learn from looking at the other side, thats all.
    You got to get to JEE again mate, it's not the old heavy ball and chain any more.
    Thank you for the invitation but I'm sorry. As a closing remark I would ask you to put yourself into the plight of a newbie who is trying to decide what to specialize in. Imagine how overwhleming it can be for them. You get the feeling that its going to take you half a decade to get them all mastered. Those who have been with Java for the last 8 years or so had an advantage of growing with its evolution; not so for new entrants.
  56. Re: WTF?[ Go to top ]

    I'm not trying to take a stand and argue that I'm right all the way. If I'm wrong I'm ready to accept. It's not my opinion that everyone should dump Java and goto .NET. I just said, you may have something to learn from looking at the other side, thats all.
    Not really. Read what you wrote again. You've been aggressive and bashed people who try to push our industry forward... And I think folks developing new ideas, even if they are derived from existing concepts (btw what's not, in the end ?), well, they already know about looking at the other side. At least, they are curious.
    Thank you for the invitation but I'm sorry.
    Let me rephrase you : "Look at the other side man, maybe you have something to learn" :-P
    As a closing remark I would ask you to put yourself into the plight of a newbie who is trying to decide what to specialize in. Imagine how overwhleming it can be for them. You get the feeling that its going to take you half a decade to get them all mastered.
    Well, it actually does. Even more IMHO if you wanna "master them all", it'd take a lifetime :P But here's they key. In general, skilled people are all good at the same thing : learning ! Once you have a solid background in software engineering, you can learn any framework, grasp its pros and cons in a very short time, and get the best out of it. But yes, sorry to remind you this reality : it takes more than half a decade to just start understanding things in software development... Man, I do this since 15 years, and I still feel like I won't be able to "master" anything ! The more you know, the more you know you don't know... And last, if I were a noob I would not come and open my big ignorant mouth on public forums. Instead, I'd probably try to understand what this new thing can do for me, and ask practical questions. Saying that all java fwks reinvent the same wheel and that .NET solves it all won't push anything forward.
    Those who have been with Java for the last 8 years or so had an advantage of growing with its evolution; not so for new entrants.
    Hopefully they do !!! The inverse would be quite sad : it'd mean that you do 5 years university and years of professionnal experience for nothing, and the first PHP script kiddie that comes around can get your job ? Experience is precisely what you get paid for. And again, the Java platform is huge. It's not only about a few frameworks. Even using the core JDK effectively is not for newcomers... look at stuff like the Java Puzzlers, or Effective Programming... after 8 years of Java you still learn things in the JDK classes you use everyday ! So I guess new entrants have to learn and improve before they get to decide about enterprise architectures or framework choices. And don't think it's bad : it's just life. Would you come to an architect's office and tell him you'll draw the building better than him after 2 months of learning ? It's funny how the development of Internet has made software engineering look easy as a child's game to some people... Before the internet, programmers were seen as actual scientists. People understood you had to actually learn something before you could be efficient with a keyboard. Now, in the Facebook era, everyone thinks that developing an enterprise system is as easy as building a Personal Home Page ! Cheers Remi
  57. Re: WTF?[ Go to top ]

    You've been aggressive and bashed people who try to push our industry forward...
    Hmm.. Looks like I owe a very big apology to everyone here. I didn't mean to be aggressive, but if thats how it seems then I'm sorry.
    And last, if I were a noob I would not come and open my big ignorant mouth on public forums
    I stand corrected!
    Before the internet, programmers were seen as actual scientists. People understood you had to actually learn something before you could be efficient with a keyboard
    I'm not sure I agree. Software is expected to solve a lot of business problems and Java is one them. There are many products, solutions that are unique in its own ways such as SAP, CRM, Datawarehouse. Some of these use Java of course! But, Java EE makes the most noise as if it's the software itself! Oh well, I better shut my big ignorant mouth now :)
  58. Re: WTF?[ Go to top ]

    In the end, control is good, but you also need openness and several actors to make a good the balance. One single entity to rule'em all doesn't work.
    I never said we need one single entity.. I said we need some control...There are so many products thats are controlled.. Take the RDBMS, desktop OS, Messaging products, Email, chat services.. Mostly you see Oracle, IBM, MS and Apple etc.. they didn't stop innovating...
    And last, you need fresh people with fresh ideas to push things forward. If you rely on a big commercial company for innovating, I guess we'd all be sticking to stone-age paradigms, languages and tools.
    I agree but the reality is there has been innovation at all times, long before Java came into picture. Java certainly was an innovation but then its so screwed up now and so complex that it will be its biggest enemy one day -- soon.
  59. Re: WTF?[ Go to top ]


    In the end, control is good, but you also need openness and several actors to make a good the balance. One single entity to rule'em all doesn't work.


    I never said we need one single entity.. I said we need some control...There are so many products thats are controlled.. Take the RDBMS, desktop OS, Messaging products, Email, chat services.. Mostly you see Oracle, IBM, MS and Apple etc.. they didn't stop innovating...
    MS doesn't innovate. They are reactive. Nothing that MS makes money on is innovative and most of what they provide is mediocre compared to the alternatives that they often overwhelm with their market power. And let's be clear, I think they have a right to run their business they way they see fit (as long as the do it legally). My perspective is as a consumer. Just as they are free to take these approaches, I am free to consider them in rejecting their offerings.
  60. Re: WTF?[ Go to top ]

    MS doesn't innovate. They are reactive. Nothing that MS makes money on is innovative and most of what they provide is mediocre compared to the alternatives that they often overwhelm with their market power. And let's be clear, I think they have a right to run their business they way they see fit (as long as the do it legally). My perspective is as a consumer. Just as they are free to take these approaches, I am free to consider them in rejecting their offerings.
    Well... I guess I'm going in the wrong direction.. I'm not trying to defend MS or their strategies. I'm only making a comparison. I read Rod (of Spring fame) say that both communities have a lot to learn from each other and there is really no shame in copying. I'm sure MS copies a lot from others; they do it very well of course and I don't see anything wrong with it. I felt this is one aspect Java as a community has to learn. You just can't go on writing new frameworks when the benefits aren't there or are marginal. It's much effort to learn and understand the best practices than being cool about a new framework. I'm sure the people behind Play! are among the smartest Java developers and they may have their own reason for doing it -- such as resume decoration or just show off their skill and I see absolutely nothing wrong with it. Enterprises have enough complexity and we need not go on adding more.
  61. Re: WTF?[ Go to top ]

    I'm sure the people behind Play! are among the smartest Java developers and they may have their own reason for doing it -- such as resume decoration or just show off their skill and I see absolutely nothing wrong with it.

    Enterprises have enough complexity and we need not go on adding more.
    I don't know much about Play! and if I tried it and found that it sucked, I wouldn't hesitate to say so. For all I know, Play! might have greatly simplified things. It might save a company millions for all we know. I'm fine with people bashing bad projects. I just disagree with questioning people for doing new things. If they haven't created anything new or worthwhile, the project will go nowhere. If an enterprise foolishly jumps from framework to framework without gaining net value, that's their problem. It's not the framework's fault.
  62. Re: WTF?[ Go to top ]

    You must be joking...
    First off, there are several Open Source Web Frameworks in .NET as well

    Yes, but the general trend is to use what MS offers.
    People choose the Java stack over the MS stack precisely because it's not like that. If you want to put all your faith in a company do whatever they tell you to do, you would choose MS. It doesn't make sense for Sun to be like MS in this regard. They can't pull it off, for one thing and Java has a free market of ideas as an alternative to the MS approach. It's kind of like the difference between capitalism and communism. One is a chaotic system with some inherent inefficiencies no single authority and the other is controlled by a monolithic autocracy. In theory the managing authority eliminates the inefficiencies of the chaotic system but history tells us that the exact opposite is true.
  63. Re: WTF?[ Go to top ]

    It's kind of like the difference between capitalism and communism. One is a chaotic system with some inherent inefficiencies no single authority and the other is controlled by a monolithic autocracy.
    In the case of MS there is some level of democratic process with customers, developers and partners giving them the feedback they need. I'm also not arguing for complete control..I only meant some control.. we are talking about some control vs no control. If MS as a company dies then end of story for all their products -- which is bad of course. If Sun as a company dies Java will have little to no impact -- its good in a way but that also means Sun doesn't have a lot of influence on where or how Java should go. Not having enough control is bad.
  64. Re: WTF?[ Go to top ]

    It's kind of like the difference between capitalism and communism. One is a chaotic system with some inherent inefficiencies no single authority and the other is controlled by a monolithic autocracy.


    In the case of MS there is some level of democratic process with customers, developers and partners giving them the feedback they need. I'm also not arguing for complete control..I only meant some control.. we are talking about some control vs no control. If MS as a company dies then end of story for all their products -- which is bad of course. If Sun as a company dies Java will have little to no impact -- its good in a way but that also means Sun doesn't have a lot of influence on where or how Java should go. Not having enough control is bad.
    I don't really think the future is going to play out as a battle between Java and C# or whatever. The languages (most likely there will be many) that get wide use and adoption will probably run on both CLR and the JVM (and other VMs, potentially). Languages that tie you to specific platforms won't be able to compete, in my estimation. The battle between which platform to run code on will be more of an infrastructure question and not a development one. Overall, I think being able to navigate the wide range of options and choosing a path is just part of being a technology professional. Abdicating your authority to MS or anyone else is an admission of ineptitude and laziness, in my opinion.
  65. Re: WTF?[ Go to top ]

    why is it that when ever a new framework is announced here the first reaction is to just trash it, and belittle the authors with personally insulting remarks?
    Please show many any personal insulting remarks that I, and actually anyone on this thread has made? Did we critique the framework, absolutely. Software engineering is a critical field, if you are so insecure that you can't take critique, you should change fields.
    and additionally, you provide NO VALUE what so ever just by spouting some completely irrelevant cheap shot at the authors or their technology.
    Well, there are a few reasons. First, we want to know the purpose of the framework. How does it compare to others out there, like Grails (which in theory seems similar, but at this time is more robust, flexible, stable). What was the motivation of sitting down and creating another framework. Is it to get fame, put it on your resume, etc..., which are all good self serving reasons. But when someone is advertising a framework to me, I will absolutely critique it if I see the same set of features available in 10 other frameworks without any clear benefit. The author can take this and say, well writing this framework makes me a better developer and continue doing so, he/she can prove the critiques wrong, and/or maybe they can make a decision to stop wasting their time and actually put their mind to more useful things. Again, no where in the critiques was anyone being personal, rather trying to dissect the usefulness of yet another framework. Ilya
  66. Hi guillame, Great framework, i find the idea behind play is great and very interesting. But another framework that focus just on java web developers, not designers at all. Because in play we don’t really have separation of concerns between view, model, and controller, there is lots of logic going to the view that clutters it and penalize designers that know just HTML and css. The enhanced error reports is interesting, but showing the code in the view (template)!? Don’t think that it interests lots of people. The stateless model is really very good thing that avoid lots of problems, like synchronization, salacity (horizontally and vertically) etc…, the model that functional programming languages prone and use. I apologize if you find mistakes, in my message; I try to do my best. Good luck Massil
  67. sorry, i want to say scalability (horizontally and vertically)
  68. @massil In fact there is separation of concerns. The template goal is just to display the object model without any business logic. Of course sometime you need to more power than the classic "JSP expression language", like the ability to make a method call (like collection.size()) from the template... And about the error reports is the template... Yes we want than when you make a mistake in a template (and you will) you can fix it quickly ! Why do you think that it's a bad idea to show the template source code when an error occur ?
  69. Really an interesting project. The only i didn't like is that you are forced in creating a lot of static methods, which I feel is a bad practice. regards Giovanni
  70. @Giovanni The static methods are only needed for the Controller actions. This is because the controllers part is really procedural an not very object oriented. We don't need to instanciate some controller objects so it's logic that we use static methods for controllers. One cool side effect is that with Play!, if you want to redirect the client to another action you just write something like Posts.show(12); and the corresponding HTTP Redirect is generated.
  71. Hi guillaume, When i say there's no separation of concerns, i would like to say that no logic must go into the view (template) at all: what do you think about this code: #{extends 'main.html' /}

    ${photos.size() ?: 'No'} photo(s) found

    #{list items:photos, as:'photo'}
    ${photo.name} ${photo.size}
    #{/list} In order to have real separation of concerns, this view must contain only html no logic at all, and thus all this stuff must reside in java file. About report errors, in production environments I don’t think that we need to display java files for users, but more descriptive messages. Regards. Massil
  72. @massil For me this code is not some business logic but some "presentation logic". My own rule is "don't modify the state of the model objects from the template". If you just access model objects properties in order to display them, for me it's ok. And of course when the application is started in "PROD" mode, the source code is never displayed (even with the default 500 page, but you will logically provide your own error page).
  73. But if you need to work in collaboration with designers that speak only HTML and css, you can not do it easily because they must understand EL language and some programming principles. Gook luck. Massil
  74. Hi there, First off, congrats for the release. Don't stop being creative, despite all comments from people that never commited a single LOC or sent a patch to any OSS project. Whatever the result, efforts like this one help us move forward. Enough kudos... peer review :) I don't mean to be harshe or anything, but I fail to see the added value of Play! over existing so-called "RAD" frameworks. No offense meant, really, just a simple question : What does play offer that RoR, GRails, etc. don't already provide, besides a little reworked templating engine and a few goodies ? What's really *new* in Play! ? Again, I don't see anything else than a "regular" RAD/CRUD/you-name-it full stack web framework... As a developer trying to push a completely different approach (POJOs On The Web!), I must admit I'm disappointed seeing people all go in the same direction, whereas there are many new tracks to explore... For instance, the use of pattern matching in Woko (via facet-driven developement) is unique, and raises many new questions about global application design. It's just another way of developing webapps, it goes beyond traditional MVC. I must admit I see all those "RAD" frameworks as some sugar over a fully conventional developement process. Once you've passed the scaffolding (and most of the times quite useless actually) CRUD step, then you're back to the old times, writing controllers and views just like you'd do it with any other framework. I think RoR had good ideas (conv over conf etc), but they have been misinterpreted. Something useful and practical somewhat turned into a new developement paradigm, but AFAIK, it's not. It's just common sense ! Anyway, good luck with your framework. And as I usually say for my own work, if at least it works for me, then it was worth building it... not mentioning the fun part of the story :P Cheers Remi
  75. Hi remi, You're right. Play! does not try to push a new application development model. It's just a clean implementation of the classic MVC model with some "few goodies" like hot Java reloading, really stateless model (no in memory session), better errors reports, some syntaxic sugar, better template engine, easier configuration, etc... So nothing really new. But we've created the framework because we just wanted to be more productive while keeping Java as main language. Most Java frameworks are still stuck with poor HTTP support (yes I mean Servlet API), poor template engine (yes I mean JSP) and a incredibly slow development process (compile, package, deploy, restart ...). (And yes I know there is some other good Java framework anyway, like for example wicket but with a very different application model, ...) If you're using RoR, Django, or Symphony, you've obviously totally no value to migrate to Play !; But if you're a Java developer Play! could be is interesting ... And no sorry, Play! is not a clone of Grails since Grails use groovy as main language where Play! uses Java. And even if I love Groovy as a wonderfull tool for the Java platform (think about scripting, DSL, dynamic rules, ...) I'm not sure that totally replace Java by Groovy is a good idea ...
  76. Thanks for the explanation. I think you somehow reached your goal, Play! seems quite pleasant to use and well designed (rough tour only I confess). And yep, looks different than GRails. Another implementation of some common paradigms, but again, I see no issue with this. This dynamic class reload is definitly a must-have (even if it has implications when used in environments that require startup/init tasks, like Spring or Hibernate). The templating looks attractive as well. I must admit I also think JSTL works fine, but is a bit verbose. Anyway, good luck to you and your framework. May it bring its own little stone to the building :-P Cheers Remi