散文说python半篇——景观三元论与盖茨比的对话

今天,html

天气晴朗,风和日丽;node

我事实上在说谎……python

爱说谎事实上是个人天性mysql

上个礼拜四我就用景观三元论说了很是多谎言。而后一头大象本身上吊了。nginx

了不得的大象啊,盖茨比也要从坟墓里爬出来了吧,web

陈年旧事,sql

紫露凝烟,django

没有了盖茨比的坟墓依旧是遗址公园。景观三元论如是说。编程


景观三元论问:盖茨比,你为什么不用C++写代码?非要用ruby或者python这样的执行很是慢的语言呢?flask

盖茨比说:

老兄,你要求快,干脆直接用汇编语言去写吧。

举个样例吧。

你用C++写一个实现某个功能的程序,这个程序的执行速度确实很是快。仅仅要0.0001s就能够,

而我用python或者ruby写相同一个程序,它的执行速度确实慢很是多。需要0.01s,确实慢了很是多很是多倍。

但是,

你写那段C++的程序。你花了一天的时间,

而我用python或者ruby写这段相同的代码,仅仅要10分钟,

而0.01s已经绰绰有余地知足了个人功能需求,它和0.0001s对我来讲都是一眨眼的功夫。

因此人生苦短,我用python/ruby


接下来我就说python了

因为是散文。因此不会那么系统地说。

主要就点到为止地说说怎样像一个pythonic同样去写python


a, b = b, a

在曾经写排序代码的循环体内。经常会需要单独搞个中间变量,而后z=a,a=b,b=z

现在一句话优雅的搞定了,如上。


[ i*2 for i in xrange(3) ]

列表推导式式这类语法糖可谓凶器啊,不只简单优雅。而且威力很是大。(相同适用于元组、集合、字典)


>>> isinstance(1, (float, int))
True
>>> isinstance(1.3, (float, int))
True
>>> isinstance("1.3", (float, int))
False

请不要适用type(1.3)去看变量类型,这样不专业,用isinstance吧,isinstance(1.3, float),而且isinstance还可以接受类型的元组从而适用多个类型。很是优雅吧。



>>> print "Hello %(name)s !" % {'name': 'James'}
Hello James !
>>> print "I am years %(age)i years old" % {'age': 18}
I am years 18 years old
>>> print "Hello {name} !".format(name="James")
Hello James !

带关键词的格式化。

有点模板引擎的味道。



def add(x, y):
    return x + y

lst1 = [1, 2, 3, 4, 5]
lst2 = [6, 7, 8, 9, 10]
lst_sum = map(add, lst1, lst2)

# lst_sum == [7, 9, 11, 13, 15]

python对Haskell这样的有趣的函数式编程语言的继承借鉴仍是很是多的,在此就点到为止地提一下filter(),reduce(),map(),lambda...因为是散文,就不说细了。

。。。


写代码的习惯。排版上。空格上,注意一些,也很是重要。虽然说推荐彷佛名叫pep8规则,但是我认为基本上注意到一些这些细节就够了

看过一排how to use python as a pythonic,好像叫这个名字的网页。

事实上我认为最实用的就是注意括号里參数的空格,以及等于号先后加个空格,看起来舒服清爽点

注意就能够


在此推荐一些关于python的好的參考站点:

https://pyzh.readthedocs.org/en/latest/

http://python.net/~goodger/projects/pycon/2007/idiomatic/handout.html

不推荐多,就推荐者两个,一个中文的,一个英文的。


至于面向科学计算的,建议学numpy和scipy。忘了还推荐眼下仅仅有4个api的jerkpy,博客中的还有一篇文章介绍了。

作图像识别 建议opencv。骨骼识别openNI


对于网络编程,建议用request代替urllib和urllib2


异步的twisted我还没看。


网络框架嘛。python的网络框架仍是有很是多的,比較白话开放。从plone、django(这个词的d不发音,读“江go”,但是在中国。入乡随俗也没问题)、flask、bottle、tornado

基本上都接触过。但是我终于选定了优雅的异步框架tornado

说说吧

django尽管很是多人用,也很是全,很是快,但是过重、耦合性相对较高。不适合作大型站点,用来给普通公司作私活可以;

flask是个比較新的框架,也很是轻,很是新。社区也比較团结新锐,我原本也用这个,但是后来仍是决定不用它,缘由是综合的,一个是自身喜爱吧,我事实上挺喜欢flask的,但是仍是彷佛认为他位于一个不轻不重的位置。尽管社区很是不错,是牛B团队开发的。但是感受略微仍是有那么一点乱,有种逐步从webpy的量级向django发展的趋势。

web.py是个不可逾越的轻量级鼻祖,尽管创始人挂了。但是这个经典的框架很经典。只是彷佛又过轻了,以及缺少创始人维护。

