人生苦短,快用python

作者: 学姐段 | 来源:发表于2015-03-24 12:41 被阅读6183次

    转自知乎,原文链接 http://www.zhihu.com/question/28676107/answer/42831542

    2005年中期,用了几天学完了Python,随后两天用了十几个小时写了编译原理的课程设计,这是我大学阶段所有课程设计里唯一没有延期的。

    后来逐渐发现Python的简单可以把我的思想从编程语言的细节里解放出来,更关注实际要解决的问题。

    就喜欢上了。

    既然有人点赞,就再补充点。

    很多人关注起Python就是因为简单易懂,做Web很方便。但在深入CS学科的很多高级主题时,Python能发挥出更加强大无比的力量。而这来自于Python是个好胶水。

    坦白讲,Python不算最好的胶水,至少Lua做胶水就比Python好,API好用。但Python再算上强大的标准库、数据结构、友好的转义后,就脱颖而出了。

    在科学计算领域,NumPy和SciPy的存在解放了很多人的思想束缚。其底层基于eigen,性能一流。eigen的实现性能很好,超出很多库里自己写的矩阵计算实现。比如OpenCV里的矩阵实现效率至今都追不上eigen。

    而当你需要一流的性能与一流的可调试性时,Python C模块是最好的选择。封装虽然有些麻烦,但封装后可以在Python里调用实在太方便。一些已有的C/C++应用也可以通过将函数封装给Python调用,而极大的降低调试难度,提升单元测试覆盖率。

    2007年时我开始学Python的C模块编程,并在博客中放出了我的笔记。那时写了不少东西。封装libpcap后,做网络抓包,通信劫持,使得别人眼里,我俨然是个正经黑客。后来迷恋erlang期间,做了C node的Python封装,使得Python与Erlang可以互发消息,组建集群。搞硬件开发期间,封装了Cubieboard和RaspberryPi的GPIO、SPI等众多外设的Python接口,调试速度快到了云边。做USB通信期间,因为PyUSB不支持isochronous通信而自己重写了个libusb的Python封装,使得USB编程不再困难。做音视频识别的日子里,做了v4l2的Python封装,使得操作摄像头的控制精度达到了最高。

    相比于其他人,用上这些Python封装后,迭代速度数十倍的提高带来了系统进化速度的极大提高。比如我在音视频识别的研究期间,因为NumPy和我自己的封装,每天动则十几次甚至几十次的迭代,优化算法的各种参数。使得我在不到两年时间里,识别效果就超过可某大学教授12年的研究成果。识别速度更是超出对方两个数量级。

    对于各个领域的研究者,我是真心推荐Python的。用上NumPy和SciPy,你就拥有了极致的性能,顶级的可调式性,和产品级的稳定性。而这也使得Python的这套组合成为科学计算领域唯一能与matlab竞争的选择。

    过200赞我就专门写一篇文章介绍用Python做科学计算的几个实例。

    博客地址在 http://gashero.iteye.com/ ,我会用大约一周来写,写完后会把地址贴到这里。感谢大家的厚爱。

    另外,豆瓣招聘 Python 开发工程师,福利好待遇高,有意者请发简历到 caibin@douban.com

    相关文章

      网友评论

      • Jan_92bf:关注微信公众号(小小詹同学xiaoxiaozhantongxue)免费领取千元人工智能资料包,免任务免转发直接下载,只为推广公众号!
      • 小简猫:我就是在学python的。python起步。。其他都不会
      • 蒙奇:已经超过200赞了!
      • f71396a3e345:从个人统计角度考虑,还是在用R
      • 学姐段:@VeryCB 大家发送的时候注意吧囧改成@,以及即刻入职就有台湾游!
      • Zpfdun:豆瓣热招 Python 开发工程师,有意者可以发简历到 caibin囧douban.com
      • starfei:想起那句话,Python是这个地球上最好的语言- -
        前段时间也用来玩了下爬虫~
      • 神奇的小狮子:@bode 难道你们都没看出来,这是最新的骗赞方式吗。。。
      • 桃源乡吃桃:已经185个赞了,楼主就约等于200吧
      • 41fe9982ad07:为了最后一句点赞
      • 你管的着吗:我也非常喜欢python。虽然没用他做过比较大的东西,用它做过一个android的自动打包系统。python是工作中用的不算比较多的。但是我最新的话的语言。
      • ee6c75107d3f:确实不知道做什么的,就知道可以上火星,看了几天就没有看下去了,完全不知道用途,没有用以致学
      • f7b63500aad3:一直不太了解python主要用来做什么!还未开始学
      • 和风一人:@heroblank hhhh 程序员里面文章写不错,写文章的里面程序编的不错。
      • 大表哥001:你是程序员里文章写得好的!
      • Kellerman:虽然不是很懂,可是觉得很牛逼的样子!
      • CohenNotOlder:200赞之路....给赞
      • 42fec16577d8:talk is cheap show me the code
      • 6a310259cd67:好牛逼的样子,加油
      • ba4b4790bb5c:非计算机专业真的表示里面的单词都有点难懂,不知道能简单到哪去了……
        justZero:简单是相对而言的,说起来轻松~学到大神的境界当然不容易。但请放心,学了python绝对百利无害。看评论时间已经快2年了,不知道你现在感受如何~哈哈。
      • 大罐可乐:大侠好厉害,不写实例就是吹牛逼
      • 小白龙丨:看不懂,以下请教一个问题,成为一个黑客,基础要点什么,需要什么环境下形成
      • QjsFRZ:@yalelynn pypy相比cpython已经有7倍的性能提升。
      • wskyt:最近也准备学学Python,环境都已经搭建好啦。主要是听说Python能快速搭建web,能当脚本语言用。不知道是不是真的
      • 天日予:Python之牛,只有耳闻
      • huglee:mark一下~
      • 山巅一寺:拜你为师
      • 52faab10a4fe:200赞,贡献一个
      • JANEC:正打算学~·哈哈

      本文标题:人生苦短,快用python

      本文链接:https://www.haomeiwen.com/subject/dnegxttx.html