Is the ROR used only in startups or also in bigger companies as well?
What should be the reasons of their preference of Java over ROR?
Is the ROR used only in startups or also in bigger companies as well?
What should be the reasons of their preference of Java over ROR?
There are a lot of reasons why large multinationals prefer Java, C++ or .NET developers. For one thing, their systems were set with a platform using one of those languages before Ruby came along (same will hold true for Python in many respects). They also know that computer science departments train Java and C++ programmers, so there is a larger pool of potential applicants to hire from. These are basically the forces of inertia at work in large multinational firms.
There is also the issue of support. Java, especially Java EE, is supported by huge firms with mega budgets and a whole industry of training schemes. As is .NET. What about Ruby? People are still asking around on this forum for books about Ruby or how steep the learning curve is.
You and I probably agree that when it comes to developing web apps from scratch, ROR is the right tool for the job. However, if I were a CIO at a large multinational, I would see no benefit in switching my army of developers to a whole new language and framework. Nor could I sell that to my boss.
I would suggest you to visit this page on Quora
. There are many answers which would give you an explanation.
The most appropriate answer on Quora is:
Ruby is often seen as a solution for when you need something fast (and quick and dirty). It also is seen as lacking scalability for large systems.
Large companies typically are not after "quick and dirty" or after the time to market that a quicker solution would provide. The large company is not going for a cycle from design to release in a matter of weeks and is more often on the time from design to release on the order of months (sometimes years).
One advantage of ruby is the smaller technology stack necessary to go out. It is quite similar in that respect to php+mysql for a web app. The large companies are more likely dealing with an already existing (for example) java+weblogic+oracle stack that has been in place for a decade. There is no advantage for the large company to switch to something smaller when they already have the larger stack in place.
That's my impression as well: ROR is used more by startups, Java in big companies.
First of all, different languages have strengths/weaknesses for different applications. Ruby is a language; Ruby on Rails is a framework for creating web apps. C++ isn't very suited to web apps, the only one I know of in C++ is ok cupid. C and C++ are for high performance apps, e.g. databases, operating systems, what's generally referred to as "systems programming."
People often feel that dynamic languages like Ruby are harder to scale to lots of programmers or complicated programs, because of the lack of compile time checks.
Similarly, large companies are very conservative, so they're happy to slow down developers by having them write lots of boilerplate, as long as things mostly work in the end.