散文说python半篇——景观三元论与盖茨比的对话「建议收藏」

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

大家好,又见面了,我是全栈君。

今天,

天气晴朗,风和日丽;

我事实上在说谎……

爱说谎事实上是我的天性

上个礼拜四我就用景观三元论说了非常多谎话。然后一头大象自己上吊了。

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

陈年旧事,

紫露凝烟,

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

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

盖茨比说:

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

举个样例吧。

你用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,无所谓你是教授还是学生,

那些都不重要。

重要的是生活。

生活乃天赋人权。

所谓名利乃身外之物,

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

而是那种自我的成就感,

可是,我时常提醒朕,

生死由命

富贵在天

人之生,

乃天赋人权。

我并不是生来为了写论文,

我生来也并不是为了写代码,

我生来也并不是为了做设计绘图。

这些不是必须的,

这些是没有必要的,

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

选择在于每一个人的自己手中。

发现写的太直白了,

不能这样。

我应该写的高深一点。

清晨,我撞死一辆卡车。

可惜这首我的成名诗,失传了,可惜。。

我自己也忘了当年怎么写的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/116461.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Python缩进规则_python任意代码都可以缩进

    Python缩进规则_python任意代码都可以缩进具有相同缩进的代码被视为代码块。缩进在Python中具有严格的习惯写法:4个空格,不要使用Tabif语句后接表达式,然后用:表示代码块的开始。

    2022年10月13日
  • ROS安装教程|从零开始[通俗易懂]

    ROS安装教程|从零开始[通俗易懂]前两天把自己的ROS搞坏了,不知道咋修复了,只好重装一次。想到大家可能还有从来没接触过ROS的,不知道怎么安装,我就记录一下这次的重装过程安装VMware,这个我已经装了,就不细说了,管家公众号上有安装教程 下载ubuntu镜像文件Indexof/ubuntu-releases/18.04.6/|清华大学开源软件镜像站|TsinghuaOpenSourceMirrorIndexof/ubuntu-releases/18.04.6/|清华大学开源软件镜像站,致力于为国内和校

  • WebApp开发实战视频教程「建议收藏」

    WebApp开发实战视频教程「建议收藏」商品配送系统手机WebApp开发(Asp.NetMVC5、HTML5、jQueryMobile、Backbone)适合人群:中级课时数量:18课时用到技术:Asp.NetMVC5、HTML5、jQueryMobile、Backbone涉及项目:手机WebApp、消息推送、富文本编辑、后台接单咨询QQ:18402155921.课程研发环境操作系统:Windows

  • [文字雲產生器] Tagxedo 把文字串成雲、變成畫,印在 T-Shirt、馬克杯、詩袋…….

    [文字雲產生器] Tagxedo 把文字串成雲、變成畫,印在 T-Shirt、馬克杯、詩袋…….http://www.tagxedo.com/app.html有種東西叫「WordClouds」,就是把一堆文字依照不同的大小、顏色、角度與位置拼湊在一起,讓他變成像一朵雲一般、組合成各種不同的形狀。平常最成看到類似的創作應該是在T-Shirt或馬克杯上,用各種樣式組成不同形狀的文字雲,把想呈現的文字、地名或專有名詞寫在衣服上,看起來相當帥氣!如果你不是設計師卻想玩玩看Wor…

    2022年10月30日
  • 一鱼三吃,微信云同步拟收费的醉翁之意「建议收藏」

    一鱼三吃,微信云同步拟收费的醉翁之意「建议收藏」文|熔财经作者|宋文远你能因追综艺接受开通腾讯视频年卡会员,也会为了听高码率音乐成为网易云黑胶会员,但你能接受为了能云备份微信聊天记录,每年少吃十几斤的猪肉吗?据知情人透露,微信聊天记录将为付费用户提供云存储服务,安卓端每年130元,iOS端每年180元。作为国民级社交应用,微信的一举一动都备受关注。最近,聊天纪录云同步拟收费的消息一石激起千层浪,但与往常教张小龙如何做微信不同的是,忍无可忍的网友们不禁发出灵魂质问:“聊天记录备个份也要收钱,还能这样玩的吗?”动则十GB,多则上百..

  • 用MDK生成bin文件的步骤及方法

    用MDK生成bin文件的步骤及方法1用MDK生成bin文件Embest徐良平在RVMDK中,默认情况下生成*.hex的可执行文件,但是当我们要生成*.bin的可执行文件时怎么办呢?答案是可以使用RVCT的fromelf.exe工具进行转换。也就是说首先将源文件编译链接成*.axf的文件,然后使用fromelf.exe工具将*.axf格式的文件转换成*.bin格式的文件。下面将具体

    2022年10月20日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号