(记者团 张文鹏/摄)
■ 记者团 闵权 通讯员 陈琳
无讲稿,代码贯穿整个演讲——6月12日,全球程序员心中的软件开发教父、世界软件开发领域最具影响力的五位大师之一、美国科学家马丁•富勒做客“科学精神与实践”讲座,为我校学子带来了一场名为《21世纪的软件设计》的演讲。
马丁•富勒现在担任世界知名IT服务公司思特沃克首席科学家,在面向对象的分析与设计、UML、重构、敏捷式软件开发(包括极限编程)等领域都有很深的造诣,编写了《分析模式》、《重构》、《UML精粹》、《规划极限编程》等软件开发的宝典,是软件领域的先行者和领军人物。
从简单的几行代码一直到最后一整页的PPT,再加上各种专业编程词汇,马丁的演讲是“纯技术”风格的演讲。“这就是教父的神奇之处,”现场聆听者评价,“真正的程序员看到代码就会荷尔蒙飙升。”
他先以设计患者网上预约医生挂号为例,为同学们讲解理查森成熟度模型——一个关于网络应用的设计和开发方式的模型。
他将这个模型分为了四个阶段:1, the swamp of POX, 使用HTTP作为传输协议远程交互;2, 资源,将资源细分,使访问更加便捷;3, HTTP动词,该模型引入了一个动词的一套标准,使访问者不会因类似的方式而得到不同的结果;4, 超媒体控制,模型帮助客户开发新的协议,也让服务器团队可以增添新的功能。
而后,马丁为大家介绍了NoSQL(非关系型的数据库)和DSL(领域特殊语言)。NoSQL(NoSQL = Not Only SQL ),意即反SQL运动,提倡运用非关系型的数据存储。和传统的ACID(关系型数据库)相比,NoSQL克服了数据库高并发读写和海量数据的难高效率存储的难题。“这会使得NoSQL在web2.0时代有巨大空间。”他评价说。
当说到DSL(领域特殊语言)时,他主张使用DSL(领域特殊语言)改善软件设计。和通用目的语言(C#、C++、JAVA等)相比,DSL是为了一个特定任务开发的语言。“因为DSL专注于特定领域,能够减少开发人员设计的差距,促进与业务人员之间的沟通,这将行之有效地提高软件开发效率。”马丁介绍说。同时DSL细分了软件的开发,避免了通用目的语言给编程带来的复杂性。
在讲解技术的同时,具体的案例剖析和详实的数据统计也使得马丁的演讲详细生动。软件学院的王同学说道:“这演讲相当完美,在编程方面给了我许多启发。”
“现在有些大学生觉得编程很无聊,而您却在软件开发领域不断创新,您对大学生编程有什么建议么?”对于同学的问题,马丁回答说:“这是我的爱好,我愿意为它而学习和创新,并且我不投入全部的精力来做工作。我平时喜欢登山远足,而不是像有些大学生一直宅在家里,这使得我工作更加有激情,效率也就更高。”