学编程选什么语言好?是PHP、Python还是Ruby?_其它综合

简单地一句话总结:
1.假如你想帮他尽快找个活儿,赚到钱,推荐PHP。
2.假如你想让他成为一个高效工程师,推荐 Python。
3.假如你想让他爱上他的工作,推荐 Ruby。

语言的选择:

编程语言非常重要,不要认为他们都图灵等价,用起来都一样。实际上,好的语言,带给你的东西是超乎想像的。

下面是一些看法:

1.程序员的时间远比机器的时间宝贵:选择开发效率最高的语言吧,不要过于在乎运行性能,如果你开发不出东西,那么跑得多快也没用。

2.优雅的抽象胜于简单的堆砌: 这意味着你的代码是最简洁而又充满设计感的,面向对象,容易的闭包,一切都是表达式等等,而最好的抽象是语言本身能够分层,既能够书写语言的语言,比如 DSL 能力强弱是个指标。

3.才华横溢的社区胜过有难度的招聘:这种语言一定要拥有一个活跃且才华横溢的社区,只要使用她的人,就有一种自豪感和精英意识,在社区里的每个人都自认为比别人强。即使,你不那么容易招聘到程序员,但我们不都知道,一个有才华的程序员胜过100个平庸之辈嘛?选用这种语言,能保证团队里一起编码的每一个人,都是高手。

4.也是最重要的,乐趣胜过一切: 灵活,好玩,永远有新发现的魔术般的语言,只有你想不到的,没有你做不到的,对一个真正的hacker来说,这是选择语言唯一的理由,这也是 Perl 为什么能够长期存活的原因,因为她是 hacker 为 hacker 创作的。

如果能看完这些观点,相信你能猜出我的选择了 :) 是的,Ruby是主流语言中我认为最出色的,最高的开发效率,最优雅简洁的抽象能力,最有才的社区(Github为中心),和最大的乐趣。

做为一个程序员,是应该去选取不同思路的语言去学习的,而且当然要选择最有代表性的语言,在编程的世界里,主流的思路其实就两种,一是结构化编程,一是函数化编程,面向对象只是结构化编程进化的一个阶段而已,其他各种各样的思路大多数是这两个的分支。

社区的创造力

选择一门语言要看这个语言社区的气质,以及你想用他做什么东西。

Mac 上可以运行那么多种语言,有很多人用 git。但却只有 Ruby 的用户开发出了 homebrew 这样牛逼的包管理系统,善用了 github 的诸多特性,真正的把每一个用户都变成了潜在的 repo 贡献者。我相信这绝对不是巧合。如果同样的条件摆在面前,你做出了一个全新的东西而别人没有,说明了你的创造力比别人要高。

作为 Python 的使用者,我觉得 Ruby 语法的优劣不太重要。但是从外部看 Ruby 社区近些年持续的向外输出一些从技术到开发上的理念,不断的有大大小小的很酷的项目从 Ruby社区中诞生的出来。使得我觉得 Ruby 社区是一个很有创新气质的社区。因此如果你学编程是想做出一个很酷的东西,那么我强烈建议你直接学习 Ruby。

从 Web 开发去比较

对于 Web 开发,这三种语言都能胜任,但是还是有不少区别:

1.Ruby 的 rails 框架确实是称得上是快速开发的典范,但是 Ruby 的语法过于灵活,有些时候对同一个处理会有很多种不同的写法。

2.PHP 是老牌的网页脚本语言,相对其他两门而言比较成熟。PHP 虽然快速成型,但容易失控,尤其项目稍大的时候。

3.对于 Python 来说,由于自身的简约设计,可能应用的方面的更多,几乎是可以涉及到IT的各个方面,Web 只是它其中一个方面,而且有比较成功的杀手级应用,Youtube 就是用 Python 开发的,服务器的各种原来用 shell 或者 perl 的脚本,科学计算,游戏的脚本,甚至在桌面客户端上也能看到 Python 的佳作,如 UliPad,对于初学者来说 Python是个不错的选择,在这三者中它的语法是最简洁和清晰的,适合初学者学习。

入门语言还是应该选择一个比较严谨的,像Java,Python那样的语言比较合适,从 PHP 语言不太容易学到 OO 的思想和设计模式之类的东西,而这些对于一个优秀的 PHP 程序员来说也是很必要的。这里不是黑 PHP,每个语言都有自己的优点,比如 PHP 入门快,可以增加编程的信心,明白编程那点事后,可以触类旁通的接触其他语言。很多编程者就是从 PHP 入门的。
在编程学习里有这么一个现象:直接推荐 Python 的人,基本都没深入学习过 Ruby。学过 Python 和 Ruby 的人,基本都喜欢 Ruby。
具体使用什么语言,不是唯一的。根据场景是要分的。一个人至少是需要学习3种语言的:

