如果你是个学生,你应该会C,C++和Java。还会一些VB,或C#/.NET。多少你还可能开发过一些Web网页,你知道一些HTML,CSS和JavaScript知识。总体上说,我们很难发现会有学生显露出掌握超出这几种语言范围外的语言的才能。这真让人遗憾,因为还有很多种编程语言,它们能让你成为一个更好的程序员。

在这篇文章里,我将会告诉你,为什么你一定要学习Python或Ruby语言。

跟C/C++/Java相比 — Python/Ruby能让你用少的多的多的代码写出相同的程序。有人计算过,Python或Ruby写出的程序的代码行数只相当于相对应的Java代码的行数的五分之一。如果没有绝对的必要,为什么要花这么多时间写出这么多的代码呢?而且,有人说,一个优秀的程序员能维护的代码量最多是2万行。这不区分用的语言究竟是汇编,C还是Python/Ruby/PHP/Lisp。所以,如果你用Python/Ruby写,你一个人干的,不管是干什么,如果换用Java/C/C++,那都需要一个5人的小团队来干。

跟VB/PHP比较 — 跟PHP/VB相比,Python/Ruby的是一种从设计上讲比它们好的不知多少倍的语言。PHP和VB分别是在开发网站和桌面应用程序上非常流行的语言。它们流行的原因是非常的易学。不懂计算机的人也很容易的上手。如果你用这些语言开发过大型的项目,你就会发现这些语言的设计是如此的糟糕。是朋友,他就不会劝你使用PHP/VB。

跟Lisp/Scala/Haskell/Closure/Erlang相比 — Python/Ruby跟它们比起来显得相当的“主流”。确实,这些语言每种都有其很酷的特征,对于高级编程人员,了解这些语言能给他们对编程的思考带来实际的提升。但这些应该在你以后的职业生涯中才去决定学哪一两种。对于现在,Python/Ruby是在语言功能和实际运用之间平衡后的更好的选择。

跟Perl相比 — Python和Ruby都受恩于Perl,在这两种语言异军突起前,Perl是最好、最大的一种动态语言。但现在,Perl已是明日黄花,越来越多的人转向Ruby/Python。我感觉Perl的面向对象机制有点做作,很不好用。通常认为,Perl一种比较难学的语言,因为它提供你了太多不同的方法去完成同一个任务,它的语法有点像密码,非常不直观 — 除非你对它掌握的非常好。总之,我感觉Perl是一种对于学生来说不是很合适的语言—除非你有特殊的理由去学它(例如,你有很多正则表达式要处理,这是Perl的闪光点)。
跟sh/sed/awk/bash相比 — 如果你使用Linux/Unix,你可能需要做一些shell编程,甚至会编写一些不小的程序。但是,对于这些语言,一旦程序达到一定的行数,事情就会开始变得让你痛苦不堪,你最好是用Python去做这些事情。当然,做这种事情,Perl是最好的选择,Python排第二。(Ruby对于系统shell脚本不是很合适)。

你可以在Google上搜一下“为什么X比Y好” — 其中把X换成Python或Ruby,把Y换成另外一种语言 — 你就会发现,有无数的文章来说明它们为什么这么好。

如果你有选择你的毕业设计使用的编程语言的自由,你应该选择Python或Ruby,它们能让你在开发项目的过程中节省一半的时间(除非你要开发的是移动应用,这样你必须要使用Java或Objective-C)。

下面是xkcd上的一幅漫画,告诉你掌握Python后你会变得多么的强大:

