无心写程序,却愿意去读标准库,咋办?

2013-06-01 21:47:23 +08:00
 julyclyde
近20年的计算机学习经历,从当年DOS 2.1、BASIC开始,到后来NOIP联赛、C语言、C++、ASP,后来嫌自己管理内存太恶心,就戒了;大学学了点儿Java,觉得类库太庞大,后来又对Java派乐于炒作concept的作风嗤之以鼻,也没好好学;最后改投Linux系统管理,至今算是有点儿成绩

近期迫于领导的压力和工作需要,学习了Python 2,但因为荒废开发太久,以及工作性质的原因,总觉得没啥可写的,偶尔写点儿小功能也一般shell就对付了,对MVC也很难适应(我写ASP那会儿还没流行MVC)

现在每天的乐趣就是看Python标准库。前一阵刚仔细研读了SocketServer、BaseHTTPServer、SimpleHTTPServer、CGIHTTPServer、wsgiref.simple_server等几个库,给同事开小讲座讲讲,也算对上级要求的学习任务有个交代

但我总觉得这状态不太对劲啊。求指点
5423 次点击
所在节点    Python
26 条回复
DaniloSam
2013-06-01 22:06:15 +08:00
炫耀的好没情调
phuslu
2013-06-01 22:08:35 +08:00
循着这个思路可以去精读 tornado,读完了说不定就找到新目标了。
或者直接到 github 开坑填吧, 比如想这样的小项目 https://github.com/smgoller/rangehttpserver
julyclyde
2013-06-01 22:11:40 +08:00
@phuslu tornado听说是异步的?我小时候因为用visual basic,倒确实是对异步的感觉更自然,对Unix传统的阻塞式IO不是那么喜欢。不过tornado作为贯通中西的“框架”,其自身应该是阻塞式写法,为应用程序开发提供非阻塞、异步的中间层吧。不过我现在迷茫的是,读了之后又怎样呢?似乎还是没心去写程序。现在一是没啥可写的(因为我是系统运维工程师)二是也写不出来,因为荒废多年,已经不行了
phuslu
2013-06-01 22:21:24 +08:00
@julyclyde 没关系呀, tornado 的除了名字不 pythonic 之外,它和SimpleHTTPServer/CGIHTTPServer是使用 pure python 写出来的,本身的实现非常的 pythonic, 而且它不像 gevent 之类的框架那么混杂。并且它也非常注重运行效率并且功能完备,和SimpleHTTPServer/wsgiref.simple_server 不一样的是,torando 可以称的上是 full stack network/web framework in real world. 强烈建议读完标准库以后再精读一下它,这样才能一窥 python 真正的网络程序的写法。 :D
julyclyde
2013-06-01 22:32:32 +08:00
@phuslu 好哇,那我尽快开始
shanks
2013-06-01 22:45:58 +08:00
python 标准库读起来确实赏心悦目,跟读书一样。我最近也在看SocketServer的源码,是非常好的代码范例,不过我目的性比较明确,就是想搞明白代码底层的运作。。。
phuslu
2013-06-01 22:54:34 +08:00
是的,但是看起来漂亮不一定实用。比如说 gevent, 论代码风格比 tornado 差不少,但是的确比 tornado "好用"(方便+效率高)
这里有个极端例子,就是沈大侠的 eurasia 异步网络框架,单文件,性能非常高,但是实现却很不优雅。
http://eurasia.googlecode.com/svn/branches/3.2/eurasia.py
julyclyde
2013-06-02 08:07:36 +08:00
@shanks 我前一阵咳读过几个web框架的URLrouting&dispatch部分,看他们getattr然后 古代版本用apply调用、现代版本直接调用函数,很感叹动态语言之动态啊!
julyclyde
2013-06-02 08:08:28 +08:00
@phuslu eurasia听说过,还没拜读,也准备尽早看看
julyclyde
2013-06-02 09:25:06 +08:00
@DaniloSam 真不是炫耀。道常在,技已逝,我这得调整好久才能恢复元气呢。以前从没玩过动态语言,还越过MVC在web领域的缘起阶段,这次算长见识了
lisztli
2013-06-02 10:08:22 +08:00
我的天, 这是传说中的七月? 楼上几位还是不要给人出谋划策了,免得贻笑大方。
zhy0216
2013-06-02 10:38:49 +08:00
@lisztli ??难道楼主是传说中的大神?
wuxqing
2013-06-02 10:42:53 +08:00
说明LZ老了,应该进入培养新人的阶段了或者转管理
treo
2013-06-02 11:33:48 +08:00
你可以改行做代码审计。。
Livid
2013-06-02 11:35:31 +08:00
@lisztli 你这算是高级黑么
lisztli
2013-06-02 12:56:00 +08:00
@livid 真的是水木上著名的七月,不是高级黑……
xiaoxuxu
2013-06-02 13:44:16 +08:00
此楼都是大神。goagent用户前来膜拜
felixye
2013-06-02 14:18:41 +08:00
只磨刀,不砍柴
manoon
2013-06-02 14:34:19 +08:00
我还在纠结,我要不要买一本算法的书来看。。。其实,我真心不喜欢这些。
Feobe
2013-06-02 20:15:17 +08:00
@lisztli
讲讲?不混水木。。不熟,孤陋寡闻啊。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/70907

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX