本文整理自知乎。
网站建设哪家好,找成都创新互联公司!专注于网页设计、网站建设、微信开发、小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了大田免费建站欢迎大家使用!
一句话总结
简单地总结:
语言的选择
编程语言非常重要,不要认为他们都图灵等价,用起来都一样。实际上,好的语言,带给你的东西是超乎想像的。
下面是一些看法:
如果能看完这些观点,相信你能猜出我的选择了 是的,Ruby是主流语言中我认为最出色的,最高的开发效率,最优雅简洁的抽象能力,最有才的社区(GitHub为中心),和最大的乐趣。
做为一个程序员,是应该去选取不同思路的语言去学习的,而且当然要选择最有代表性的语言,在编程的世界里,主流的思路其实就两种,一是结构化编程,一是函数化编程,面向对象只是结构化编程进化的一个阶段而已,其他各种各样的思路大多数是这两个的分支。
社区的创造力
选择一门语言要看这个语言社区的气质,以及你想用他做什么东西。
Mac 上可以运行那么多种语言,有很多人用 git。但却只有 Ruby 的用户开发出了 homebrew 这样牛逼的包管理系统,善用了 github 的诸多特性,真正的把每一个用户都变成了潜在的 repo 贡献者。我相信这绝对不是巧合。如果同样的条件摆在面前,你做出了一个全新的东西而别人没有,说明了你的创造力比别人要高。
作为 Python 的使用者,我觉得 Ruby 语法的优劣不太重要。但是从外部看 Ruby 社区近些年持续的向外输出一些从技术到开发上的理念,不断的有大大小小的很酷的项目从 Ruby 社区中诞生的出来。使得我觉得 Ruby 社区是一个很有创新气质的社区。因此如果你学编程是想做出一个很酷的东西,那么我强烈建议你直接学习 Ruby。
从Web 开发去比较
对于 Web 开发,这三种语言都能胜任,但是还是有不少区别:
入门语言还是应该选择一个比较严谨的,像Java,Python那样的语言比较合适,从 PHP 语言不太容易学到 OO 的思想和设计模式之类的东西,而这些对于一个优秀的 PHP 程序员来说也是很必要的。这里不是黑 PHP,每个语言都有自己的优点,比如 PHP 入门快,可以增加编程的信心,明白编程那点事后,可以触类旁通的接触其他语言。很多编程者就是从 PHP 入门的。
在编程学习里有这么一个现象:直接推荐 Python 的人,基本都没深入学习过 Ruby。学过 Python 和 Ruby 的人,基本都喜欢 Ruby。
具体使用什么语言,不是唯一的。根据场景是要分的。一个人至少是需要学习3种语言的:
关于Ruby
我觉得直接学 Ruby 也是不错的选择。
Ruby 或者说 Rails 的缺点或许就是学习的曲线太陡,我之前有过 MVC 的经验,上手RoR 还是花了三周的时间,或许也是自己接受能力不强吧,但更确切的问题应该在于 Rails 的惯用法太多:当然,我在用 ActiveRecord 拿数据的时候,可以写 find_by_sql(“blablabla”),但是细查 Rails 的文档,他是提供类似于 Joins.Group.Select 等等的方法的,姑且不论效率是不是真的会快点,少写一点 sql 在 .rb 的文件里面不是会更美一些么。再到后来,偶然又发现有 metawhere 这种东西,是不是又要忍痛抛弃既往学到的那一堆 works but not elegant 的东西,义无反顾的投身到 metawhere 的学习中。
当然,如果不追求完美,上手也没有这么恐怖。
关于Python
python的优势很多,比如:
当然还很多,具体还可以去看看 《Python的设计哲学》 这个 chapter。
小结
用什么语言不重要,最重要的是效率:开发效率和执行效率。PHP 语法很傻,一点都不炫,但凡是学过C、JS、AS等等语言的,很容易上手,因为语法上有很多重合的地方。很多人看不起 PHP,说 PHP 太简单的人,往往是因为对 PHP 本身不够深入了解,其实 PHP 里面的东西一般人用到的很少,5.3 以上的特性也慢慢让这种语言生动起来,你越是深入,就越能发现它的强大和优势。
这里仅仅列出 PHP,Python 与 Ruby 的一些情况,让读者更好地挑选学习的语言。
语言没优劣之分,Just follow your passion.
文章题目:再谈PHP、Python与Ruby
链接URL:http://www.mswzjz.cn/qtweb/news24/300224.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能