每个程序员都应该学习使用Python或Ruby相关推荐

  1. scala语言的底层是java实现的_2020了,每个程序员都该学习的 5 种开发语言

    我曾在某处读到过(可能在<代码大全>,但我不敢确定),程序员应该每年学习一门新的编程语言.但如果做不到,我建议,你至少学习以下 5 种开发语言,以便你在职业生涯有很好的表现. 每个公司都喜 ...

  2. 一般项目中哪里体现了数据结构_优秀程序员都应该学习的数据结构与算法项目(GitHub 开源清单)...

    前言 算法为王. 想学好前端,先练好内功,内功不行,就算招式练的再花哨,终究成不了高手:只有内功深厚者,前端之路才会走得更远. 强烈推荐 GitHub 上值得前端学习的数据结构与算法项目,包含 gif ...

  3. 每个程序员都该学习的5种开发语言

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文出处:https://dzone.com/articles/5-programming-language ...

  4. 为什么每个程序员都应该学习C语言?

    为什么每个程序员都应该学习C语言? 每个程序员在他们的编程生涯中都应该学习C语言,因为它有太多难以忽视的好处了.除了它会给你提供更多的工作机会之外,C语言还会教给你更多的关于计算机的知识.它能给我们提 ...

  5. 每个程序员都应该学习的 6 种数据结构

    数据结构和算法是编程的支柱,这里有6个Java程序员应该学习的基本数据结构 扫码关注<Java学研大本营>,加入读者群,分享更多精彩 数据结构是程序的构建块.甚至有人说"数据结构 ...

  6. 刷爆了!程序员都在点赞的Python学习图谱安利给你!

    随着AI的兴起,Python彻底火了.除了谷歌爬虫.Google广告等项目在大量使用Python开发.以及豆瓣.知乎在内的很多互联网公司都将 Python 作为了主要编程语言. 对于程序员来说,Pyt ...

  7. 刷爆了!程序员都在点赞的Python学习图谱!你安利了吗?

    随着AI的兴起,Python彻底火了.除了谷歌爬虫.Google广告等项目在大量使用Python开发.以及豆瓣.知乎在内的很多互联网公司都将 Python 作为了主要编程语言. 对于程序员来说,Pyt ...

  8. 每个程序员都该学习的5种开发语言,不可错过!

    每个公司都喜爱精通多种编程语言并且多才多艺的程序员.一个既能很麻利地写脚本,也能编写复杂的Java程序的程序员,确实相当有价值.所以实际上,对于高级开发者来说,学习不止一种编程语言,几乎就是必然的要求 ...

  9. 程序员都秃顶?Python 创始人笑了,养生还得学这门语言

    程序员爱脱发,是不争的事实,经常面对电脑,工作压力大,都会导致脱发的产生.正所谓 "聪明绝顶",越厉害的程序员,谢顶的可能性就越大.那么,我们看看世界上顶级的程序员们,看看是否能从 ...

最新文章

  1. Fedora 34 Beta发布:引入GNOME 40巨大桌面升级
  2. 【PC工具】更新系统运行库一键安装,常用USB转串口芯片CP210x驱动,CH340G驱动安装有可能遇到的问题及解决办法...
  3. Re(正则表达式)库入门
  4. (poj)1064 Cable master 二分+精度
  5. 深度学习领域有哪些瓶颈
  6. 【C++深度剖析教程37】类模板的概念和意义
  7. java基本数据类型存储,JAVA - 基本数据类型的存储空间长度
  8. 操作系统之进程管理:4、线程与多线程
  9. c语言中ai是什么,科普 | 什么是 cDai?
  10. SQL执行计划错误导致临时表空间不足
  11. 查看其他计算机的共享资源,NetResView (共享资源查看)
  12. 关于Java html table表格转excel
  13. 用Java开发手机Andriod系统Apk软件
  14. 星梦邮轮世界梦号推出深圳母港特别航次
  15. 华为公司内部控制手册(干货)
  16. COSTDOWN Project's BSP(一)
  17. linear-gradient实现纯CSS文字淡入效果
  18. 【Visual C++】游戏开发笔记十二 游戏输入消息处理(一) 键盘消息处理
  19. 字节、字、bit、byte到底咋回事
  20. Flink on Yarn三部曲之一:准备工作

热门文章

  1. R语言广义加性模型(GAMs:Generalized Additive Model)建模:数据加载、划分数据、并分别构建线性回归模型和广义线性加性模型GAMs、并比较线性模型和GAMs模型的性能
  2. R语言sys方法:sys.timezone函数返回当前系统时区的名称、system.File函数查找系统文件或者安装包的文件路径(例如查看R Base可安装路径、dplyr包的安装路径)
  3. R语言绘制核密度图实战(Kernel Density Plot)
  4. python函数+定义+调用+多返回值+匿名函数+lambda+高级函数(reduce、map、filter)
  5. DBSCAN的两个核心参数是什么?如何获取最佳参数?如何可视化获取的过程?
  6. 中文语境下的手机号识别
  7. python去除英文字符中的数字和标点符号
  8. linux磁盘管理命令 lv,Linux磁盘管理--LVM原理及基本操作
  9. LeetCode 所有题目总结
  10. IDEA报错总结:修改Java编译版本--maven项目