理论有何用?不问“何用”,先问“用否”!

简介:
  昨天准备写点东西,把原来同事的代码拿过来看看,这位同事有数年大型国企、数年知名外企工作经验,而且“案头”常放一部厚案头的“设计模式”方面的书,但我之前从未和他一起写过程序,在看之前我一直在想他写的程序应该非常不错吧,但是打开他的解决方案,看到项目里面很多都是一个文件里面写完了所有的功能,一个函数写了很多功能,其中一个函数里面写了很多的嵌套的 if(..){...}else{...},看得人眼花缭乱,如果不认识他的人看了这些代码,一定认为这是一个新手写的!

    想起同事以前偶尔说的OOP(面向对象编程),想起他案头上的那本厚厚的设计模式,再看看他写的代码,我都不相信这是他写的。OO有啥用?OOP有啥用?设计模式有啥用?归根结底,“理论有何用”?

    这些问题,我之前也怀疑过,也迷茫过,但后来我尝试着慢慢的去使用,一开始有点“鹦鹉学舌”,有点“画蛇添足”,但后来我慢慢领悟到 理论来自实践,理论指导实践, 并非理论无用,而是要先学习理论,继而使用理论,然后检验理论,发展理论,甚至找到新的理论并实践出巨大的成就。两个多世纪以来世界科学技术的发展印证了这一理论和实践的关系,“理论物理学”便是物理学发展的最高境界!

    回过头来说说我们的OO(面向对象)理论,为什么需要OO?因为历史上的“面向过程”遭遇了“软件危机”,软件系统越来越复杂,变化越来越快,封装复杂性,抽象出不同问题间的共同性,以“ 不变应万变” 来解决现代软件系统复杂多变的特点。自从OO理论提出以来,近20年的软件取得了飞速发展,各种具有OO特点的高级语言层出不穷,比如 C++,Java,C#等等,但并不是我们有了这些OO的工具和语言,就等于我们开发的软件就是符合OOP的,如果我们拥有OO的理论,而不到实践中去使用它,那等于我们没有理论,等于我们永远处在小作坊式的软件开发水平,这是我们学习理论的目的吗?天天写哪些“垃圾”(对不起我这么说,我承认我自己有时候也会写垃圾代码,但不经常是)代码,堆砌出哪些Bug重重,效率低下,运行不稳定,客户不满意的软件,我们有什么成就感呢?

    所以,请先不要说“ 理论有何用”,先问问自己你“ 用理论”了吗?



    本文转自深蓝医生博客园博客,原文链接:http://www.cnblogs.com/bluedoctor/archive/2012/01/20/2327982.html,如需转载请自行联系原作者

相关文章
|
5天前
|
数据采集 人工智能 安全
|
14天前
|
云安全 监控 安全
|
6天前
|
自然语言处理 API
万相 Wan2.6 全新升级发布!人人都能当导演的时代来了
通义万相2.6全新升级,支持文生图、图生视频、文生视频,打造电影级创作体验。智能分镜、角色扮演、音画同步,让创意一键成片,大众也能轻松制作高质量短视频。
1175 152
|
19天前
|
机器学习/深度学习 人工智能 自然语言处理
Z-Image:冲击体验上限的下一代图像生成模型
通义实验室推出全新文生图模型Z-Image,以6B参数实现“快、稳、轻、准”突破。Turbo版本仅需8步亚秒级生成,支持16GB显存设备,中英双语理解与文字渲染尤为出色,真实感和美学表现媲美国际顶尖模型,被誉为“最值得关注的开源生图模型之一”。
1829 9
|
11天前
|
人工智能 自然语言处理 API
一句话生成拓扑图!AI+Draw.io 封神开源组合,工具让你的效率爆炸
一句话生成拓扑图!next-ai-draw-io 结合 AI 与 Draw.io,通过自然语言秒出架构图,支持私有部署、免费大模型接口,彻底解放生产力,绘图效率直接爆炸。
741 152
|
7天前
|
SQL 自然语言处理 调度
Agent Skills 的一次工程实践
**本文采用 Agent Skills 实现整体智能体**,开发框架采用 AgentScope,模型使用 **qwen3-max**。Agent Skills 是 Anthropic 新推出的一种有别于mcp server的一种开发方式,用于为 AI **引入可共享的专业技能**。经验封装到**可发现、可复用的能力单元**中,每个技能以文件夹形式存在,包含特定任务的指导性说明(SKILL.md 文件)、脚本代码和资源等 。大模型可以根据需要动态加载这些技能,从而扩展自身的功能。目前不少国内外的一些框架也开始支持此种的开发方式,详细介绍如下。
543 5
|
13天前
|
人工智能 安全 前端开发
AgentScope Java v1.0 发布,让 Java 开发者轻松构建企业级 Agentic 应用
AgentScope 重磅发布 Java 版本,拥抱企业开发主流技术栈。
687 14