1.一种是工作语言,比如C++,Java,PHP,这三种语言,是互联网的万能药,只要会了,工作是永远都不愁的,大型公司一般都会使用,用来开发一些大型项目。

2.一种是自己使用的语言,比如 Python,Ruby,当然,我也推荐 Ruby。我也用过 python ,后来因为工作需要,忍痛放弃了 Python,最后,竟然深深喜欢上 Ruby 了。然后就不再回头了,对于个人使用来说,是要非常注重开发效能的,一门语言,至少能用10年,如果自己选择的语言,可以在开发效能上超越其他语言十分之一,那么在十年内这种收益是非常大的。

3.还有一门是新语言使用,不必深入,但是一定要了解,这有助于比较不同语言的不足,才不至于成为井底之蛙。比如 Nodejs, Scale等。

关于 Ruby

我觉得直接学 Ruby 也是不错的选择。
1.本来 rails 框架就自带了 server,WEBrick。看着 Log 做开发效率非常高。

2.如果要部署的话,用 passenger 也是绝对方便。

3.Views 层的模板系统,ERB 应该比 Python 的各种要来得美,而且更加简单。之前用过 Django,觉得太重了。

4.Rails 可以让你不断的惊讶程序可以这样写的啊,我第一次看到有 7.days.ago 的时候惊掉了。

5.Rails强调一种DSL,一来符合人们的语言习惯、二来我觉得是一种编程语言的颠覆,我们并不是在用某个特定的语言(比如Ruby)来实现一个功能(就如同是用C还是用Java来写一个编译器),而是我可以在这些语言的基础上定义一种新的语言(类似于lex,yacc这样的词法语法生成器)。看看routes.rb的设置吧,能有多么惊讶,这是程序么,简直就是诗。美不只是在于内容,同样在于形式。

关于 Python

python的优势很多,比如:

1.语法简洁,无需编译。Python 语法简洁高效,一句话“人生苦短,我用 Python”啥都说明了,高效是 Python 的特点。

2.强大的数据结构。默认安装的Python开发环境已经附带了很多高级数据类型,如列表、元组、字典、集合、队列等,无需进一步编程就可以使用这些数据类型的操作。使用这些数据类型使得实现抽象的数学概念非常简单。

3.强制缩进,让代码自然显得有条理。

4.插件齐全,可以完成绝大部分的程序设计任务。
当然还很多,具体还可以去看看 《Python的设计哲学》这个 chapter。

小结

没有最好的语言,只有最合适的语言。
没有糟糕的语言,只有糟糕的程序员。

没有一种语言是万能的,只会一种语言是万万不能的。

用什么语言不重要,最重要的是效率:开发效率和执行效率。PHP 语法很傻,一点都不炫,但凡是学过C、JS、AS等等语言的,很容易上手,因为语法上有很多重合的地方。很多人看不起 PHP,说 PHP 太简单的人,往往是因为对 PHP 本身不够深入了解,其实 PHP 里面的东西一般人用到的很少,5.3 以上的特性也慢慢让这种语言生动起来,你越是深入,就越能发现它的强大和优势。

这里仅仅列出 PHP,Python 与 Ruby 的一些情况,让读者更好地挑选学习的语言。

语言没优劣之分,Just follow your passion.

时间: 2024-07-30 19:43:52

学编程选什么语言好?是PHP、Python还是Ruby?_其它综合的相关文章

学编程选什么语言好

问题描述 真心求教 解决方案 解决方案二:看你想干什么做手机就javac++之类做硬件就得学汇编什么的啊各有各的用处关键看你的兴趣在那想干什么解决方案三:java.NET学会一门就好咯!解决方案四:语言不重要解决方案五:学c++解决方案六:现在流行的其实吧能精通任何一门的话学那个都无所谓解决方案七:看你的目的啦...总的来说,接近底层的待遇肯定好点,尤其是在国外.底层的话就是汇编啦,c语言啦,都是做些核心的东西.如果你是要做那种嵌入式的,如手机程序开发啥的,那选择j2me不错的方向.不过对于ja

《从问题到程序:用Python学编程和计算》——1.2 Python语言简介

