研究生培养
您当前位置:首页 > 研究生培养 > 研究生新闻

【学术微沙龙】编程语言的选择与编程范式的思考

发布时间:2025-12-31

  为营造活跃的学术氛围,拓宽研究生的科研视野,激发创新思维,2025年12月29日下午2点半,一场题为“编程语言的选择与编程范式的思考”的学术微沙龙活动在鉴主1602教室顺利举行。本次活动由翁松担任主讲人,吸引了众多研究生参与讨论。

  讲座伊始,翁松抛出了一个在编程界颇具争议的观点:主流教材中被奉为圭臬的“面向对象编程”(OOP)是否真的是解决现代软件复杂度的最佳方案?他指出,选择错误的编程范式可能导致不必要的复杂性和低效的开发过程,这直接影响着软件设计的质量。

  随后,翁松从计算机的物理架构(冯·诺依曼架构)、软件的核心目的(数据变换)以及复杂度的根源(状态管理)这三个基础事实出发,深入剖析了面向对象编程在实际工程中面临的困境。他通过生动的代码示例,详细阐述了OOP存在的四大核心问题:共享对象导致封装在实际应用中形同虚设;行为与数据的强制捆绑产生了大量无意义的中间层;过度抽象导致代码逻辑碎片化,增加了认知负担;以及为了满足OOP规范而造成的抽象层次膨胀。

  在回顾编程语言的发展历史时,翁松分析了OOP在80-90年代盛行的原因,指出其在单核CPU和GUI开发时代的局限性与当时的历史合理性。然而,随着多核CPU、分布式系统及微服务架构的兴起,传统的OOP范式在处理并发和大规模数据流时显现出疲态。他对比了现代过程式编程(如Go)、系统级安全语言(如Rust)以及函数式编程在解决“状态管理”和“并发安全”方面的不同权衡。 

  翁松特别引入了“编程语言的不可能三角”理论,即在控制力、安全性和简单性之间很难兼得。他引用“萨丕尔-沃尔夫假说”指出,语言决定思维方式,选择编程语言本质上是在选择解决问题的思维模型。他建议同学们在未来的科研与工程实践中,不应盲目遵循教条,而应采取平衡的方法,根据问题本身选择最合适的范式,例如在需要的地方使用类进行数据抽象,同时利用过程式编程保持逻辑的线性与清晰。 

  在互动交流环节,现场气氛热烈。同学们就“如何由OOP思维向现代过程式思维转变”、“Rust语言的学习曲线”等问题与主讲人进行了深入探讨。 

  本次学术微沙龙不仅加深了同学们对编程语言底层逻辑的理解,更引导大家跳出技术框架的束缚,从第一性原理的高度去审视软件工程中的复杂性问题,为今后的科研工作提供了新的思考维度。 

  (撰稿:金承鹏;编审:闫天歌;终审:刘浩杰) 

附件: