bluesky's profile天地幻境PhotosBlogListsMore ![]() | Help |
|
天地幻境April 25 原声音乐 前段时间看《叶问》时觉得这音乐好像《七剑》,今天重新翻出《七剑》,突然发现这音乐好像《高达00》。 然后便找到了川井宪次这个名字,果不出所料,三部作品配乐全都是这家伙的杰作,此外还有《攻壳剧场版》。 说起来这是第二个因影视配乐而让我知道的日本人的名字,上一个是菅野洋子。如果算上喜多郎,则是第三个。 相比之下,在国内则难找到一个能与之类比的名字,也许是我太孤陋寡问了吧,毕竟我又不是搞音乐的。 October 13 1/3 回忆录——技术篇——如果我可以活到70岁的话,那么,我的生命已经走过了1/3的历程。 最近不只一次的被问及要怎样提高编程的能力,老实说我也不知道该如何回答,一来并没有细仔总结过自已学习的经验,二来也不清楚自已的经验有多少是可以适用于他人的。索兴把整个学习的过程罗列出来,也许可以总结出点什么东西来,所以也就有了上面的题目。不过有一点是无用质疑的,那就是兴趣。 第一次与计算机的亲密接触是在初一那年,学校在那年开设了微机课。虽然此前也对计算机有所了解,但只限于电视、报刊上的介绍而已。当时学校的课程基本上就是DOS,WPS等,还有现在最以常使用的五笔输入法。此时的我对计算机编程还是一无所知。 开始接触编程是在初一结束时的暑假,与许多人一样是从最简单的BASIC语言开始的,只不过教我的不是学校的老师,而是在家中坐客的正在读大学的堂姐。从她那里知道了什么是表达式、流程控制等等最基本的东西。接下来便是抱着她留下的BASIC教材,开始了“漫长”的自学生涯。不过条件所限,直到初中毕业,所真正写过的代码,只是一段求解一元二次方程的小程序。记得当时终于把程序调通的时候,是非常小心翼翼的把那10几行代码存到了所拥有的唯一张软盘里,而所使用的第一个IDE,也就是那个非常经典的QBASIC。 初中毕业的那个暑假,堂把她使用过的C语言教材——谭浩强的《C程序设计》第一版——也送给了我,如获至宝的我用了一个月的时间学习了指针之前的内容。高中入学后,又利用零零散散的时间学习完了整本教材。后来,上大学以后学习C语言时用的教材是谭浩强的《C程序设计》第二版,相信许多人都不会对此感到莫生,也有许多人对这这本书抱有很大意见,不过,我还是要很感谢这本书和他的作者,还有送给我这本书的堂姐,因为正是通过他们,我才走到今天这一步的。学过了C语言,接下自然是C++了,还有汇编,VC,OPENGL,WIN32 API,这些都是在高中的这段时间里就打下了基础。而此时的我,依然没有自已的个人PC,一定会有人奇怪,在没有足够练习的情况下,怎么可能学会编程呢?这里就要感谢一本名为《计算机编程技术与维护》杂志了,虽然已经很久没有再买这本杂志了,但在当时的条件下,杂志上面刊出的各种各样的实例代码,成为了帮助我理解C,C++以及学习其它相关编程技术的最重要的手段。同时虽然没有可以调试开发的环境,但是却时常在纸上编写各种各样的代码,算是过过干瘾吧。写的东西也很简单,迷宫算法,文件加密,字符串相似度计算(我自已启的名字),等等等等。现现想想周围的同学看到那一大堆天书一样东西,一定是非常的莫名其妙吧。 我的第一个有点实用价值的程序并不是在计算机开发,而是在文曲星上,利用文曲星的GVBAISC语言,具体是什么已经记不清了,总之当时是在文曲星上写了不下数千行的代码,消耗掉的CR2032电池更是不计其数。这些代码中甚至还包括了RPG游戏引擎,只是限于文曲星内存,实在是很难再装下什么完整的剧情了。这段时间还尝试着直接使用6502汇编来写程序,也算是进行了嵌入式开发了吧;p 高考之后,终于有了台可以写程序的计算机了,尽管只是老爸单位淘汰下来的486,还是被我装上了WIN95,bcc编译器,还有ultraedit。在那个长达三个月的假期里,我用这台古懂机(当时已经是P4的时代了)写了许多稀奇苦怪的东西,比如经典得不能再经典的俄罗斯方块,还有一个简单(或者说是简陋)的RPG游戏引擎。没有IDE,没有调试器,没有网络,编译一次要等上几分钟,就这样用C++洋洋洒洒的写了几千行的代码。现在回想起当时写的代码,真是怎一个烂字了得,不要说结构设计、编码风格这些东西了,连最基本的项目文件的组织都是乱七八糟。 进入大学的第一年,学校规定大一新生不准装电脑,情况似乎和高中时没有太大的变化。不过有了图书馆,虽然书旧了点,还有就是可以去机房上网了(不用忍受网吧里恶劣的环境了)。不让装电脑的最大的好处就是可以有比较充足时间来看书,除了学校的安排的专业课,这段时间还自学了(也许可以叫预习了)数据结构和JAVA。说到JAVA,学习只用了两周的时间,两个下午看来一本教程,其余的时间整理笔记,原因是有了先前的C/C++的基础,只需要关注对C++不同的地方就可以了,而JAVA那庞大的类库,用的时候再去查JDK文档就好了。而数据结构,学习的并不是通常的C语版,而是C++版,后来还买了一本Advanced C++,内容很不错,只是翻译得太烂,看了好久才看完,不过有点让人说不过去的是,直到现在也没有完整的阅读过C++ primer。闲着没事的时候还是在那台文曲星上写程序,这次目标是可以直接在文曲星运行的简单宏汇编器,只是工程进展到一半时,文曲星挂掉了。假期回家,也还是用那台古懂机写各种各样奇怪的东西,甚还尝试过模仿APPLE上的DOCK程序,不过在只有256色的显示器上,是不可能做到APPLE的效果的。这台老爷机一直用到大三的时候才彻底下岗,最后一个在它上面开发的代码是一个超轻量的GUI框架,显然这是为这台老爷机显身定做的,之后这个框架自然也就没有了用武之地。 到了大二,终于有了台像样的计算机,虽然只是二手的P3,不过应付当时主流的编程技术还是可以的,.NET,JAVA,PYTHON,C51,LINUX …… ……各种各样的东西都或多或少的有所涉猎。后来有了现在用的笔记本,同时也可开始了学生时代的最后一个作品——毕业设计。洋洋洒洒的两万多行代码中,有得意的地方,也是让自已很不满意的地方。首先从软件工程角度过说,这是一个极其失败作品,从需求到设计,在一开始时都没有做过细仔的分析,再加上需求的不断变更,使得到后来的开发过程几乎可以用痛苦两个字来形容。编码方面,最大败笔就是编程风格的不统一,项目中混合了多种库,命名规则也有好几种,甚至连编程范式也是混合了过程化和面向对象,简直就是一个C++程序设计的大展览。而意之处,包括项目整体结构的设计以及代码的灵活性,前者可以说不断重构得到的结果,后者则是被不断变化的需求给逼出来的。 现在毕业了,有了份还算不错的工作,时而回想起过去,觉得过去的这1/3也算是精彩了。相比这下,最让人怀念的反而是那段用文曲星和古懂机写代码的日子,没有任何压力,为的只是得到那份最简单的乐趣。 流水帐就先记到这么多了,也许哪天有心情还可以再弄个情感篇啊,事业篇啊什么的,不过,总觉感得这东西贴出来实在是很自恋的说。 April 15 IronPython 中调用 WIN32 API函数昨天在GOOGLE里搜了一下,没有找到让人满意的结果,IRONPYTHON的邮件列表里也说,目前为止还没有方便的方法实现这个功能。 不过也不是一点收获没有,在一篇BLOG上找到了C#中动态调用WIN32 API的方法。将作者的代码编译生成DLL后在IRONPYTHON里试着调用了一下,总算是得到了期望中的结果,唯一的问题就是调用的过程多少有些繁锁。 今天试着用对调用的过程进行了下简单的封装,效果看上去还不错,可以用像dll.Get("void Beep(int,int)@kernel32.dll")这样简单一行代码来创建一个调用API的函数对象,用起来应该可以方便不少了吧,只是对正则表达式还不是很会用,只能对那个字符串参数做些限制了,比如不能有太多的空格,参数列表为为空时要用void占位,好像也没有别的了,呵呵 下面是那篇BLOG的网址: http://www.cnblogs.com/zealic/archive/2007/02/28/658836.html 下面是封装的代码: 1 import clr |
||||
|
|