软件随想: 软件 = 程序 + 软件工程

简介:

软件随想: 软件 = 程序 + 软件工程 
最近和几个同道谈论了一些程序,架构,软件的问题,大家身在此山中,绕来绕去,始终没有能有明确清晰的结论。我把一些想法写在这里,供专家指正。

几乎所有程序员都知道“程序 = 数据结构+算法”这句名言。但是在实际的学习和工作中,也有不少人产生了疑问。 例如:

1) 我写了二叉树的周游算法实现,在这里,二叉树是数据结构,周游的实现细节是算法。我写的C 程序就是结果。 但是我这个程序有什么用呢? 在Java 中,似乎没有指针,那我可以不必了解二叉树么?

2) 我找到了工作,成了一名程序员, 但是我发现所有的算法别人已经实现了,我只要调用就可以了。似乎我公司的软件和数据结构,算法的关系都不大。那我当初辛辛苦苦学习的数据结构和算法有用么? 如何区分一个好的程序员和不好的程序员呢?

3) 我来到软件公司上班后,发现公司以前同事写的程序真是垃圾,根本无法维护。我要推翻重写!后来一个老员工笑嘻嘻地告诉我,我们现在看到的程序,就是去年的新员工愤怒地推翻重写之后的结果,大家反映还没有以前的版本好用呢。

那么我们软件行业赖以生存的“软件”, 我们程序员用来安生立命的“程序”是什么?   我们平时在博客和论坛上讨论各种和程序相关的问题,是在哪一个层次上谈论“程序”呢?  IT 专业的大学毕业生去找工作的时候说, 我懂软件工程,  我画了很多图, 写了很多文档, 最后得了很高的分数...  这些同学是真的懂软件工程?

全文请看 -

http://blog.csdn.net/SoftwareTeacher/archive/2010/11/20/6023769.aspx




本文转自SoftwareTeacher博客园博客,原文链接:http://www.cnblogs.com/xinz/archive/2010/11/27/1889868.html,如需转载请自行联系原作者

目录
相关文章
10zTree - 用 zTree 方法异步加载节点数据
10zTree - 用 zTree 方法异步加载节点数据
339 0
社区活动礼品兑换攻略
社区活动礼品兑换攻略
13979 1
|
SQL 分布式计算 数据管理
12款开源数据资产(元数据)管理平台选型分析(一)
12款开源数据资产(元数据)管理平台选型分析(一)
4051 2
|
人工智能 小程序 算法
分享64个JavaGame源码总有一个是你想要的
分享64个JavaGame源码总有一个是你想要的
356 0
|
JSON Linux 网络安全
一文搞定:whois数据库查询域名信息(WHOIS)
一文搞定:whois数据库查询域名信息(WHOIS)
3446 0
一文搞定:whois数据库查询域名信息(WHOIS)
|
11月前
|
人工智能 安全 搜索推荐
【claude网页版】中文claude网页版在线使用入口
Claude AI 是由 Anthropic 这家专注于 AI 安全和研究的公司开发的 大型语言模型 (LLM) 🤖。它就像一个超级聪明的语言专家,能够理解和生成人类语言,无论是进行日常对话
|
数据采集 人工智能 数据管理
12款开源数据资产(元数据)管理平台选型分析(二)
12款开源数据资产(元数据)管理平台选型分析(二)
2787 0
|
11月前
|
Docker 容器
【赵渝强老师】使用二进制包方式安装Docker
本文介绍了在企业生产环境中无法直接访问外网时,如何使用Docker官方提供的二进制包进行Docker的离线安装。文章详细列出了从安装wget、下载Docker安装包、解压、复制命令到启动Docker服务的具体步骤,并提供了相关命令和示例图片。最后,还介绍了如何设置Docker为开机自启模式。
382 0
|
移动开发 物联网 API
HTML6的最新消息
截至2023年10月,HTML6 仍处于提议和讨论阶段,尚未正式发布。W3C 和 WHATWG 等组织正不断迭代和改进 HTML 规范,采用“增量更新”策略。HTML6 的潜在新特性包括:改进的语义和结构元素、增强的 Web 组件支持、更强大的 API、多媒体功能升级、更好的可访问性和性能优化,以及对物联网的支持。这些改进将使开发者能够创建更复杂、高性能且符合无障碍标准的网页。然而,HTML 的发展是非线性的,新版本没有明确的发布时间,开发者应关注官方动态获取最新信息。
|
弹性计算 安全 API
访问控制(RAM)|云上安全使用AccessKey的最佳实践
集中管控AK/SK的生命周期,可以极大降低AK/SK管理和使用成本,同时通过加密和轮转的方式,保证AK/SK的安全使用,本次分享为您介绍产品原理,以及具体的使用步骤。
102953 5