马老师:
 
您好!
 
很多同学喜欢称您为“燕子姐姐”,我个人也看好这个昵称。呵呵。我想在这次邮件中说说我对于SSD3课程的学习已及平时的一些经历和感悟。
 
说实话,我学SSD3并非出于对JAVA的热爱,而是喜欢“面向对象”的编程思想。我对理论性的概念性的抽象的宏观的事物都比较感兴趣。
 
同时,对JAVA的学习有助于我对ActionScript3.0的掌握。不知道您对AS3有无研究。AS本是Flash软件自带的用于实现交互动画功能的脚本语言,2006年中升级为AS3,较之前发生了脱胎换骨的变化,但一直没有相应的运行平台,直到07年中才随着Flash 9一起发布。说这些可能有些抽象,其实我写这封信也是为锻炼自己的技术表述能力,如何用简练的语言把大量背景知识补齐。简而言之,我首先喜欢FlashFlash里有ASAS支持面向对象,所以有目的地学SSD3
 
我学Flash是从小学五年级,即2000年开始的。要知道,Flash进入中国是1999年!论辈分,我是业界“元老级”人物了。可惜后来不得不把大量时间用于学习课内知识,以至于至今没有扬名。我的网名叫“宽天下”,老师您知道一下就行,不足为外人道也。
 
一说起Flash我就兴奋!
 
我小学四年级买的电脑,一开始就是玩“极品飞车”、FIFA足球这些游戏,后来玩得恶心了,赛车次次冠军,足球一场赢两位数,决定不玩了。不过,想来远离游戏根本原因还在我有出息,那时我在学校身兼四职:大队长、班长、学习委员、体委。(嘿嘿,现在我也是身兼四职:大班长、班长、科协负责人、教学督导。)直到现在我都没再有玩游戏的爱好。
 
我表哥是计算机专业的,去他家我就爱翻他的书,主要是书里带光盘,拿回家就装上,然后乱点鼠标看那是啥东西。装上Office2000我常练打字,做PPT,制表格,后来用FrontPage做网页;装上AuthorwareMacromedia公司的),我开始试着在里面画流程图,后来把表哥的书拿来学,做出了一些小的系统和动画。(说它小因为当时我给老师展示作品时是用1.44M3寸盘带去的。说到这感觉10年来IT业发展真快啊,当时为存那些作品买了一盒子软盘,经常这个坏那个坏的,现在一个优盘搞定,软盘都没处插了!)从那时我对动画感兴趣了。很快又被我发现了Flash!版本是Flash5.我记得清清楚楚。一边摸索一边看书,我的动画水平提高很快,小学老师都预约我给她们做课件。一到书店我就进多媒体技术区,那里大都是长我十多岁的人。初一时我的作品已经开始在省里获奖了。每次填表,获奖经历栏都写不下,只好用“Flash作品大赛省市级奖若干”代替。
 
然而为了中考,初三时我中断了Flash的学习,错过了全国比赛。考上重点高中后就更没时间了。只是上网时会搜索Flash,发现版本升级很快,Flash5Flash MXFlash MX2004Flash8…刚来到大学也没有想过要重拾Flash,后来为了结识一位女生,(低调低调)想起自己会Flash,可以给她做个电子新年贺卡。时隔4年再下载Flash时,发现它升级为Flash CS4,即Flash10.亏了我底子厚,快捷键、制作技巧很快回忆了起来,那部分脑细胞被激活了!
 
