解读 《2014 最流行编程语言》 by Code Eval
此文已转至http://cn.abnerchou.me/2014/02/23/fa87ae80/
首先了解下CodeEval是做什么的:
A tool for auto evaluating programming challenges in C/C++/Java/Python/Ruby/PHP/Perl/ Scala/Clojure/C#/Tcl/JavaScript/ Haskell/Go/Bash/Lua and many more.
重点是这个Programming Challenges, 也就是说给定题目,让用户来解题,支持如上列出的多种语言,但不支持第三方库。
这个编程语言排行也是根据用户解题时所用语言而制作出来的。所以这个排行无法看作是计算机行业对编程语言的需求。
就个人体验而言,在其上解题的用户有以下几种特征:
- 学习编程;
- 熟悉一种新的程序语言;
- 应聘相应工作(CodeEval会定期举行解题赢取面试机会的活动)。
对于第一种用户,他们使用的语言可能比较基本和常见,不会使用网络端常见的Ruby,PHP,Perl等语言。
而第二种用户,是已经掌握了一至二种语言,需要练习第三种语言,纯为娱乐。往往会使用一些与主流程序语言,或者其工作中常用的程序语言所不同的。
第三种用户,为了获取面试机会,一定会选取高效快速的程序语言。
再者,由于解题多用到命令行文件输入,就笔者经验(C/C++/C#/Java/Python/JavaScript/PHP),Python的文件操作最简单快捷。对于字符串转浮点整形等也是相当轻松。有些题目甚至Python只需一个函数就解决了,比如将输入文本的字母大写转成小写,小写转成大写。
之所以Python为何能成为榜首,可以看出:一是由于其简单易学,二是由于其方便简洁的文本文档的操作方式,三是丰富的内置函数。
Code Eval对程序的硬性限制只有一条(除去编译错误),就是运行时间不得超过10秒。但就其简单和中级的题(占总题量70%左右)来看,要写出超过10秒运行的程序也难。
在挑战题目时,用户也不许要考虑内存,CPU运算速度,网络,硬盘操作等问题。(具体CodeEval的编译环境配置未知)
综上,Python远较其它语言更适合进行解题。但鄙人在日常使用Python时,深受其速度拖累,核心算法还是首选C++或Java。
总而言之,这个排行榜只是一种兴趣级别的语言排行,而非企业应用级的排行。对于没有计算机学科基础,但又对编程感兴趣的同学,可以先从Python学起;Python作为兴趣级别的使用已经足够了,只不过以后要转C/C++可能会很不适应。 ^_^
解读 《2014 最流行编程语言》 by Code Eval的更多相关文章
- C 语言因为疫情重登最流行编程语言榜第一名!其实它一直都在~
C 语言时隔五年后再次荣登最流行编程语言榜单第一名. 通过调查得出结论, C 语言再次受欢迎的原因竟然是因为病毒,这听起来愚蠢但确实是事实,嵌入式语言 C 和 C++ 被用于医疗设备中的幅度因为疫 ...
- 优秀开源代码解读之JS与iOS Native Code互调的优雅实现方案
简介 本篇为大家介绍一个优秀的开源小项目:WebViewJavascriptBridge. 它优雅地实现了在使用UIWebView时JS与ios 的ObjC nativecode之间的互调,支持消息发 ...
- Hybrid----优秀开源代码解读之JS与iOS Native Code互调的优雅实现方案-备
本篇为大家介绍一个优秀的开源小项目:WebViewJavascriptBridge. 它优雅地实现了在使用UIWebView时JS与ios 的ObjC nativecode之间的互调,支持消息发送.接 ...
- 解读闭包,这次从ECMAScript词法环境,执行上下文说起
对于x年经验的前端仔来说,项目也做了好些个了,各个场景也接触过一些.但是假设真的要跟面试官敞开来撕原理,还是有点慌的.看到很多大神都在手撕各种框架原理还是有点羡慕他们的技术实力,羡慕不如行动,先踏踏实 ...
- 作为JavaScript开发人员,这些必备的VS Code插件你都用过吗?
本文翻译自:https://www.sitepoint.com/vs-code-extensions-javascript-developers/ 转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的 ...
- Swift 编程语言自己实践 -自己在Xcode6 动手写20140603
Swift 是什么,大家都回去百度或者Google,有的甚至认为是Taylor Swift(她是我的偶像),但是如果今天在百度百科里搜索绝对没有说是Apple最新推出的编程语言,因为是在2014年6月 ...
- Swift编程语言简介
这篇文章简要介绍了苹果于WWDC 2014发布的编程语言Swift. ...
- 来自苹果的编程语言——Swift简介转载】
关于 这篇文章简要介绍了苹果于WWDC 2014发布的编程语言——Swift. 原文作者: Lucida Blog 新浪微博 豆瓣 转载前请保留出处链接,谢谢. 前言 在这里我认为有必要提一下Brec ...
- 转 苹果的新编程语言 Swift 简介
苹果官方文档地址 https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Pro ...
随机推荐
- MYSQL转MSSQL
SSMA 2008 for MySQL 1.0.exe SSMA 2008 for MySQL 1.0 Extension Pack.exe mysql-connector-odbc-5.1.11-w ...
- [Java Concurrent] 多线程合作 wait / notifyAll 的简单案例
本案例描述的是,给一辆汽车打蜡.抛光的场景. Car 是一辆被打蜡抛光的汽车,扮演共享资源的角色. WaxOnCommand 负责给汽车打蜡,打蜡时需要独占整部车,一次打一部分蜡,等待抛光,然后再打一 ...
- Java IO - BufferedReader & BufferedWriter
java.io 包提供丰富的 IO 读写功能,封装在不同的类里面.其中,使用 BufferedReader 和 BufferedWriter 可以方便地进行读.写文件的操作. 使用例子如下: impo ...
- 【转】两种方法教你在Ubuntu下轻松关闭触摸板(TinkPad)
Ubuntu是一个以桌面应用为主的Linux操作系统,所以在使用时我经常的触碰到触摸板,这样会造成我们一些的麻烦,所以要如何的关闭触摸板呢?我们一起来看看吧! Ubuntu下如何关闭触摸板(Tin ...
- base64编码问题 需要对每个参数URL编码
- (NSString *)encodeToPercentEscapeString: (NSString *) input { // Encode all the reserved character ...
- android:allowbackup="true"
<application android:allowBackup="false" android:label="@string/app_name"> ...
- ubuntu下mysql中文乱码问题
本来就是想弄个网页往数据库里添加数据的,然后就发现了mysql的中文乱码问题,弄了半天解决方法如下: 首先停mysql服务,编辑配置文件my.cnf $ sudo stop mysql $sudo v ...
- Laravel No such file or directory in /bootstrap/autoload.php on line 17
具体错误如下: Warning: require(../vendor/autoload.php) [function.require]: failed to open stream: No such ...
- ulimit -n修改单进程可打开最大文件数目
对所有用户都生效: vi /etc/profile 添加一行如下: ulimit -n 65535 执行source /etc/profile生效,不需要重启服务器. $ source /etc/pr ...
- Linux下python升级
Centos即使用Yum更新也是Python2.6.6所以需要升级到Python2.7.8 1.先下载源码包 1 wget https://www.python.org/ftp/python/2.7. ...