作大型站点就应该松耦合,用轻量级的框架来干事,用密斯凡德罗的话。少便是多。以小打大。

bottle可谓一个玩具,上手很是快,很是适合给小学生玩。也算经典吧。

tornado我最推崇。很优雅的一个基于web.py发展而来的异步框架,即便不用他的异步,他也是一个值得推崇的东东。不不过因为其能承受高并发、异步、安全cookie、防止xsrf攻击等。而更是因为这个框架的架构高明,优雅。

在此以前。我实践了ruby on rails,django, flask, web.py, nodejs ,尽管这些都是杰出的框架,但是自从我遇到了tornado,我已经决定tornado是个人归宿。

一把利器啊。通过大半年的实践。我总结到centos+nginx+tornado+memercached+nosql+mysql+python。为什么没人从一開始就告诉我这个,这样就不用走弯路了,因此天才都不是凭爹的,而是拼哥的,我真羡慕我堂弟有我这样一个哥哥。等他中考后就去教他这个,瞬间认为本身高中三年,大学四年,研究生两年半真是糊里糊涂地走了好多弯路啊,被三元论这类。

。。

。事实上三元论还不错。是一个不错的思想。但是假设称同济景观为中国最好的景观学,那太不够了。眼下中国根本没有景观学专业,回过头。发现被骗了好多年啊。。

假设上天在给我一次机会,我会在高一后就退学,而后自行软硬兼修外加学规划设计。现在老了。。。。幸好去年受到了松本行弘的思想的感染,让我断筋再续。尽管不用ruby了。但是这样的思想已然扔不掉了。。

。。


曾经写的都是技术博客,今天写了一篇技术散文,

正所谓形散而神不散。松耦合。强内聚。我又说谎了,事实上想到什么写什么吧,随心所欲。

python上手很是快,将来每个人都必须会编程,而python和ruby是很是人性化的语言。因此会有大部分人都会python或者ruby的

python上手很是快,但是代码质量以及把代码写得跟机器合二为一仍是需要境地的,要充分《深刻了解计算机系统》,事实上讲简单点。不说套话,最基础的一个步骤就是充分利用cpu的运算能力,注意内存,异步的核心我原觉得仅仅是释放cpu资源,后来发现非堵塞不只仅是释放cpu,也同一时候释放网络资源,说的比較土,缘由很是easy,没学过计算机系统那门课。那本书也没看完。。

只是,换句话说点到为止,慢慢看完那本书足以,汇编语言真的不是必需学了,compilers这样的都是有追求的码农去学的,从一个景观设计师的角度来讲怎样像松本所说的那样从人的角度出发,怎样让人更舒服地编码。——给码农捶背,让码农更舒服地编码。这当让是说笑。事实是前一段时间,从一个播客上听了一个腾讯的产品经理说他们团队的敏捷开发,原本看中了腾讯的产品经理的薪资高,但是还没听完那个产品经理的播客。我完全失望了。打消了去腾讯的念头了——他妈的。就是个工头,当你与什么样的人共事,则意味着将来的高度,我宁愿与一群无业游民共事也不肯与一群号称敏捷开发的包工头共事,工头仅仅知道project,而不关心战略。也不关心产品,更不关心怎样码农地死活与生活。松本行弘做为一个技术大牛的角度,他已经诠释了怎样让程序猿更舒服地编程,而我,做为一名“未知方面”的“自封大牛”也将要诠释怎样让程序猿更舒服地编码“?谷歌同样地舒服的环境,是物质基础。但是真正牛B的方法是少写代码,不写代码。慎重需求提出,用心的架构设计,从产品设计层面就思考怎样尽可能少写代码。把时间花在精心设计一个api,让这个api精到可以考虑到后期的迭代开发。

从产品设计层面就考虑到代码架构,从而花时间在画“草图”上,而不是直接拿着“cad来画草图”。尽管是景观与建筑设计的经验,但是这是通用的。


松本行弘,他让程序猿更加舒服地编程。

弓长一苇,他让程序猿更少乃至不用编程。


跳出圈圈看世界。无所谓你是码农。仍是建筑师。无所谓你是vc仍是cto,无所谓你是教授仍是学生,

那些都不重要。

重要的是生活。

生活乃天赋人权。

所谓名利乃身外之物,

没法舍弃追求的不是名利,

而是那种自个人成就感,

但是,我时常提醒朕,

生死由命

富贵在天


人之生,

乃天赋人权。

我并非生来为了写论文,

我生来也并非为了写代码,

我生来也并非为了作设计绘图。

这些不是必须的,

这些是没有必要的,

关键在于你是否有勇气去选择。

选择在于每个人的本身手中。


发现写的太直白了,

不能这样。

我应该写的高深一点。

清晨,我撞死一辆卡车。


惋惜这首个人成名诗,失传了,惋惜。。

我本身也忘了当年怎么写的。

相关文章
相关标签/搜索