首页 > PHP资讯 > 职场技巧 > 谈谈 PHP、Python 与 Ruby

谈谈 PHP、Python 与 Ruby

职场技巧
  简略地总结:

  假设你想帮他赶快找个活儿,赚到钱,引荐PHP。

  假设你想让他变成一个高效工程师,引荐 Python。

  假设你想让他爱上他的作业,引荐 Ruby。

  言语的选择

  编程言语十分主要,不要以为他们都图灵等价,用起来都相同。实际上,好的言语,带给你的东西是超乎想像的。

  下面是一些观点:

  程序员的时刻远比机器的时刻名贵:选择开发功率最高的言语吧,不要过于在乎运转功用,假如你开发不出东西,那么跑得多快也没用。

  高雅的笼统胜于简略的堆砌: 这意味着你的代码是最简练而又充溢规划感的,面向对象,简略的闭包,全部都是表达式等等,而最佳的笼统是言语自身能够分层,既能够书写言语的言语,比方 DSL 才能强弱是个目标。

  才调横溢的社区胜过有难度的招聘:这种言语一定要具有一个活泼且才调横溢的社区,只需运用她的人,就有一种自豪感和高手认识,在社区里的每自个都 自以为比他人强。即便,你不那么简略招聘到程序员,但咱们不都知道,一个有才调的程序员胜过100个平庸之辈嘛?选用这种言语,能确保团队里一同编码的每 一自个,都是高手。

  也是最主要的,趣味胜过全部: 灵敏,好玩,永久有新发现的戏法般的言语,只需你想不到的,没有你做不到的,对一个真实的hacker来说,这是选择言语仅有的理由,这也是 Perl 为何能够长时刻存活的缘由,由于她是 hacker 为 hacker 创造的。

  做为一个程序员,是应当去选择不一样思路的言语去学习的,并且当然要选择最有代表性的言语,在编程的国际里,干流的思路正本就两种,一是结构化编程,一是函数化编程,面向对象只是结构化编程进化的一个期间罢了,别的各式各样的思路大多数是这两个的分支。

  社区的创造力

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

  Mac 上能够运转那么多种言语,有许多人用 git。但却只需 Ruby 的用户开发出了 homebrew 这么牛逼的包办理体系,善用了 github 的许多特性,真实的把每一个用户都变成了潜在的 repo 贡献者。我信任这肯定不是偶尔。假如相同的条件摆在面前,你做出了一个全新的东西而他人没有,说明晰你的创造力比他人要高。

  作为 Python 的运用者,我觉得 Ruby 语法的好坏不太主要。可是从外部看 Ruby 社区近些年继续的向外输出一些从技能到开发上的理念,不断的有大大小小的很帅的项目从 Ruby 社区中诞生的出来。使得我觉得 Ruby 社区是一个很有立异气质的社区。因而假如你学编程是想做出一个很帅的东西,那么我强烈建议你直接学习 Ruby。

  从 Web 开发去对比

  对于 Web 开发,这三种言语都能担任,可是仍是有不少差异:

  Ruby 的 rails 结构确实是称得上是疾速开发的模范,可是 Ruby 的语法过于灵敏,有些时分对同一个处理会有许多种不一样的写法。

  PHP 是老牌的页面脚本言语,相对别的两门而言对比老练。PHP 尽管疾速成型,但简略失控,特别项目稍大的时分。

  对于 Python 来说,由于自身的精约规划,也许运用的方面的更多,几乎是能够涉及到IT的各个方面,Web 只是它其间一个方面,并且有对比成功的杀手级运用,Youtube 即是用 Python 开发的,服务器的各种原来用 shell 或许 perl 的脚本,科学核算,游戏的脚本,甚至在桌面客户端上也能看到 Python 的佳作,如 UliPad,对于初学者来说 Python 是个不错的选择,在这三者中它的语法是最简练和明晰的,适宜初学者学习。

  入门言语仍是应当选择一个对比谨慎的,像Java,Python那样的言语对比适宜,从 PHP 言语不太简略学到 OO 的思维和规划方式之类的东西,而这些对于一个优异的 PHP 程序员来说也是很必要的。这儿不是黑 PHP,每个言语都有自个的长处,比方 PHP 入门快,能够添加编程的决心,理解编程那点过后,能够举一反三的触摸别的言语。许多编程者即是从 PHP 入门的。

  在编程学习里有这么一个表象:直接引荐 Python 的人,根本都没深化学习过 Ruby。学过 Python 和 Ruby 的人,根本都喜爱 Ruby。

  详细运用啥言语,不是仅有的。依据场景是要分的。一自个最少是需求学习3种言语的:

  一种是作业言语,比方C++,Java,PHP,这三种言语,是互联网的全能药,只需会了,作业是永久都不愁的,大型公司通常都会运用,用来开发一些大型项目。

  一种是自个运用的言语,比方 Python,Ruby,当然,我也引荐 Ruby。我也用过 python ,后来由于作业需求,忍痛扔掉了 Python,最终,居然深深喜爱上 Ruby 了。然后就不再回头了,对于自个运用来说,是要十分重视开发效能的,一门言语,最少能用10年,假如自个选择的言语,能够在开发效能上逾越别的言语十分之 一,那么在十年内这种收益是十分大的。

  还有一门是新言语运用,不用深化,可是一定要了解,这有助于对比不一样言语的缺乏,才不至于变成坐井观天。比方 Nodejs, Scale等。

  对于 Ruby

  我觉得直接学 Ruby 也是不错的选择。

 

  正本 rails 结构就自带了 server,WEBrick。看着 Log 做开发功率十分高。

  假如要布置的话,用 passenger 也是肯定便利。

  Views 层的模板体系,ERB 应当比 Python 的各种要来得美,并且愈加简略。之前用过 Django,觉得太重了。

  Rails 能够让你不断的惊奇程序能够这么写的啊,我首次看到有 7.days.ago 的时分惊掉了。

  Rails着重一种DSL,一来契合大家的言语习气、二来我觉得是一种编程言语的推翻,咱们并不是在用某个特定的言语(比方Ruby)来完结一个 功用(就如同是用C仍是用Java来写一个编译器),而是我能够在这些言语的基础上界说一种新的言语(类似于lex,yacc这么的词法语法生成器)。看 看routes.rb的设置吧,能有多么惊奇,这是程序么,几乎即是诗。美不只是在于内容,相同在于方式。

  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 语法简练高效,一句话“人生苦短,我用 Python”啥都说明晰,高效是 Python 的特色。

  强壮的数据结构。默许装置的Python开发环境现已附带了许多高档数据类型,如列表、元组、字典、调集、行列等,无需进一步编程就能够运用这些数据类型的操作。运用这些数据类型使得完结笼统的数学概念十分简略。

  强行缩进,让代码天然显得有条理。

  插件完全,能够完结绝大部分的程序规划使命。

  当然还许多,详细还能够去看看 《Python的规划哲学》 这个 chapter。

  小结

  没有最佳的言语,只需最适宜的言语。

  没有差劲的言语,只需差劲的程序员。

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

  用啥言语不主要,最主要的是功率:开发功率和履行功率。PHP 语法很傻,一点都不炫,但但凡学过C、JS、AS等等言语的,很简略上手,由于语法上有许多重合的当地。许多人瞧不起 PHP,说 PHP 太简略的人,通常是由于对 PHP 自身不行深化了解,正本 PHP 里边的东西通常人用到的很少,5.3 以上的特性也渐渐让这种言语生动起来,你越是深化,就越能发现它的强壮和优势。

  

 

 

  这儿只是列出 PHP,Python 与 Ruby 的一些状况,让读者非常好地选择学习的言语。(PHP培训机构

本文由欣才IT学院整理发布,未经许可,禁止转载。