从计算机出现到现在,已有数十年的历史,计算机编程的发展也有数十年的时间了,在这漫漫岁月之中,计算机发生了翻天覆地的变化,程序编写的理念也经历了许多重大的变革。
早期的计算机是专供科学家使用的工具,有很高的门槛,普通人根本无法操作甚至不能解理计算机的存在,那时候的计算机程序主要是在科学领域。因其性能所限和当时编程语言的特性,当时的程序主要是面向过程,注重运行效率和资源利用。而到了电子技术飞速发展的今天,虽然尖端科学领域依然受限于计算机的性能,但对于面向普通人的应用领域,计算机的性能却是绰绰有余了,随着面向对象理念的兴起,程序的编写(主要是应用程序的编写),则越来越“高级化”。
所谓“高级化”,这个词语是我臆造的,在程序里,所谓“高级”,“底层”之类的词并不代表高明与否,完全是描述程序逻辑与拟人化思维的接近程度。
早期的计算机程序,因为种种原因,是使用更利于机器编译的手段编写,几乎完全是人脑模拟机器的运作来进行思维逻辑构造,所以机器执行起来效率很高,但可读性低。在传统生物进化的观念看来,这种方式远离了“灵长类”的思维,于是显得更为“底层”,至于现今常规应用程序的编写,随着时代的发展,因各种原因,更利于人脑的理解,显得更为“高级”。不仅“高级”并不高,底层也并不低,似乎有反过来的趋势,“高级”通常来说技术含量比“底层”低一些。
在应用程序开发的时候,在面向对象理论的指导下,功能的实现并不要求自己完全编写,大抵是因为术业有专攻,纵然再博闻强志的人,也不可能在所有方面都十分精通,所以使用编程工具就成为了非常必要的手段。
在选择编程工具的时候,有的人倾向于看起来比较原始,但是对于计算机而言执行效率更高的编辑和编译工具,还有一部分有倾向于选择IDE(集成开发环境)。一般说来,单独的编辑和编译工具,在执行自己的任务时,的确要比IDE的单项功能快许多;而另一方面,效率高的工具使用难度较大,配置相对复杂,需要自己对计算机原理有充分的了解才能做到,于普通人而言门槛过高,IDE在这方面就比较友好了。
水稻的种植是相对基础的但又十分必要的产业,产业模式较为单一,必须精确处理好光,水,空气,土壤的调配,一丝也不能马虎。然而基于水稻种植的衍生的粮食加工业却呈现出百花齐放的景象,产业模式极为多样,且受限很少,可以以多种形式存在并发展,在生产的链条中,种植属于底层,而加工属于高级,底层的不可缺少,但可以通过批量管理来减少人力资源的消耗,而在粮食加工领域,主要注重安全性,易用性,人们买到手简单烹制即可食用。
我觉得编程也是这样,在底层的实现上,可采用批量管理的方式,减少人力资源的消耗,如果人人都去开发底层,不仅可能收效甚微,还不能满足应用的需求;而在面向应用的功能上,则应以安全性和稳定性为主导,开发出易用,简便的应用程序。
所以我认为开发底层的技术人员,选择工具应该着重效率和与计算机的交互,而面向应用层的开发人员,则还是应该尽量选择简单易用的开发工具。当然,我还是更倾向于底层的,毕竟是计算机的基础,和计算机的交互,运行效率的提升应该是每个编程技术人员的进步方向,毕竟人吃饭可以选择吃各种品味,但不能选择不吃饭而去吃石头,小国寡民,全民耕种固然满后,担却是非常稳固的经济结构,如果没有人种地了,加工业再发达,人能吃空气为生吗?