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

简介:

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

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

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,如需转载请自行联系原作者

目录
相关文章
|
1月前
|
关系型数据库 数据库 PostgreSQL
已知成长器软件用户手册
已知成长器软件用户手册
|
9月前
【软工】什么是软件?
【软工】什么是软件?
62 0
|
9月前
|
小程序 安全 前端开发
【创造者】关于小程序的开发
【创造者】关于小程序的开发
54 0
|
9月前
|
数据库管理
软件工程——什么是软件
软件工程——什么是软件
517 0
|
11月前
|
SQL JavaScript 前端开发
从硬件工程师转到纯软件开发,回顾那些岁月
前段时间,我写了很多关于js的文章,分享的乐趣使我决定继续写下去。在接下来的时间,我计划也开始写关于Java的内容。
|
存储 数据可视化 安全
分享5款让你工作事半功倍的软件
无论你是一位职业人士、学生还是创业者,以下这些工具都可能对你的工作和生活有所帮助。下面推荐五款实用的软件工具,它们不仅功能强大,而且易于使用。
127 1
分享5款让你工作事半功倍的软件
sbs
|
SQL Oracle 关系型数据库
软件需求工程
前言之前看过一些系统分析相关,偏信管、软工专业的书:《系统分析与设计方法》,《软件需求》。 需求工程 部分对实际开发工作有不少帮助。相信很多开发也不太了解信管或者软工,更多关注于具体领域的前沿技术,所以这些概念应该能用到。文中部分是引用书中原文,部分是个人观点。文中产品,软件,系统是类似的含义。2020.7.10 —— by zz。需求需求一词的字典义是“被命令或强制性的东西;需要或者必要”,和软
sbs
567 1
软件需求工程
|
存储 安全 数据库
【软件工程基础】软件需求
【软件工程基础】软件需求
108 0
|
Rust 算法 开发者
在象牙塔里写代码:高学位、低收入,软件还必须“高质量”
2012 年 3 月,一群志同道合的软件开发者聚集在牛津大学并参加了一个研讨会,这群开发者的职业的共同之处是:通过写代码/开发软件来支持科学研究。但他们的职位各有不同,而且没有清晰的职业道路,于是这群人创造了一个术语来描述自己的工作:研究软件工程师(research software engineer,以下简称“RSE”)。
110 0
|
人工智能 程序员 开发工具