Ruby seems like a great programming language to learn as your first, but it also has disadvantages. In this blog post, I will tell you more about those disadvantages, which I call “Reasons not to learn ruby.”
Java and PHP are older. They have been around for a long time, widely used in web development. However, in our society of technologies updating every day, getting replace with new technologies, it would be unfair to speak about the two giants like PHP and Java closing the way for Ruby. The core team of Ruby has been learning on the mistakes that the developers of other programming languages had made in the past. Matsumoto was able to adapt and adopt modern solutions, which did not quite work with fragmented PHP followers. There is no way we can in today’s world judge technology by its age.
Java and .NET are better in performance. In fact, Ruby is not only performing slower than Java and .NET, but also Lua, C++, and Erlang. The thing here is that web development is not only concentrated on the performance part of the website. It is about the performance part of the developer, who has to code the website, test it, release it, and then rinse it and repeat the process quickly. The developer should focus on how to launch his application faster rather on how much traffic it is going to engage.
Ruby is no good for Windows. Or maybe Windows is no good for Ruby? Ruby was initially designed for *NIX, and only later transferred to Windows also. Windows is not so great when it comes to Open-Source Web development. So it is not the best ides to try matching the two things that were just not made for each other. Instead of complaining that Ruby does not work on Windows, just go ahead and install Linux.
Ruby community is snobbish. There are so many developers in the world, with all sorts of views, opinions and backgrounds. I would not say that the majority of Ruby community members are snobbish. On the contrary, the forums and discussions I have participated in were friendly and inviting. Ruby is a young programming language and many technologies adopt it early, which means that the life of Rubyists is easy when they have to do tests, integrations, deployment, etc.
Ruby is opinionated and does not allow free thinking. In fact, Ruby does not take any freedom of opinion from developers, but gives them clear coding standards, which allow them to focus their attention on other aspects of their projects. The goal of Ruby is to reduce those useless lines of code and make coding more clearly and less confusing, more enjoyable and less work. The programmers do not have to do such repetitive thing as asset minification or concatenation. It is strange to accuse Ruby of taking a developer’s freedom. It is the language that allows the programmer to make changes anywhere, at any time and of absolutely anything. Ruby indeed makes web developers more productive in their work also letting them be imaginative and creative.