编程只是语言和框架吗?

来源:互联网 发布:斯大林 知乎 编辑:程序博客网 时间:2024/05/18 09:12

李绪成 http://blog.csdn.net/javaeeteacher

 

经常听到这样的说法,学习编程担心最后都变成了编码工人,学习Java担心Java只是能做个网站,不想一辈子编码,在简历中写精通JavaEE,熟练各种框架等等。

 

难道编程就只有语言和框架,都是重复劳动,没有发展前途吗?

 

编程的最终目的是实现功能,实现通讯录系统,实现小游戏,实现一个网站,实现中国移动收费系统,实现医院的信息管理系统,实现一个机器人等。各种类型、各种规模的系统都有。

 

而语言和框架在其中的作用是什么呢?

 

语言就是把我们的想法让计算机理解,让计算机按照我们的想法完成一些功能,具体功能如何实现还是需要我们告诉的,实际上还是我们的解决方案。可能就是我们所说的编程思想和业务领域的解决方案吧。另外一种语言是要解决很多领域的问题的,尤其是Java、C、C++这些语言,因为要解决很多问题,所以他的语法、雷库可能会很多,而在开发你的某个系统的时候可能仅仅用到其中的很少一部分,另外可能不如一些专门的语言解决的好。

 

框架是为工程提供一些公用的功能或者模块,本身并没有简化应用的复杂性,反而是增加了应用的复杂性,只是大部分的复杂工作由系统完成了,留给开发人员的内容可能不复杂了。这些框架通常都是在解决了很多同类的问题之后提出的,并不是适合所有情况。我们要用某个框架的时候,我们的思路必须和她一致,受框架的约束,而在完成一些简单应用并且后期发生变化很小的时候没有必要使用框架,可能最简单的解决方案就是最好的。另外当项目中的功能比较复杂的时候,框架并不能帮上忙,有时候还会帮倒忙,因为框架提供的毕竟是最常用的通用的功能,不一定能够满足我们特定的要求。

 

语言是工具,在开发的时候应该选择一个好工具,但是最重要的是你要有解决问题的思路,你要能够灵活运行语言这个工具来表示的你的思想。框架能够提供在多数时候能提高效率,但是仍然要选择好框架,更重要的时候你要有组织项目的能力,这个能力应该是完成很多实际项目之后才能有的。

 

所以除了学习语言和框架之外,更多应该去实践,把数据结构、算法的思想结合到具体的问题中,然后用语言去实现,在实现的过程才能体会语言和框架的优点,才能够真正的掌握语言和工具。不是简单使用别人的框架,多想想框架的一些思想,然后去灵活运用。不应该是学语言而是应该学使用语言解决问题的能力。应该去学习相关领域的知识,那才是要解决的问题。

 

这样就不担心下面的这些问题了:

  • 一辈子编程!因为可能一辈子都在解决不同领域的不同问题,所以某种意义上并不能算是重复劳动。
  • 选择Java、.NET还是PHP?本质上都是工具,所以你有了编程的思想,他们有多大的区别呢?
  • Web开发、桌面开发、嵌入式开发?区别在哪里呢?界面不一样,接口不一样,编程的思想还是相同的。

 

有时候在想,是不是应该由企业中变成经验非常丰富的人开设专么的编程思想课呢?

 

纯属个人想法,如果不妥,请批评。

原创粉丝点击