Ruby是一门典型的面向对象的,灵活的,动态的,性能较差的语言。
Ruby的初衷是让程序员更快乐,那么背后显然要在性能上作出让步。
用完C++和Java,再用Python,会觉得Python很灵活。但用完Ruby后,就会觉得Python也就那样,不怎么灵活了。灵活是有代价的,需要额外的内部判断和处理,性能上有抵消和损失,同时也带来了很多困惑。
越熟悉Ruby越有意思,动态的特性让其可以深入的修改自身,比在内置的String类上面添加一些方法。
它本身更为抽象,更高层。但是性能有点差,感觉性能弱于Python,更不用说Node.js和Java等语言了。
具体使用还是根据实际情况挑选语言,每一种语言都有自己的优势和劣势,有自己擅长的领域,有自己固定的使用模式。
使用了Rails一段时间,简单的请求,测试环境响应时间在100ms以上,高a于100ms,部署在生产环境后稳定性差,经常莫名其妙的无响应。内存占用比较高,简单的电商应用,没有什么浏览的情况下,内存占用在100M以上,通常是百兆级别。
所以,Ruby并不适合用来写一些高性能的服务。
它优势在默认的库中有一些内置的好用的高级的方法,比如Array中的排列和组合方法,这可以让我们轻易的实现一些算法和逻辑。再比如String类中也有很多高级的方法。
所以可以用它来进行算法测验,由于比较简单,可以用来写伪代码和小测试。