小学初中由于基础知识不够,我一直没能深入Flash的编程部分,也就没能涉足游戏制作领域。感觉函数变量这些大人学的术语高深莫测,记得我百思不得其解的两句代码: int i; i=i+1不过,也怪我没有去请教别人。成为大学生,我应该在ActionScript语言学习上多下功夫了。我网上买了本《ActionScript3殿堂之路》,(那是一位业界与我“同辈”的研究生写的。耻辱啊!发誓要赶上来!)发现自己有幸避开了AS语言发展的不成熟期,因为AS1AS2很不规范,对编程人员是一种折磨,AS3做了大刀阔斧的改进,完全符合ECMAScript规范,并修炼成了纯粹的面向对象语言。那是0812月,对“面向对象”不甚了解,从图书馆里借了两本书《面向对象的系统分析》《面向对象的系统设计》,都是七十多岁的人编的,由此再次证明“搞软件吃青春饭”言论的谬误!寒假里我研究这方面内容,感觉面向对象思想就是在电脑里对自然界做一个经过抽象处理的虚拟镜像,这里保留了有必要被认知的事物和联系。为了实践面向对象的思想并练习运用AS3语言同时恢复Flash制作功力,我用半个月时间开发了下面的这款键盘钢琴小游戏(“闪吧”网收录)。
但是,我发现,对于这类小型软件利用面向对象思想有些困难,一方面我对这一思想理解不深,另一方面我AS3水平不高。最后无奈回到了功能分析的老路子。我的感受是编程思想要以编程语言为基础,如果编程语言掌握不深入,不牢靠,那思想上可能会认为有些东西不可实现或实现困难;同时,编程技术要靠思想层面的指导。程序,笼统地说就是获得数据、处理数据的过程。考虑如何摆放事物能更好地组织数据,如何搭建事物间联系能更好地进行数据传递,这两个问题循环考虑下去,就是程序设计。从思想层面来讲,程序 = 算法 + 数据结构,而从硬件角度讲,程序 = 开辟内存 + 处理内存。思想层面的不同归根结底是开辟和处理内存方式的不同。存在即有其合理性,因此宏观地来讲,思想不分高下,要看具体的问题结构,在体现思想存在合理性的位置这种思想就表现出较高能力,这就是实事求是的重要性。从此说开,语言也不应该分高下,语言无论广义狭义都是对世界的描述方式,这也许就是多态,同是“public Description describeTheWorld(World : theWorld)”,而实现的方法体不同。对语言所谓高下其实产生于被描述事物、说话人表述力、听话人理解力不同上。而人们感受到的高下之分是可行域的大小不同,换句话说,不同语言,不同思想有各自的生存空间。从语言、思想自身来讲,要明确自己的优势和不足,做适合自己做的事,如果有一定的缺陷就不要奢求面面俱到,如果功能强大就要大胆突破人为划定的界限。同时,世界是发展变化的,生存空间会随外界的变化而变化,也会随着自我的改造而改变。完善大家共有的特性能让自己长生不老,增加别人没有的能力能让自己独占一隅。关键就要明晰自己有什么没什么,别人有什么没什么。形象地讲,每个人是一个虚拟机,人的发展,要随机应变地利用内存里自己有的,调用硬盘里自己少的。
 
逐渐地,我对AS的喜欢达到了较为痴迷的程度。虽然现在我的水平不是很高,但成为这门语言的高手只是时间的问题。在我的笔记本电脑里我专门腾出一个硬盘分区来存储这方面的相关内容。如下图所示:
 
我经常上51CTO这个技术网站,发现中国IT业对FlashActionScript缺乏前瞻认识,对云计算这类东西趋之若鹜。事实上我认为,云计算是随信息技术发展被动产生的,它完善的再好也只是搭个台子,真正唱戏的还是软件应用。不要一窝蜂的去搭台子,总有一天它会搭好,而搭台子的工人未必全能转型为后勤,多半要下岗,之后长期需要的是演员,不仅会唱戏还要唱得好,好演员才有更多登台机会!虽然我对云计算认识可能不专业,但我认为对FlashActionScript的轻视绝对是一个致命失误!
 
FlashAS的组合,将设计与编程完美结合,这就有了别人无法比拟的优势。Adobe公司之所以大举收购Macromedia,看中的就是Flash巨大前景。而AS语言的规范化和AVM虚拟机的升级则使Flash未来不可估量!浏览一下Adobe的官方网站就会发现,现在,Flash已经像Java那样发展为庞大的生态系统,并不断扩张延伸。
 
