Let's see how I reach the conclusion from the successful platform.
Java
- Cross-platform
- Language of C family
- Huge number of libraries
- Backed by big corp
- Excellent Javadocs API
- Nice IDEs
- Support multiple languages
- Medium size .Net libraries but able to talk with legacy DLLs
- Backed by big corp
- Very nice MSDN
- Very nice IDE
- Cross-platform
- Morph from C family
- Large size of libraries
- Interactive PHP Manual (i.e. users can add the comments providing examples, tricks, etc)
Java and .Net have the advantages because they are backed by big corporations and they have the resource to get the documentation written nicely. PHP does not have the financial advantage but it starts off very simple at the beginning. Documentation can be written and updated bit by bit.
Now, Ruby is not a language belongs to C family. I believe that the size of the libraries cannot be larger than CPAN. The library should be well written. However, it does not have a nice IDE. It does not have big corporation support. It only has a framework letting programmer to get the easy job done. As I mentioned in the first paragraph, the framework can be written in Java/PHP easily. It is not a good advantage. Is it going to success?
Alternatively, I think Java and server-side JavaScript (Rhino engine) can have the synergy. Simply speaking, RoR reads database and generates the data model, the controllers, and the views. Java can read the database (from MySQL to Oracle) to generate the data model and the controllers in JavaScript (for the sake of flexibility) and use a template engine (JSP, Velocity, Freemarker) to generate the view. Since ALL web programmers know JavaScript already, they can REUSE what they have already known. With some simple documentation to let the programmers know how to get the job done, it is very easy to get adopted.
P.S. JavaScript success factors:
- Cross-platform
- Language of C family
- Large size of libraries (esp. after the AJAX boom)
- No official documentation but references are just a click away from the search engine