论坛首页 海阔天空论坛

谈谈我为什么要学习ruby on rails

浏览 35674 次
精华帖 (1) :: 良好帖 (0) :: 灌水帖 (2) :: 隐藏帖 (0)
作者 正文
   发表时间:2006-09-15  
ruby, python等流行。
type infererence不是重点吧。重点是动态,放弃编译期检查。

type infererence就是值类型的意思。变量类型不需要声明,根据赋值和使用的上下文推导出来。

Haskell, OCaml 这些语言也都是Type Reference。不需要声明类型,而是推导类型 (type interence)。
也没见它们流行。尤其是OCaml这样的工业强度的语言,速度几乎媲美C。
只不过,它们的type inference发生在编译期,而不是运行期。它们是静态,而不是动态。

可见,type reference不是重点。动态,放弃编译期类型检查,才是重点。

要说FP流行,现在已经流行了。Ruby, Python的很多语法概念都是FP过来的。map, reduce, filter, list comprehension, 之类。想OO就OO,想FP就FP。新的语言Scala之类,也都是OO, FP的混合体。对了,那个OCaml(MS port as F#)虽然是FP,却也带有OO语法。


末了,引用一段javaeye会员的经典名言,与大家共勉。

引用

真是烦你们这些人
以RUBY 为首,两年前我来这里看还在讨论哪个业务层,逻辑层,表现层,两年后还在讨论,再在我已经用。NET,现在从不讨论什么层了,直接拖标签,爽得很,效率也提高了,JAVA既没有IDE界面,也没有谁去为谁提升WEB服务器性能,亏了你们用JAVA开发系统,我估计肯定客户不满意,你们做得也辛苦

0 请登录后投票
   发表时间:2006-09-15  
buaawhl 写道

领先几年也没用啊,说到底,这主要不是技术先进性的问题,主要是一个流行时尚的问题。要说先进,很多人工智能领域论文还更先进呢


人工智能领域的东西未必都是先进的,它的大浪淘沙效应更加明显,流传到外界的基本上都是最后站住的。有很多东西热潮一退,也就那么过去了,比如人工生命这个分分支.相对于离现实比较接近的一些领域,人工智能的研究方向太发散了(当然诸如分词之类的实战性分支不算)
0 请登录后投票
   发表时间:2006-09-15  
根据Charon的多次发言总结,Charon对遗传算法,人工生命,自然语言分析,agent等AI领域比较熟啊。炒一炒?要不,炒一炒Prolog啥的?
0 请登录后投票
   发表时间:2006-09-15  
buaawhl 写道
根据Charon的多次发言总结,Charon对遗传算法,人工生命,自然语言分析,agent等AI领域比较熟啊。炒一炒?要不,炒一炒Prolog啥的?

对遗传算法,人工生命,自然语言分析基本停留在业余关心阶段,记得很早以前有个老美记者写了一本叫"混沌"的书,很有意思,看过这方面的一些资料。
prolog倒是挺不错的,记得以前和一堆人拿着个visual prolog开发程序,不过现在即便玩ai的也很少用这类东西了,毕竟20年前就已经熟透了(估计还是c/c++或者java的多一些). 10年前玩agent的人很多,现在也不知道了。给我的感觉,AI发展的过程中副产品奇多,其中的一些还对整个计算机产业产生过异常重大的影响,但是主要方向上的成果,少的可怜,或者基本上可以确认是没有明显进展,还在不停的发散性试错过程中
0 请登录后投票
   发表时间:2006-09-15  
jnzgy 写道
现在python的web framework非常热闹,发展也很快,不知道有没有可能异军突起、后来局上?谁能分析一下?


近期基本上没戏。长远来说也不乐观。即便最后rails趴下了,也未必是python的框架能够胜出。
不过现在ruby/rails在一个方向上有那么一点点像python/zope2的发展历程:monkey patch
不同之处在于,zope2中已开始是把这个当作patch手段的,后来慢慢发散,最后变得臭名昭著。而ruby/rails社区把这个当作一个开发策略,而且更为强大(再怎么说python也很难patch到内置类型,从对象角度来说比ruby的open class弱多了),实在是祸福难料.
现在感觉动态语言最大的一个不方便就是没有显式接口,但python标准中有这种抽象和实现相分离引入类似物的趋向,而在实际的大型项目中包括zope,twisted中都以某种方式引入了接口.
0 请登录后投票
   发表时间:2006-09-15  

混沌,非线性复杂系统。
我也看过一些。很不错。
0 请登录后投票
   发表时间:2006-09-15  
buaawhl 写道
ruby, python等流行。
type infererence不是重点吧。重点是动态,放弃编译期检查。

type infererence就是值类型的意思。变量类型不需要声明,根据赋值和使用的上下文推导出来。

Haskell, OCaml 这些语言也都是Type Reference。不需要声明类型,而是推导类型 (type interence)。
也没见它们流行。尤其是OCaml这样的工业强度的语言,速度几乎媲美C。
只不过,它们的type inference发生在编译期,而不是运行期。它们是静态,而不是动态。

可见,type reference不是重点。动态,放弃编译期类型检查,才是重点。

要说FP流行,现在已经流行了。Ruby, Python的很多语法概念都是FP过来的。map, reduce, filter, list comprehension, 之类。想OO就OO,想FP就FP。新的语言Scala之类,也都是OO, FP的混合体。对了,那个OCaml(MS port as F#)虽然是FP,却也带有OO语法。


末了,引用一段javaeye会员的经典名言,与大家共勉。



type inference可不是只限于推断变量类型,还包括方法接口类型。你扯动态语言干吗,动态又不需要类型声明,type inference是专门给静态语言用的。
0 请登录后投票
   发表时间:2006-09-15  

e, 没看仔细你和T1的评论的脉络。

T1 提到 dynamic type, type inference。
cookoo 说到 type inference。本意是,type inference 将会是下一个流行。
0 请登录后投票
   发表时间:2006-09-15  
你最后说的也算一个流行预测巴,就是FP和OO的融合。目前都还是太完美,不是侧重一个丢掉另一个的很多特征就是反过来。
0 请登录后投票
   发表时间:2006-09-15  
Dynamic Language 和Dynamic type是两个概念.
Dynamic Language不一定是Dyanmic type的.可以是Static Type的也可以是Dynamic Type的.type inference 对 Dyanmic Language有很大的好处,即方便书写有足够的灵活性,也能在编译期帮助错误检查.


0 请登录后投票
论坛首页 海阔天空版

跳转论坛:
Global site tag (gtag.js) - Google Analytics