软件技术是二十一世纪的最普遍的生产工具,各个领域、各个行业都在大面积的使用。我们越来越生活在一个被软件包围的世界。前几天,我欣喜的发现,以后出门可以不带钱包了。因为发现无论超市,还是面包店,还是楼下买菜的小店,都可以用支付宝或者微信支付。软件已经渗透到生活的所有角落。
来到软院,我教授编程语言(C++、C#、Javascript),软件设计的方法和工具(面向对象分析与设计、数据库、人机交互)。课堂也涉及各种框架和中间件,从Spring、Java EE、Hibernate,到Web Service等等。总结下来,的确学的东西特别多,也有些杂。前端、后端都大概了解;算下编程语言,我写过C、C++、Java、Python、C#、Sql、common lisp、Swift、php、html、css、JavaScript、以及当初用于传感器节点的tinyOS 等NesC语言。编程工具更是数不胜数,想想这些过往,发现自己对编程也真是不反感。在老师的岗位上,更多的时间发在了论文上;但对着新的技术框架,往往很有动力去了解它,跟着tutorial跑example。自娱自乐。一方面为了教学,一方面纯粹为了好奇心。
比较汗颜的是,我写的代码,大都停留在toy玩具的阶段。我越来越觉得,我们应该让代码能够活动起来。构建一些可以实际使用、实际演示的系统或者软件;让这些软件不断的进化、不断的改进,像一棵树一样的生长起来。我曾经在课堂上问同学:软件行业与其他行业的区别有哪些呢? 同学们都很聪明,给出了很多答案。归结起来,软件其实有一个很基本的特性:它在很大程度上是“软”的,是“柔”的(顾名思义)。一方面,软件是现实世界的虚拟,需求变了,软件也的跟着动。客观上,软件需要不断的更新、重新设计和编写;另一方面,它又像是一个泥人,只要你设计得当,是可以很好的更改它、扩展它,进行拷贝和复用,且几乎没什么成本。现在的软件工程思想,大都围绕这个话题寻求降低软件设计、开发和维护的成本,甚至寻求全自动的、智能的软件开发。通过不断的迭代,不断的优化,软件的目标只有一个:不断的变得更加美好、更加有用。如果你用心,你可以看着一个软件,逐渐逐渐的变好,变得可用,变得易用,变得有价值。(当然,如果不用心,你可以可能看到它不断的衰败,甚至马上被废弃)
所以,我打算以后让一些项目和代码能具有可持续性。能够有学生和我一起,不断的去维护它。后面的同学可以在前面同学工作的基础上,继续开发。辛苦开发出来的东西,不应该马上就被遗忘和废弃;而不被遗忘的前提,是它应该是有用,是有价值的。所以,以后,我们将尽量做些有价值的事情,编写些有价值的代码,把代码看做自己的孩子。有这种态度,你将会看见它的成长和进步,你将感受到你自己内心的成就感。
自动标签 : 编写 价值 软件 可以 同学 设计 代码 软件设计 编程语言 编程 开发 工具 行业 发现
更多 [ 随笔 ] 文章