学完SSD3,仅就我目前知识发现,Java能做的,Flash也能做。此外,我看Java7的某些新特性在AS3里已经有了。虽然Java在编程语言排行榜上是第一位,在全球100亿台设备、26亿部手机上运行,但它的市场占有率已连年下滑。再加上Sun可能被Oracle收购,Java语言前途暗淡。而Java平台如今企图靠JavaFXAS3抗衡,差距太大了,时间太晚了。也许过上几年,会产生很多利用AVM工作的脚本语言,甚至PHP之辈从JVM移植到AVM上。Java经常给我一种风雨飘摇之感。
 
天下大势,分久必合合久必分,因为人们总试图让分开的东西产生联系,对合体的事物分而治之各个击破。云计算将PC间的距离感变得模糊,Flash开发出的AIR程序将Web与桌面界限变得模糊。我认为,现在的技术大趋势就是融合!电子设备向万能和可塑方向发展,背离这一趋势的技术会被无情淘汰。未来几年可能会出现几家超级大公司合作甚至合并的情况,或是掌控于某一公司的优势技术迫于压力被公开。当然,在融合过程中必然还会出现一些悲壮惨烈的竞争,但至少在我有生之年内这个大趋势不会变。越说越玄了,但我相信我的判断力。
 
Flash技术不会永远掌控在Adobe手中,其命运会有些像赤兔马。但未来几年内,它们会在Adobe运作下快速成长,并承受各方追赶压力和技术阻力。
 
Flash技术是大有前途的。我不做过多解释。技术也服从于商业运作。大肆炒作的技术往往不是最理想,最有前途的。真正的技术都在秘密时刻准备着。
 
以上是我的一些感悟。
 
我想在SSD3课程结束之后,更深入学习Flash技术。JavaActionScript有很多相似性,Java的学习促进了我ActionScript技术水平的提高,我正试着用Flash开发课程里的“咖啡馆系统”。比较之下,还是认为后者更简洁更优美。尤其在熟习了Flash界面制作以及组件使用后,Java的界面开发让我“生不如死”。待我有一定实力之后,会致力于Flash技术的普及推广。我打算大三时,像罗誉家学长那样,利用我科协“职务之便”,开展一系列Flash方面的专题讲座,组织兴趣小组。我要让Flash技术在学院里热起来,我甚至痴想推进课程改革,在学院里开设Flash专业课,哪怕只是选修课,没有老师的话到时候我可以来当,不给工资没关系,管吃住就行。呵呵。
 
大一下学期公元20080518日,我组建了“宽天下”富兰工作室。(“富兰”是我创造的Flash中文音译。取富媒体技术和如兰花般高洁之意。)但比较可怜的是,工作室共计成员两人,另一个是女生,担任会计,我初中同桌,也在西工大新校区,闹着玩加进来的,至今还没有开过成立大会,而我由于忙各种各样的事务没有推出大型作品。但我争取在工作室成立一周年之前让它发生质的飞跃,并逐步将其创办为集设计、开发、推广、教育身兼四职的工作室。这一切,都要以努力学习技术为先导。Flash技术深入学习需要人有综合素质。最好懂点美术、经典物理、历史、线性代数、几何学等,还要结合一定量的编程实践。
 
我可以肯定地说,SSD3课程的结束对我来讲只是面向对象编程的开始,从您那里学来的知识以及务实求真的作风对我将产生深远影响。
 
晃晃悠悠写了四千多字,该收尾了。
 
老师,您辛苦了。祝您周末愉快!
 
                                                         学生:李宽
 
                                                         20091212
 
历史今天:张学良、杨虎城制造了震惊中外的“西安事变”,亦称“双十二事变”。
 
 
附:马老师的回信
 
李宽:
        
读完你的信,又再一次证明了我们软件学院的学生很优秀,尽管我表面经常批评,但我内心一直很欣慰,我觉得我们学院的学生总体素质不错,积极、阳光。
 
明天发生的事与今天做的事密切相关,我希望你能坚持,坚持下来,你一定是优秀的,你对面向对象思想和程序的了解比较深刻,是一个爱思考的好学生。愿你继续
 
做一个全面发展、上进的好学生,并带动和影响你周围的同学。

很高兴收到你的来信。

祝:快乐天天!

马春燕