我听说过两种语言,但我不知道哪一种是更好的,或者如何喜欢一种,特别是clojure是新的不知何故.
任何人都可以帮助我,为什么要选择其中一个呢?
谢谢.
解决方法
它有一个非常好的package distribution system,和一些工具,使实用的Web开发在各个层次轻松.
在你拥有的重量级Web框架中:
> Rails,你一定听说过.这可能是当今大社区和智能设计之间最好的妥协之一.另一个在我看来是django,但它是一个python框架
> Merb,这是一个较轻的替代品,在完整的框架部门
而且您有一些较轻的那些,如Sinatra,这可能是我见过的最优雅的小型网络框架之一,或Camping,这是一个很小的,非常有趣的使用.
这仅仅是个开始.无论是ORM,模板引擎还是其他任何您想要与网络相关的内容,您都拥有大量的质量选择.
在红利的消极方面:
>这是一种非常密集的语言,有很多东西要学习,并且具有“魔法”结构的明显倾向.它是相当美丽的,但它是远离最简单的语言.
>很慢如果你想做任何需要表演的东西,ruby可能不是你需要的语言.这可能或可能不是一个问题,取决于你想要做什么
>它没有像“网络编程”一样多的“常规编程”库,尽管显然也不是沙漠.像python这样的语言,如果你退出了Web编程,就有更广泛的库.
Clojure是一个完全不同的野兽.这是一种非常新的语言,它是完全功能的.如果你以前从未以功能性的方式进行编程,这可能是一个范式的转变,这将使您在一段时间内的生产效率降低,但是您几乎肯定会在此过程中学到很多东西.
它也是一个lisp,就像功能编程一样,它可能意味着很多新的东西要学习,但在过程结束时有很多启发.
这是一种非常优雅的语言,拥有一个非常有活力的社区.它也比ruby快得多,而且仅1.2版的版本变得越来越好.
所以积极的一面:
>这是一种聪明的语言.包含很多有趣的想法,特别是关于并发.它不是面向对象的
>动态语言速度快
>它运行在JVM上,并具有非常强大和易于使用的互操作系统与Java.这基本上意味着你拥有整个Java生态系统.
在消极方面:
这是非常新的.这本身并不是一个缺点,而是您可能遇到的其他麻烦的原因.
>它有很少的综合和思想图书馆.这是我看来最有害的一点.你基本上拥有在java世界中需要的一切,但解决方案可能是丑陋的.您可能希望在此过程中编写自己的包装库,但这需要时间.
>这不是你所知道的一切.它不是面向对象,并不是必须的,它没有什么像古典C语法.因此,根据您的其他语言体验,可能需要很长时间才能学习
所以总结是:
如果你想在一个非常舒适的环境中学习新事物,同时有可能通过利用成熟的图书馆快速构建东西,选择ruby.
如果你想学习更多的新东西,你不介意在全新的领域,最终花更多的时间来做事情,而且你想参加一个社区,可能正在修改我们对程序设计思考的方式在进行黑客攻击和玩乐的同时,选择clojure;)