我想学习一门新的编程语言,我想知道两者之间的区别是什么,除了一个是基于 Ruby 的框架,一个是实际语言。两种语言的局限性是什么?
1 回答
Ruby 是一种脚本语言,Python 和 Perl 也是。
Ruby on Rails 是基于脚本语言 Ruby 构建的 Web 应用程序框架。
Ruby on Rails 使使用 Ruby 语言编写使动态数据库驱动的网站(如 wiki 或社交网站)工作的东西变得容易。
Rails(不是 ruby 本身)以成为“有意见的软件”而自豪。
这在实践中意味着 Rails 的作者有一定的目标受众(基本上是他们自己),并专门针对该目标受众。如果该目标受众不需要 X 功能,则不会添加它。
在我的脑海中,rails 明确不支持人们可能关心的事情:
- 数据库中的外键
- SOAP Web 服务(自 rails 2.0 起)
- 一次连接到多个数据库服务器
也就是说,使用插件扩展 rails 非常容易,并且有一些插件可以将上述所有功能添加到 rails 等等,所以我不会将这些视为限制。
唯一需要注意的是,rails 是围绕使用 MVC 创建 CRUD Web 应用程序的想法构建的。如果您尝试做一些不是 CRUD Web 应用程序的事情(例如 twitter,它实际上是一个消息传递系统,或者如果您很疯狂并且想要使用像 ASP.NET Webforms 这样的模型),那么您也会遇到问题。在这种情况下,您最好不要使用铁轨,因为您实际上是在尝试用自行车零件建造一艘船。
您遇到的问题很可能无法通过快速插件或一两天的编码来解决,这些问题都是底层 C Ruby 运行时的固有问题(内存泄漏、绿色线程、垃圾性能等) .