Aug
John Lennon
by YM in 杂感
How can I go forward when I don’t know which way I’m facing?
How can I go forward when I don’t know which way to turn?
How can I go forward into something that I’m not sure of?
Oh no,
Oh no,
How can I have feeling if I don’t know if it’s a feeling?
How can I feel something if I just don’t know how to feel,
How can I have feelings when my feelings have always been denied?
Oh no,
Oh no,
You know life can be long,
And you have got to be so strong,
And the world is so tough sometimes I feel I have had enough,
How can I give love when I don’t know what it is I’m giving?
How can I give love when I just don’t know how to give?
How can I give love when love is something I aint never had?
Oh no,
Oh no,
You know life can be long,
And you have got to be so strong,
And the world is so tough sometimes I feel I have had enough,
How can we go forward when we don’t know which way we’re facing?
How can we go forward when we don’t know which way to turn?
How can we go forward into something we’re not sure of?
Oh no,
Oh no.
Feb
Jan
Jan
新译一首…
love is more thicker than forget
more thinner than recall
more seldom than a wave is wet
more frequent than to fall
it is most mad and moonly
and less it shall unbe
than all the sea which only
is deeper than the sea
love is less always than to win
less never than alive
less bigger than the least begin
less littler than forgive
it is most sane and sunly
and more it cannot die
than all the sky which only
is higher than the sky
忘却浓浓爱情厚
爱意更比回忆薄
浪花难觅湿踪影
情花朵朵岁月老
爱恨阴晴总有期
不知何处是心底
大海更有远深处
爱在海底
少见花前月满时
爱意绵绵无休止
难寻新爱赛旧人
一句谅解谁人知
爱亦明智亦明媚
不知何夕是逝期
天空更有高远处
爱在云谛
Dec
OOP。。。OOOPs
by YM in 程序
http://warp.povusers.org/OpenLetters/ResponseToTorvalds.html
http://thread.gmane.org/gmane.comp.version-control.git/57643/focus=57918
让我想起了原来Linus抨击C++的帖子。其实OOP是一种人类思维的模仿,借鉴了很多分析哲学的思想。而计算机程序本身是基于图灵机实现的,从本质上将是个过程结构,正如我们所知道的,并行结构无非就是CPU的时间片轮转而已。在操作系统的编写上,C有着很大的优势,简洁高效,基于bit层级的控制,但面临庞大的抽象层次问题,比如一个庞大的MMO游戏设计,没有OOP语言将是一场噩梦。正如Linus所说,C语言很原生态,很底层,它强迫你同机器打交道,熟悉硬件的接口,中断,你无法想象用OOP来设计操作系统。当然这毫无疑问是正确的,基于bit层级的操作系统是序列的,本身就是过程结构,自然是C语言和汇编程序的天下。OOP尽管编译后也是过程指令,但在抽象层面上模拟的人类的理解,从而可以更安全和更便利地处理现实世界抽象层次的问题,所以在游戏设计等等面临大量分类学和抽象关系的程序上是OOP的天下,但类似于机械手臂控制,流水线硬件程序等等则没有必要用OOP。OOP只是在图灵机的序列过程上模拟了世界的抽象层次,在带来开发便利和人性的同时,也产生了效率的问题,毕竟是多了一个抽象层面,很多代码是为了整个系统的存在而嵌入的,如果单纯用C来写就可以省去这些代码。第一篇评论对Linus的评论很是切合实际,C Hacker综合症。这个名词相当吻合,C开发久了会让你转向硬件操作,因为你的思维方式是纯粹的bit输入和输出,内存设置和管理等等基础图灵机的特征管理,如果说程序员的灵魂是图灵机的话,那么C底层开发的确是有助于程序员的灵魂。针对这个概念,那么OOP编程则有助于哲学家和建筑师的灵魂,因为OOP的难度在于将现实抽象,分解,而唯一限制实现方法的只是想象力,OOP需要你放弃那些底层的Bit操作,以哲学家的眼光和建筑师对系统的理解层面思考问题,这样才可以建立一个完备的整个系统。从实际出发,OOP只是一种思想,而不是语言,理论上你可以使用C开发任何程序,就像你可以使用汇编和机器代码写任何程序一样,但恐怕没有人会乐意使用C写一款大型MMO,或者CRPG,事实上很多时候,我们综合来解决问题,底层图形引擎是C的,而程序逻辑是C++的,没有人喜欢在考虑高层抽象问题诸如怪物随身携带物品的属性时候,还要考虑在bit层级分配物品属性数据结构和内存溢出问题。
我现在用C#写一些辅助设计程序,这并不影响我用C的眼光来看待Linus。事实上,这完全是事物处理层级问题,你如果想all in control,那么你需要的是自己设计硬件,自己编写操作系统,自己写编译器。如果你只是想像我一样处理环境日照分析和编写可持续设计辅助工具软件,你就不会想回到底层去考虑那些问题,因为这跨越了太多的抽象层级。当面对IC控制器时,使用C是唯一的选择,但你见过它们提过煮咖啡的要求么?
Sep
planescape
by YM in 杂感
晚上听听planescape的BGM,就像是被救赎…
Mark Morgan的网站仍然是没有更新…
http://www.markmorganmusic.com/
Aug

