JAN

18

Tue

Author:EMINARCISSUS

被拍砖4次,接着砸!

记得最初接触PYTHON的时候貌似应该还是PYTHON1.4的时代,不过也只是谢谢HELLO WORLD和写写恶意代码之类的,其他时间则是沉迷汇编和反编译,于是对这些动态语言投以了各种不屑的目光。

大学4年在自己主攻的领域不但没有进步,反而倒退了不少,完成了一次从技术人员到四不像的转变。不过这4年中对我改变比较大的事情就是重新认识了动态语言。

JAVA跌跌撞撞这些年来的发展,从最初接触的JAVA的HELLO WORLD和当时那渣滓配置的奔腾2到现在的酷睿一(本子是5年前的,所以是CORE1),CPU完成数次变革,但是这些语言却几乎没有什么变化。变化的只有人们的书写习惯和代码风格而已。

10年前面对对象技术仅仅作为一个课题扔给我们研究,互联网的滞后性加上NEW ECONOMY热带起的浮躁风让世界改革的先锋队们不顾知识的改革,而是墨守陈规地维持现状,并推动着计算机软体市场的发展。随着新经济的幻想崩灭与互联网技术的发展,对框架的重新认识,对面向对象代码复用性的考虑逐渐被各大企业提上了变革日程中。在这样的大环境下,JAVA,RUBY,PYTHON这三支动态语言后期追上,并逐渐在各个领域占住了头脚。

自己也一直都坚信,语言没有优劣,差别只在程序员。但是实际上每种语言都有每种语言的特性,熟练掌握任何一种在这个领域都能够吃饭,并拥有相同的机会创造建树。

跑题了。回归正题。

MARK几个今天“初次”写代码遇到的种种疑惑。

1:PYTHON的成型的ORM组件:ZODB,PYDAO,SQLALCHEMY,内嵌的SHELVE和PICKLE组件可实现一定程度的OD转换。

2:PYTHON与toString()对应的函数:str()

3:Python中没有严格意义的私有变量,一般通过加__variableName来实现建立私有变量。

4:cookielib.CookieJar与其继承类因为有Cookie.lock,无法序列化,在持久化过程中应善用iter()函数自循环,创建序列化和反序列化函数对COOKIE进行保存。

5:FileCookieJar是不能直接调用save函数的,因为这个类本身是个抽象类,有未完成的方法——

If you look at FileCookieJar, its load() method calls self._really_load but no such method exists in that class nor its ancestors (this explains the error you got). Subclasses of FileCookieJar must implement reallyload to be usable.
6:好好体验Python对于字典类的活用性,还有其语言独特写法带来的便利和整洁感(通过TAB和:来实现流程控制)

7:PYDEV+ECLIPSE构成的高效的调试环境,附加PYTHON本身作为脚本语言是可交互的,同时为多数LINUX发行版的默认出厂配置语言之一,配合PYCURL库可带来不少便利。

8:作为WEB服务器JDANGO,实现和JAVA的MVC(Mode,View,Control)类似的MTC(Model,Template,Control)架构。高度的代码分离度和高效的运行效率,作为短期团队开发,其利用价值远高于JAVA(因为自己没有体验过RUBY团队开发,故无可得知在ROR上两者的开发效率差有多高)。

9:跨平台。这也是我目前挑选个人开发工具最重要的一环.WPF好不好?.NET没人能贬其效率,但是WINDOWS独占一条就可以让我判他死刑了。开源,可跨硬件,跨平台的IDENTICAL实现才是个人开发辅助应用的第一目的,对于任何独占的项目,其开发价值都会大打折扣。

先写这些,其他的等整理好陆续放出来。接下来去疼PYTHON和WXWIDGET的交叉点,SWING和SWT的开发难度已经让JAVA用户逐渐远离了桌面开发,从此看来,转战WXPYTHON依然还不知道是否是正确的选择,有待有序观察。

写完后放出来某DT脚本,用于提取某DT站的LINK。以上,闪人。(嘴里起包上火,各种难受)

smiley