Ruby jobs increase by 550% - up to 3.3% the size of Java jobs!

Discussions

News: Ruby jobs increase by 550% - up to 3.3% the size of Java jobs!

  1. Obie Fernandez posted a graph showing Ruby job growth over the last few years, with a final number somewhere in the 550%-660% range. That's great, but according to dice.com, it's still very very tiny compared to Java's market. We should be entirely fair, here: Ruby is growing, and Obie is definitely a Ruby proponent (being an author of "The Rails Way," for example.) Obie even explains that the graph doesn't mean much without context (as do the comments.) It's not appropriate to slag Obie for the graph... What attracted the attention was a pointer by another blogger, Matthew Bass. In " Growth in Ruby jobs relative to Java," Mr. Bass points to the graph Obie featured, saying:
    This is one of the reasons I'm doing mostly Rails consulting right now.
    Ouch! While it's great that Matthew seems to be doing what he enjoys (assuming he enjoys Ruby consulting), Dice.com shows 16,476 Java jobs, with 559 Ruby jobs, which means that the Ruby market is a whopping 3.3% the size of Java. [Editor's note: Dice.com showed the full count of matching jobs. Monster.com showed 494 Ruby jobs, but only "> 5000" for Java. Yahoo! Hotjobs showed 238 Ruby jobs, and 5663 Java positions, which would mean Ruby's market there is 4.2% of the size of Java's. That said, I'm sure that while all of the numbers are representative, they're not complete by any means. This isn't a scientific survey, and your numbers may vary wildly from day to day, or even hour to hour.] With 560 Ruby jobs on the largest job hunting sites out there, it's a little premature to say that Ruby's catching up with Java. Just to be complete, Dice.com showed 1366 Python positions (8.2% of the number of Java positions offered), six Scala offerings (let's be gracious and say "0.0004%"), and seven Haskell positions. Added up, they only come up to 13% or so the size of the Java market. Perhaps that is one of the reasons most of us are doing Java coding right now.

    Threaded Messages (64)

  2. Rails deployment[ Go to top ]

    I started to learn Rails but after a while I could not figure out what they do with their Rail application when it is finished?! I mean they can not be running it on WEBrick for production, do they?! Is there really a reliable way to deploy a Rails application?
  3. Re: Rails deployment[ Go to top ]

    I started to learn Rails but after a while I could not figure out what they do with their Rail application when it is finished?! I mean they can not be running it on WEBrick for production, do they?! Is there really a reliable way to deploy a Rails application?
    There's always Mongrel...
  4. Re: Rails deployment[ Go to top ]

    There is more than one way. In the company I work we deployed using apache and FastCGI easily. And the application scales great.
  5. Re: Rails deployment[ Go to top ]

    I started to learn Rails but after a while I could not figure out what they do with their Rail application when it is finished?! I mean they can not be running it on WEBrick for production, do they?! Is there really a reliable way to deploy a Rails application?
    There's always Mongrel...
    I thought for stability you had to port it to jRuby and run it on Tomcat?
  6. Re: Rails deployment[ Go to top ]

    Do you think JSF is a good technology? I've developed in JSF, Ruby and created 'components' using jQuery. They're not all competing technologies, but they solve similar problems. And I think JSF is horrible; complex lifecycle, ugly tags, xml hell (without SEAM). I think the enthusiasm for scripting languages is justified. The same empowerment I felt 6 years ago when I first started using Hibernate I feel when I use a scripting language with closures and intelligent defaults.
  7. Re: Rails deployment[ Go to top ]

    Do you think JSF is a good technology?
    I think JSF is unjustifiably criticized. It provides a model for developers to work that brings the web development closer to what development in a standalone application is. We don't need to think in terms of request and response when developing in JSF, and that's a good thing. The quantity of XML involved is minimal if compared to other opensource frameworks (such as Struts) and tools (such as Spring or Hibernate). Learn from .Net. We don't need 500 frameworks, but only one that works. These opensource folks should stop being cheerleaders and start being more objective.
    ...And I think JSF is horrible; complex lifecycle, ugly tags, xml hell... The same empowerment I felt 6 years ago when I first started using Hibernate
    Hibernate is a non-solution for a non-problem. There's a much better technology for querying data called SQL. Hibernate is just an attempt to reinvent the wheel. But what has struck me as odd is that you criticized "xml hell" and then cited "Hibernate" as a good thing.
  8. Re: Rails deployment[ Go to top ]

    But what has struck me as odd is that you criticized "xml hell" and then cited "Hibernate" as a good thing.
    Hibernate has supported annotations for about 2 years now.
  9. Re: Rails deployment[ Go to top ]

    Hibernate has supported annotations for about 2 years now.
    And before that it was XML hell, just like Spring. But now it is just a non-solution for a non-problem.
  10. Re: Rails deployment[ Go to top ]

    Hibernate has supported annotations for about 2 years now.


    And before that it was XML hell, just like Spring. But now it is just a non-solution for a non-problem.
    Say it one more time and click you heels. Then it come true. Either that or you will end up in Kansas.
  11. Re: Rails deployment[ Go to top ]

    Hibernate has supported annotations for about 2 years now.


    And before that it was XML hell, just like Spring. But now it is just a non-solution for a non-problem.

    Say it one more time and click you heels. Then it come true. Either that or you will end up in Kansas.
    Darn - "Then it will come true."
  12. Re: Rails deployment[ Go to top ]

    We don't need to think in terms of request and response when developing in JSF, and that's a good thing.

    The quantity of XML involved is minimal if compared to other opensource frameworks (such as Struts) and tools (such as Spring or Hibernate).

    Learn from .Net. We don't need 500 frameworks, but only one that works.
    My belief is that there are so many frameworks because the ones that have been considered standard don't address developers needs very well. I don't disagree that focusing on one framework might be beneficial to Java developers in general but it's not a particularly good argument for an arbitrarily chosen framework such as JSF.
    Hibernate is a non-solution for a non-problem. There's a much better technology for querying data called SQL. Hibernate is just an attempt to reinvent the wheel. But what has struck me as odd is that you criticized "xml hell" and then cited "Hibernate" as a good thing.
    I completely agree. I thought maybe I was the only Java developer in the universe that didn't like Hibernate. The problem with JDBC is it's procedural design. Over the years I've come up with a more functional-like wrapper over JDBC that manages all the resources (and their configuration) in one place without affecting code that is working with SQL. I've considered starting an open-source project to move forward but I've expected little traction because of the Hibernate-mania that has gripped the Java world. Personally, I see going to Hibernate from what I am using now to be a huge downgrade in terms of speed of development and capabilities.
  13. Re: Rails deployment[ Go to top ]

    We don't need to think in terms of request and response when developing in JSF, and that's a good thing.

    The quantity of XML involved is minimal if compared to other opensource frameworks (such as Struts) and tools (such as Spring or Hibernate).

    Learn from .Net. We don't need 500 frameworks, but only one that works.


    My belief is that there are so many frameworks because the ones that have been considered standard don't address developers needs very well.

    I don't disagree that focusing on one framework might be beneficial to Java developers in general but it's not a particularly good argument for an arbitrarily chosen framework such as JSF.

    Hibernate is a non-solution for a non-problem. There's a much better technology for querying data called SQL. Hibernate is just an attempt to reinvent the wheel. But what has struck me as odd is that you criticized "xml hell" and then cited "Hibernate" as a good thing.


    I completely agree. I thought maybe I was the only Java developer in the universe that didn't like Hibernate.

    The problem with JDBC is it's procedural design. Over the years I've come up with a more functional-like wrapper over JDBC that manages all the resources (and their configuration) in one place without affecting code that is working with SQL. I've considered starting an open-source project to move forward but I've expected little traction because of the Hibernate-mania that has gripped the Java world. Personally, I see going to Hibernate from what I am using now to be a huge downgrade in terms of speed of development and capabilities.
    Sheesh! So stop talking and start coding. If you have a better idea, put it out there. IT is very easy to claim "Hibernate-mania" as an excuse for potentially having nothing to offer. You thinking everyone else is stupid and save us from ourselves. Put your awesome software out in the light of day.
  14. Re: Rails deployment[ Go to top ]

    Sheesh! So stop talking and start coding. If you have a better idea, put it out there. IT is very easy to claim "Hibernate-mania" as an excuse for potentially having nothing to offer.

    You thinking everyone else is stupid and save us from ourselves. Put your awesome software out in the light of day.
    I've already coded it but I don't own that code. I'd have to really do it again to make it open source. That might not be such a bad thing because I would likely improve it in the process. The problem I have is that there are two other open source projects that I have commitments to in addition to my day job. There's only so much time in the day. Every so often I mention this in the hopes I will dredge up some interest and get some help. No luck so far. I'll probably do it anyway, especially if I change jobs. It's just a matter of finishing some other things that I have started. I don't think everyone is stupid. I think that hibernate is a pretty good solution for one specific type of problem. What I disagree with is the notion that Hibernate is a wholesale solution that replaces SQL.
  15. Re: Rails deployment[ Go to top ]

    I think that hibernate is a pretty good solution for one specific type of problem
    Yeah. ORM. It isn't good for making cheese sandwiches.
  16. Re: Rails deployment[ Go to top ]

    I think that hibernate is a pretty good solution for one specific type of problem

    Yeah. ORM. It isn't good for making cheese sandwiches.
    ... or lots of useful applications.
  17. Re: Rails deployment[ Go to top ]

    I think that hibernate is a pretty good solution for one specific type of problem

    Yeah. ORM. It isn't good for making cheese sandwiches.


    ... or lots of useful applications.
    What would like like to apply it to besides ORM situations? I think I will paint my car with it. :)
  18. Re: Rails deployment[ Go to top ]

    What would like like to apply it to besides ORM situations?

    I think I will paint my car with it. :)
    What? Anyway, I don't blame ORM for the artificial limitations developers put on Java. I blame the JavaBean spec and the EJB spec. If you come from the EJB 1-2 world and you start using Hibernate, you feel like you have been unshackled. There are a lot of apps, however, where creating a domain object is just a plain waste of time. But again and again I see people create a class with nothing but private variables and getters and setters in order to hold rows of data from a table. It's incredible how many Java developers just do this without thinking about it. It's really similar to how COBOL developers write code. Not that that is the worst thing ever but it really limits what you can do in an application without adding code. I see common ORM tools as enablers. Crack-dealers without conscience.
  19. Re: Rails deployment[ Go to top ]

    What would like like to apply it to besides ORM situations?

    I think I will paint my car with it. :)


    What?

    What what?
    Anyway, I don't blame ORM for the artificial limitations developers put on Java.
    Me neither. I blame web apps and those who demand them. :0 Seriously (or more so) what limitations?
    I blame the JavaBean spec and the EJB spec.
    For? They are inanimate objects after all.
    If you come from the EJB 1-2 world and you start using Hibernate, you feel like you have been unshackled moving to Hibernate.
    Well, I came from a VB ADO/RDO/DAO background (basically JDBC) and i felt unshackled.
    There are a lot of apps, however, where creating a domain object is just a plain waste of time.
    OOHHHHH. Applications where there are no "domain" objects to map the relational model to. So why did you ask "what" earlier for?
    But again and again I see people create a class with nothing but private variables and getters and setters in order to hold rows of data from a table.
    Probably cause they thinking DTOs. But to be honest, having things in a bean is much better than passing recordsets around and dealing with them in their raw format EVERYWHERE. Been there. Done that. The same goes for XML, at least the dealing part.
    It's incredible how many Java developers just do this without thinking about it.
    It's incredible how many Java developers do just about everything without thinking. It's incredible how many developers (in general) do just about everything without thinking.
    It's really similar to how COBOL developers write code.
    You mean the not thinking part? I'd agree. But why should they? If you mean by moving stuff into Working Storage then it really is much different. They don't have to and they don't when they don't need to. The problem is not a Java or ORM or VB or Ruby or PHP or etc problem. It is a people problem. Most people learn by rote. And to learn more they have to either unlearn or dump what they currently know. They just learn and do. Very seldom do they truly understand.
    Not that that is the worst thing ever but it really limits what you can do in an application without adding code.
    Yeah. Wouldn't want to code anything in an application. :) Seriously, how does it limit you?
    I see common ORM tools as enablers.
    Me too. They enable me to work on something other than SQL and JDBC transactions. By "other" I mean I can spend less time persistence in general.
    Crack-dealers without conscience.
    Are we still talking about ORM or now are we talking about RoR? :)
  20. Re: Rails deployment[ Go to top ]

    OOHHHHH. Applications where there are no "domain" objects to map the relational model to. So why did you ask "what" earlier for?
    The phrase "What would like like to apply it to" doesn't make sense to me. As a prolific typoist I would normally try to interpolate but I am unsure of what you meant. My best guesses don't make sense to me in the context of our conversation.

    But again and again I see people create a class with nothing but private variables and getters and setters in order to hold rows of data from a table.

    Probably cause they thinking DTOs. But to be honest, having things in a bean is much better than passing recordsets around and dealing with them in their raw format EVERYWHERE. Been there. Done that. The same goes for XML, at least the dealing part.
    I find myself maintaining an application that executes a stored procedure and maps the result rows into a bean. Then the bean fields are written to xml and the bean is garbage. The bean is completely extraneous. It adds no value and means that every new implementation of this kind of operation will require some code to be written and deployed.
    Yeah. Wouldn't want to code anything in an application. :) Seriously, how does it limit you?
    We have another application in it's second design cycle. The idea is to create a consistent interface for users to configure the hundreds of tables containing codes and options and other business specific things that change all the time. The original implementation uses Cayenne, which is like Hibernate, just crappier. One of the main goals was to make it very easy to create new screens because the development team has has been bogged down with the maintenance of these tables and their interfaces. The problem is that Cayenne requires a new class for each screen and a bunch of XML and other developer tasks. In effect, Cayenne defeats much of the purpose of the tool. Now we are in the second design and I believe it will be built on Hibernate. I don't really see that the fundamental issue will be solved. Unless I'm mistaken, you still need at at least a bean (just like Cayenne) and usually some XML. I developed a prototype of an application to do the same thing where new screens did not require any new code. The screens were added purely through configuration. But we are not going with that approach because Hibernate is what is used to develop Java database applications. As to the rest of your response. I'm not sure what you are arguing about. Hibernate has a specific problem space that it fits into well. My point is that it's considered a one-stop solution for any database connected application. Any suggestion that this is not the case goes against what I see on a daily basis. I think there are many Java developers who already cannot write a Java database application without Hibernate and the numbers will surely grow.
  21. Re: Rails deployment[ Go to top ]

    The phrase "What would like like to apply it to" doesn't make sense to me. As a prolific typoist I would normally try to interpolate but I am unsure of what you meant. My best guesses don't make sense to me in the context of our conversation.
    I meant to type: "What would you like to apply it to?" Sorry, but I am a little under the weather. And my fingers don't always obey my mind when I am well. :) As for the rest, I'll stop hassling you. I agree that different situations require different tools. I'll only just add - stop blaming the tool and start blaming the developer.
  22. Re: Rails deployment[ Go to top ]

    The phrase "What would like like to apply it to" doesn't make sense to me. As a prolific typoist I would normally try to interpolate but I am unsure of what you meant. My best guesses don't make sense to me in the context of our conversation.

    I meant to type: "What would you like to apply it to?"
    OK, that was my best guess but I don't really understand the question. I wouldn't like to apply it to anything other than what it best applies to. The problem is what other users want to apply it to.
    Sorry, but I am a little under the weather. And my fingers don't always obey my mind when I am well. :)
    I figured that or that you were drinking. Either are acceptable excuses in my book ;-) But I type nonsense all the time. I didn't mean to give you a hard time about it. It's a stupid thing to call out, especially since I do it all the time.
    As for the rest, I'll stop hassling you. I agree that different situations require different tools. I'll only just add - stop blaming the tool and start blaming the developer.
    I never meant to blame the tool and I apologize if I gave that impression. I guess I was being needlessly provocative. I think Hibernate is a pretty good tool. What I get tired of the silver bullet mentality in software and IT. Everything is the ultimate solution to all the problems caused by the previous ultimate solution. I wish critical thinking was as popular as Hibernate.
  23. Re: Rails deployment[ Go to top ]

    I figured that or that you were drinking.
    Even when I am not under the weather typing is tough. My mind is always WAY ahead of my fingers. You should see me draw diagrams. :)
    I wish critical thinking was as popular as Hibernate.
    Me too. BTW, that was the point of most of my post - lack of thinking or the ability to even do it.
  24. Re: Rails deployment[ Go to top ]

    I think that hibernate is a pretty good solution for one specific type of problem

    Yeah. ORM. It isn't good for making cheese sandwiches.
    Maybe Ruby programmers are good at making cheese sandwiches. That would explain the increase in employment opportunities. Every development team gets hungry.
  25. Re: Rails deployment[ Go to top ]

    Every so often I mention this in the hopes I will dredge up some interest and get some help. No luck so far.
    Hi James, I'm interested in hearing more about your idea. My time is limited but I may still be able to contribute. I don't want to side-track the thread too badly but let me know if you'd like to pursue this further and a means of contacting you outside the thread.
  26. Re: Rails deployment[ Go to top ]

    Every so often I mention this in the hopes I will dredge up some interest and get some help. No luck so far.


    Hi James,

    I'm interested in hearing more about your idea. My time is limited but I may still be able to contribute. I don't want to side-track the thread too badly but let me know if you'd like to pursue this further and a means of contacting you outside the thread.
    Do you have a SourceForge login?
  27. Re: Rails deployment[ Go to top ]

    <blockquoteDo you have a SourceForge login?</blockquote> Yes I do: pugmagoo.
  28. Re: Rails deployment[ Go to top ]



    Yes I do: pugmagoo. I'll send you a message later today. Thanks.
  29. Re: Rails deployment[ Go to top ]

    Sheesh! So stop talking and start coding. If you have a better idea, put it out there. IT is very easy to claim "Hibernate-mania" as an excuse for potentially having nothing to offer.

    You thinking everyone else is stupid and save us from ourselves. Put your awesome software out in the light of day.


    I've already coded it but I don't own that code. I'd have to really do it again to make it open source. That might not be such a bad thing because I would likely improve it in the process. The problem I have is that there are two other open source projects that I have commitments to in addition to my day job. There's only so much time in the day.

    Every so often I mention this in the hopes I will dredge up some interest and get some help. No luck so far. I'll probably do it anyway, especially if I change jobs. It's just a matter of finishing some other things that I have started.

    I don't think everyone is stupid. I think that hibernate is a pretty good solution for one specific type of problem. What I disagree with is the notion that Hibernate is a wholesale solution that replaces SQL.
    Well, I think we all agree that Hibernate can't replace SQL. To be honest, I don't think I've ever interact with anyone who thought that. Perhaps you should write an blog and submit it to TSS. I found out about J2EE without EJB here and that's how Spring started. Rod had code in his book and people were interested in him releasing it. I took advantage of some of the items he offered up that were in Spring, but released a good year before Spring 1.0.
  30. Re: Rails deployment[ Go to top ]

    Well, I think we all agree that Hibernate can't replace SQL. To be honest, I don't think I've ever interact with anyone who thought that.
    I have. I can believe that you have not, but I've been directly attacked for even suggesting that one might forgo Hibernate and use SQL in a Java app. I think a lot of this comes from the fact that the JDBC APIs, while highly useful, are too procedural.
    Perhaps you should write an blog and submit it to TSS. I found out about J2EE without EJB here and that's how Spring started. Rod had code in his book and people were interested in him releasing it.

    I took advantage of some of the items he offered up that were in Spring, but released a good year before Spring 1.0.
    That's an idea I hadn't considered. Honestly, I'm a little shy about it. I've gotten kind of dependent on this tool and how quickly I can build apps using it (more improvements need to be made) but I keep wondering whether it has a fatal flaw. I guess I'll have to just take a risk.
  31. Re: Rails deployment[ Go to top ]

    Well, I think we all agree that Hibernate can't replace SQL. To be honest, I don't think I've ever interact with anyone who thought that.


    I have. I can believe that you have not, but I've been directly attacked for even suggesting that one might forgo Hibernate and use SQL in a Java app.

    I think a lot of this comes from the fact that the JDBC APIs, while highly useful, are too procedural.

    Perhaps you should write an blog and submit it to TSS. I found out about J2EE without EJB here and that's how Spring started. Rod had code in his book and people were interested in him releasing it.

    I took advantage of some of the items he offered up that were in Spring, but released a good year before Spring 1.0.


    That's an idea I hadn't considered. Honestly, I'm a little shy about it. I've gotten kind of dependent on this tool and how quickly I can build apps using it (more improvements need to be made) but I keep wondering whether it has a fatal flaw. I guess I'll have to just take a risk.
    What's interesting is that I ran into people who didn't want to use Hibernate. I worked with a guy who blamed it for performance issues. I looked at his code and he had a loop where the number of items depended on the return set. However, in the loop he had a "List counties = counties.getAll()" There were 3000 counties and it took about .5secs to retrieve them. However, when you had say 600 returns, this would pull the counties 600 times, which accounted for the inability of his search code to scale. It took 2mins to fix. I think your guys and this guy were the same. In his case, when Hibernate wasn't safe, he would blame it. In your case, it is safe, but perhaps not appropriate the same personality type, the safe person wants to put it anyware. As for your code, there are some tough people out here, but I would say put it out there, say what it is and what it isn't. There are many tasks for which Hibernate isn't a good fit. I wouldn't use it if I had to process tens of thousands of results or batch DB stuff. To me, not a good fit. I found some exception handling code that I still use from 2003 because it did the trick and made me look smart. Who wouldn't want to look smart?
  32. alternate to Hibernate[ Go to top ]

    I'm interested. Perhaps you could give a code sample, a couple diagrams, and some notes.
  33. Re: alternate to Hibernate[ Go to top ]

    I'm interested. Perhaps you could give a code sample, a couple diagrams, and some notes.
    It's a little more than I can put in a post. The concept is fairly easy to understand but the implementation in Java takes a good bit of code. But here's the idea: an interface that has a single method that accepts a single row of a result set. This interface is implemented by the developer to do the application logic for each row. The developer needs to do only two things: specify queries and use the results. All resource allocation and optimization is done behind the scenes, generally through configuration. This solves the main issue that I've run into with JDBC. Everywhere I've worked, I'm finding leaked database connections. Along the way there are some other things I've found that this design allowed me to do, e.g. create a query once and use them indefinitely (weeks, months, years, ...). Just keep a reference to the query and the underlying API will make sure that it's always valid even if the underlying connection is changing over time. I'm considering the suggestion above that I create an article about this. However, the amount of effort needed to make this generally useful is substantial and I feel that building an open-source library would be more useful. I'm also considering talking to management and see if they would consider allowing me to take what I've already done open source. If you are really interested in working on something like this, I can forward you some details outside of these forums if you give me some way to contact you privately.
  34. Re: alternate to Hibernate[ Go to top ]

    I just noticed that Spring JDBC has some strong parallels to the API I have developed. There are some important differences and I'm not sure I'm ready to abandon my ideas but at least I know I am not nuts.
  35. Re: Rails deployment[ Go to top ]

    I think JSF is unjustifiably criticized. It provides a model for developers to work that brings the web development closer to what development in a standalone application is. We don't need to think in terms of request and response when developing in JSF, and that's a good thing.
    http://crazybob.org/2006/05/javaone-google-web-toolkit-vs-jsf.html I like above Bob Lee's definition for JSF: it's a middle term between conventional web development(request/response based) and rich component development. But IMHO it's awkward due to it's pretension to be a rich component, but still has the quirks of web 1.0 req/resp, and somewhat mixed those things up. Yes, you must know the request/response semantics when working with JSF, otherwise things could be messed up when doing more complex constructions or even basic web trips(page navigations, links, etc). Rgrds, JV -- julioviegas.com
  36. Re: Rails deployment[ Go to top ]

    Yes, you must know the request/response semantics when working with JSF, otherwise things could be messed up when doing more complex constructions or even basic web trips(page navigations, links, etc).

    Rgrds,
    JV -- julioviegas.com
    You must know it in the same way you must know what RAM is, but that's not in the way for you to accomplish your work. Navigating is easy enough just by associating actions to JSPs and returning where to go to after executing a method bound to some component. Where is the request/response here?
  37. Re: Rails deployment[ Go to top ]

    Well, given the fact that JSF spec doesn't know AJAX, you can't do minor server trips with *pure JSF*, you must push the entire model data against the server over and over again. Also, every return from the model(backing beans) accomplishes a whole new view(jsp with jsf tags) rebuilt, so the programmer *must again* make available the entire backing bean data, as it normally lives in request scope(which life cycle is only a req/resp trip). All this because of req/resp model, which JSF spec is in fact based, and the programmer must be aware of. So, JSF doesn't offers desktop-like development paradigm like AJAX-based frameworks does. Rgrds, JV -- julioviegas.com
  38. Re: Rails deployment[ Go to top ]

    Well, given the fact that JSF spec doesn't know AJAX, you can't do minor server trips with *pure JSF*, you must push the entire model data against the server over and over again. So, JSF doesn't offers desktop-like development paradigm like AJAX-based frameworks does.
    JSF isn't trying to offer a desktop-like development paradigm. It's offering a complete component model. Incidentally, the first paragraph you offer here isn't exactly true: lots of JSF frameworks offer partial updates now. Come on, man, it's not 2004 any more... even for JSF.
  39. Re: Rails deployment[ Go to top ]

    Well, given the fact that JSF spec doesn't know AJAX...
    Incidentally, the first paragraph you offer here isn't exactly true: lots of JSF frameworks offer partial updates now. Come on, man, it's not 2004 any more... even for JSF.
    Did you tried coding Javascript with JSF in early days? I tell you, JSF component state and Javascript just don't mix very well. Also, I was talking about spec, not extensions. Maybe those new JSF implementations can save JSF. But I wonder if those fundamental design mistakes(there's no AJAX, component state, XML) doesn't set it as a second-class java web framework.
  40. Re: Rails deployment[ Go to top ]

    Well, given the fact that JSF spec doesn't know AJAX...
    Who is talking about AJAX? JSF does provide a way of development closer to what a standalone application is, i.e., event based. You just bind methods to buttons and execute whatever needs to be executed for that specific button. In this model you aren't worried about retrieving parameters from the request, doing some processing and then return the response and this is the typical concerns of a request/response based framework such as Struts.
  41. Re: Rails deployment[ Go to top ]

    In this model you aren't worried about retrieving parameters from the request, doing some processing and then return the response and this is the typical concerns of a request/response based framework such as Struts.
    I think you should learn Struts properly. Struts, as is JSF, provides a memento for backing JSP screens, it's called FormBean for Struts and Backing beans for JSF, you don't need to deal with request parameters. Also, both frameworks provide navigation by configuration models. The only thing different here is that JSF contains a bloated component model and pretend to be a rich model component for web. As for AJAX, I think that is a model tah fits better for web development.
  42. Re: Rails deployment[ Go to top ]

    I think you should learn Struts properly. Struts, as is JSF, provides a memento for backing JSP screens, it's called FormBean for Struts and Backing beans for JSF, you don't need to deal with request parameters.
    Yes, you do and you are the one who doesn't seem to know Struts. You have something called an "execute" method in Actions which receives a HttpServetRequest and HttpServletResponse object among others. You receive them because the model here is request/response, i.e., you receive a request, do the processing and returns a response. Even if you don't store anything in the session you are still working in a request/response model. The FormBeans aren't the same thing as the backing beans in the JSF, because it requires the user to subclass another class. Backing beans are just beans with properties bound to components containing the values associated to them. A button pressed in Struts is not a component, but a standard HTML button. Therefore you can't work in terms of event based actions and must treat the "button pressed" inside of the execute method, and that's why Struts is a lot messier and requires a lot more work in order to get something done than it would in JSF. The distance between Struts and JSF is enormous.
    Also, both frameworks provide navigation by configuration models.
    Which in Struts is a hell. In JSF that navitation is directly tied to event triggered by buttons, in the Struts it follows the request/response model, where in the middle of the execute method something must be returned.
    The only thing different here is that JSF contains a bloated component model and pretend to be a rich model component for web.

    As for AJAX, I think that is a model tah fits better for web development.
    The component model for JSF is the one thing that enables a better way of development because then you can work with events and change the state of components programmatically. Well I think AJAX is just a fad, but nobody called that into question, what was questioned is the general ignorance of many regarding JSF and the impetus some feel in bashing it just for the sake of bashing it, without even knowing what they are talking about.
  43. Re: Rails deployment[ Go to top ]

    Well, given the fact that JSF spec doesn't know AJAX, you can't do minor server trips with *pure JSF*, you must push the entire model data against the server over and over again. Also, every return from the model(backing beans) accomplishes a whole new view(jsp with jsf tags) rebuilt, so the programmer *must again* make available the entire backing bean data, as it normally lives in request scope(which life cycle is only a req/resp trip).

    All this because of req/resp model, which JSF spec is in fact based, and the programmer must be aware of. So, JSF doesn't offers desktop-like development paradigm like AJAX-based frameworks does.

    Rgrds,
    JV -- julioviegas.com
    This is not correct. You can check (Apache Trinidad, IBM JWL, JBoss Ajax4JSF, DynaFaces ...etc). By the way, Adding Ajax support to JSF components is just a piece of cake now in 2008 :).
  44. Artful[ Go to top ]

    Dear Mr. Artful,
    Do you think JSF is a good technology?
    Yes. It is not perfect for every application. It is far from perfect. I prefer it to many other web frameworks. I find JSF easy and intuitive. I explain why here: http://www.ibm.com/developerworks/edu/j-dw-java-jsf1-i.html And here: http://www.ibm.com/developerworks/edu/j-dw-java-jsf2-i.html I plan on writing a series of posts that compare JSF to Struts 2, Struts 1 and Spring MVC. (The example code is already written. There are two examples written that are done with JSF, Spring MVC, Struts 1, Struts 2. Other stuff has taken precedence but I'd expect them pretty soon.) I tend to use Spring MVC for web application that are more like websites and JSF for web applications that are more like applications. I've heard good things about jQuery. So many technologies Flex, GWT, Guice, jQuery, Wicket, Seam, WebBeans... so little time.
  45. Re: Artful[ Go to top ]

    Do you think JSF is a good technology?

    Yes.
    Look at the different ways the technologies are promoted: If I want to learn Ruby and Rails, I watch a screencast of a guy build an application in Textmate. If I want to learn JSF, I register at IBM's site to read a white paper.
  46. Re: Rails deployment[ Go to top ]

    I started to learn Rails but after a while I could not figure out what they do with their Rail application when it is finished?! I mean they can not be running it on WEBrick for production, do they?! Is there really a reliable way to deploy a Rails application?
    There's always Mongrel...
    What about JRuby and leveraging Tomcat? Anybody has done that with Rails?
  47. Re: Rails deployment[ Go to top ]

    I started to learn Rails but after a while I could not figure out what they do with their Rail application when it is finished?! I mean they can not be running it on WEBrick for production, do they?! Is there really a reliable way to deploy a Rails application?
    WeBrick is only for development. For deployment you will have to use lighttpd.
  48. In other news...[ Go to top ]

    TSS readership has increased 500% over the past week (from 1 reader to 5). When asked for comment, Joe Ottinger, Chief Editor and curmudgeon said, "I dunno... all the Gridgrain articles must have done the trick." ;-)
  49. Re: In other news...[ Go to top ]

    TSS readership has increased 500% over the past week (from 1 reader to 5).

    When asked for comment, Joe Ottinger, Chief Editor and curmudgeon said, "I dunno... all the Gridgrain articles must have done the trick."

    ;-)
    Dude! You wound me! It's up to SIX readers.
  50. Re: In other news...[ Go to top ]

    Dude! You wound me! It's up to SIX readers.
    Hani doesn't count.
  51. Re: In other news...[ Go to top ]

    Dude! You wound me! It's up to SIX readers.
    Hani doesn't count.
    Hani doesn't read. I was, however, counting my rice krispies...
  52. Re: In other news...[ Go to top ]

    Chief Editor and curmudgeon said, "I dunno... all the Gridgrain articles must have done the trick."
    I think you meant GigaSpaces... "Unfortunately" GridGain doesn't get the same exposure on TSS :) Best, Nikita Ivanov. GridGain - Grid Computing Made Simple
  53. Re: In other news...[ Go to top ]

    I think you meant GigaSpaces... "Unfortunately" GridGain doesn't get the same exposure on TSS :)

    Best,
    Nikita Ivanov.
    GridGain - Grid Computing Made Simple
    Sorry, my bad. Maybe you can get Joe to contribute to GridGain too. Press +1. ;-)
  54. Re: In other news...[ Go to top ]

    I think you meant GigaSpaces... "Unfortunately" GridGain doesn't get the same exposure on TSS :)
    Best,
    Nikita Ivanov.
    GridGain - Grid Computing Made Simple
    Sorry, my bad. Maybe you can get Joe to contribute to GridGain too. Press +1. ;-)
    Ha! I don't contribute to GigaSpaces outside of being a normal user. As far as GridGain is concerned... come on, guys, I only have twenty-four hours in a given day, and I do want to do silly things like eating, sleeping, interacting with my children... GridGain is on my list of things to look into, but I just haven't gotten to it yet.
  55. 0 * 1.550 = 0 !!!!!
  56. Paul Beckford[ Go to top ]

    Hopefully this means that Paul Beckford will be too busy to bring up Ruby in every EJB, Spring, JPA thread.
  57. Re: Paul Beckford[ Go to top ]

    Mwahahahaha +1
  58. Percentages don't mean much when you start from near zero. The relative growth always favors the newly emerging vs. the established. That said. Ruby has grown. Kudos! However, the slope of Python growth is about 10% steeper for the same time period than Ruby's. PHP slope of growth was about 220% steeper than Ruby's. Double Kudos to Python. So if there is a revolutions, it seems it is more of a PHP, Python revolution.... not so much a Ruby revolution. Funny, I don't see the Python/PHP guys posting on all of the Java forums, that Java sux and PHP rulez. Note: If you compare pure relative percentage growth rather than totals, Groovy does quite well. I'd imagine it will do much better in a year since Groovy has some decent IDE support (Idea) and added Java 5 features not to mention growing Grails interest. Of course the hype was not just about Ruby was it? It was about Rails... how does it do? If you look at the relative growth: it grew 6,000% starting at near 0 in Sept 05.!!! Again this largely due to that fact that it started at near 0. For example, the actual slope for JSF growth was larger than Rails. (Not that JSF is a direct competitor b/c its not.) 0.0001 to 0.042 vs. 0.016 to 0.08. Of course this is just one Java web framework and not the largest one. I don't see anyone posting in every Java web framework forum and mailing list that "JSF rulez and your legacy framework blows!" either. Hey to all the guys working with Rails and Ruby because you love it: Keep on keeping on! I am glad you found something you love. I still prefer the Java world. I like the IDEs, OS projects, and the language. In the end, in ten years, 15 years, 20 years from now, who will care about this. We likely won't be programming in Ruby or Java. Ruby and Rails brought a lot of conversation and ideas into programming languages and framework development. Kudos to the Ruby guys!
  59. Newspaper Article[ Go to top ]

    Funny, in Monday's "Austin American-Statesman" (Austin, TX local rag) there was a big article titled Austin Jumping on Rails. I kind of smirked when the first line called it a "software programming phenomenon". The thing that struck me most about the article was how it focused only on development speed:
    "It has an incredibly fast development time," Abel said. "I can literally walk over to a developer's desk and say 'What if we wanted to do this?' And he'll go 'Let's try it.' Then he just types it in and refreshes his browsers, and that's it. There's just no wait time. It's really easy to try a lot of different approaches very quickly."
    We used to call that prototyping :-). Now they just hit the publish to production button I guess. I'm not really knocking rails as much as I am laughing at "development speed" being the primary concern when adopting a new technology. I really want to read more about big rails successes before I can feel comfortable with the framework. Oh, BTW, I'm assuming that most of the ruby growth is due to rails.
  60. Re: Newspaper Article[ Go to top ]

    Q: Could Google have made a fast search engine using only the Java language? I doubt it. Fast prototyping is important.
  61. Re: Newspaper Article[ Go to top ]

    Q: Could Google have made a fast search engine using only the Java language?

    I doubt it. Fast prototyping is important.
    What makes you believe that the development of Google's search engine required fast prototyping? I'm not saying it didn't; I have no idea if it did. It just seems like an unsupported assertion. I also don't think the point was to knock rapid prototyping but to question the idea that prototypes are production ready. Personally I think a lot of the slowness of Java development comes from approaches that developer impose on themselves more than the language itself. For example, it's really no a requirement that every solution in Java be centered around one or more JavaBeans but it seems to me that a lot of Java developers don't even realize it's an artificial constraint. There are definitely benefits to dynamic languages but we tend to compare apples to oranges.
  62. Re: Newspaper Article[ Go to top ]

    Q: Could Google have made a fast search engine using only the Java language?

    I doubt it. Fast prototyping is important.
    Fast prototyping is not what I was critiquing. I use paper and a pencil which is even faster than Rails and has the benefit of not locking in the design to a particular technology or components inside that technology. I was critiquing that "development speed" was the most critical consideration when picking a technology and framework, which the article I supplied seemed to support. My opinion, and admittedly it could be out of date with rails advances, is that Rails seems to have a great, but limited, sweet spot. If you are starting fresh with a new project and database requirements and your website doesn't have to scale to zillions of users and server stability isn't that much of a concern then Rails may be the ticket. That may sound like bashing but I bet there are thousands of IT projects and small websites where that would fit fine. But, until I hear of rails successes in areas other than that sweet spot I couldn't recommend the technology over something more proven, like boring old Java. I don't think these statements are all that controversial. If you have links to whitepapers where Rails has improved beyond it's original sweet-spot and has been adopted to run larger websites then please let us know. I actually like Ruby to a point and would love to do a "real" project with Rails but it doesn't quite seem to fit into the jobs I'm on yet.
  63. Re: Newspaper Article[ Go to top ]

    Rails seems to have a great, but limited, sweet spot. If you are starting fresh with a new project and database requirements and your website doesn't have to scale to zillions of users and server stability isn't that much of a concern then Rails may be the ticket.
    I agree. No technology is a silver bullet - even Cheeseburger in a can: http://gizmodo.com/350091/cheeseburger-in-a-can-is-both-the-best-and-worst-thing-ive-ever-seen
  64. Re: Newspaper Article[ Go to top ]

    Rails seems to have a great, but limited, sweet spot. If you are starting fresh with a new project and database requirements and your website doesn't have to scale to zillions of users and server stability isn't that much of a concern then Rails may be the ticket.


    I agree. No technology is a silver bullet - even Cheeseburger in a can:

    http://gizmodo.com/350091/cheeseburger-in-a-can-is-both-the-best-and-worst-thing-ive-ever-seen
    Time to quit enterprise development and become a food importer...
  65. Re: Newspaper Article[ Go to top ]

    I'm not really knocking rails as much as I am laughing at "development speed" being the primary concern when adopting a new technology.
    IMHO, "development speed" may not be the primary concern when adopting a new technology, I'd go with "maintainability" on that one, but it's definitely a major concern. For example, if the end-user is looking to beat his/her/their competition to market, it has to be. I think the majority of developers tend to forget that we are in the "business" of software. And, "better, faster, cheaper" is what it's all about. Orlando