1.2 Python语言简介 本节将首先简单介绍Python语言的一些基本情况,包括其发展和使用的情况.而后介绍Python语言系统的安装和使用方面的基本常识.1.2.1 Python语言的发展和应用 Python语言是CWI(荷兰国家数学和计算机研究中心)的程序员Guido van Rossum在1989年开始开发的一种高级编程语言,当时的主要设计目标是希望能用于方便地管理CWI的Amoeba操作系统.后来,由于其各方面的优点而逐渐流行起来. Python语言现在由Python软件基金会(Py

编程趣事:当下流行编程语言的”讨厌”程度排行榜_其它综合

为了不引起编程人员的误解和开发语言之争,小编先声明一下,这个榜单统计的是跨语言开发者最讨厌的编程语言,主要讨论的是web开发,比如你最喜欢用php语言来编程,那么可能会对其他语言的某些特性看不惯.这只是每个编程开发人员就自己喜好的程度个人略带主观的看法,上榜的语言不代表这个语言不好,只是说明某些WEB开发者不太喜欢这个语言中的某些特性而已.欢迎在评论中说出你对某些语言的看法. 下面这个排名是根据 Quora.Stack Overflow和Hacker News上相关帖子统计出来的.并用倒序排序~

玩儿游戏也能学编程?12个学习编程的游戏化平台

近来人们日益认识到编程的重要性,并发现它逐渐成为简历上另一种不可或缺的技能.本文将会介绍一些有助于通过游戏化学习编程的教学平台. 基于以上原因,有越来越多关注未来趋势的人注意到了编程,也因此我们能看到,目前出现了许许多多旨在通过直观有益的方式教授编程的教学平台.为了达成目的,他们采用了游戏化的教学方式. ◆ ◆ ◆ Codecademy 订阅: 免费  语言: HTML/CSS, Python, PHP, Ruby, APIs, Javascript, jQuery 针对级别: 初学者 这个平台

我姐和我女友这样学编程:坚守五个原则

就像我前面日志里提到的,伊娃和芳来旧金山跟我学编程.在这篇博客中,我会介绍我是怎么教她们的,我构建教她们的方式的理由,以及这种方法是怎么起作用的.按时间顺序去列明她们所学到.做到的那些事儿很简单,但是,这没什么帮助,而且你也容易错过重点.重要的是要了解详情,以及为什么它管用,所以我将从基本原则来开始.做好准备,文章比较长. 在你的整个编程历程中,以下原则要牢牢记住: 1)传播: 在伊娃和方开始之前,我为她们创建了个博客.我告诉她们,记录下她们的编程之旅和她们所学到的.在开始的时候是很难的,你可以

《趣学JavaScript——教孩子学编程》——导读

前言 趣学JavaScript--教孩子学编程 欢迎阅读本书!在本书中,你将学习用一种Web语言(JavaScript)来编写程序.但是更重要的是,你将成为一名程序员,即不仅会使用计算机而且会控制计算机的人.一旦学会了编程,你可以让计算机遵从你的意愿去做你想做的任何事情. JavaScript是一门不错的语言,值得学习,因为它随处可用.诸如Chrome.Firefox和Internet Explorer这样的Web浏览器,都使用JavaScript.借助JavaScript的强大功能,Web程序

《从问题到程序:用Python学编程和计算》——导读

前 言 计算机诞生至今不过六七十年,但它已经改变了世界,改变了每个人的生活.人们每天都在与计算机交流(如智能手机),各领域专业人员的大量日常工作都需要使用计算机,从事与计算机相关工作的人们已经发展为社会上最大的专业技术社团.计算机的研究和应用.互联网和其他相关领域,还在不断呼唤大量熟悉计算机的专业开发人才.计算机科学技术的开发和应用能力已被广泛认为是国家竞争力的重要组成部分.因此,学习计算机科学技术知识,不仅是社会发展的需要,而且已成为个人的重要职业竞争力.然而,要深入理解计算和计算机,使其成为

《从问题到程序:用Python学编程和计算》——3.4 定义函数

3.4 定义函数 在最简单的程序中,可能只用到表达式.语句和几种控制结构.但是,仅限于这些基本机制,很难写出很长的解决复杂问题的程序.随着遇到的问题更复杂,我们必须组织好程序的结构,在语句层面之上的基本结构就是函数.一个函数包装起一段代码并给予命名,引进参数将其通用化.定义好的函数可以通过调用表达式使用,非常方便.学习编程的重要一步就是学习定义函数:理解为什么需要定义函数,学会识别编程中定义函数的需求,掌握正确定义函数的技术.本小节和下一章将集中讨论这个问题.3.4.1 为什么定义函数 实际中需

应届生应聘时选哪个语言作为自己的主要语言。。

问题描述 应届生应聘时选哪个语言作为自己的主要语言.. 九月就要加入找工作大军了..在学校c/c++,java都学过了. 现在想开始认真复习一门语言作为笔试面试的主要语言. 感觉c++和java学的差不多(还是java略好一点),平时用java也多一点(写算法和数据结构也爱用java)..本来打算用java的,但是结合学长的传授和最近看的指导书,他们更偏向c++..所以我也有点犹豫. 虽然我知道现在一般企业都有c++和java两套卷子可选,还是想求助一下万能的前辈们,来帮我分析一下..致谢啦..