on
论码农、码商与码士
产生这三个概念还源于学习时,话说某日某人问我,什么EJB。我回答说,所谓EJB就是企业级的Java Bean。那什么是Java Bean呢?就是java里的咖啡豆。劈头盖脸就是一句”我当然认识Bean这个单词”,我都没意识到,原来Bean这个单词是那么简单,以致于我这样的翻译回答是在侮辱对方的智商。
什么是Java Bean呢?我认为还得从Java这门语言的产生说起。程序员经常熬夜,一熬夜就喝咖啡。Java成员在讨论新语言取什么名字时,当时他们在喝咖啡,有人提议叫Java,于是最终名字就定为Java了。这样想来,其实也难怪Java这个单词那么容易被命名作语言名。要我说什么蒙牛、特仑苏,安排给程序员们每晚一瓶牛奶,也许下一个百年,称霸世界的某种新语言就能被命名为特仑苏,想想就刺激。
而Java Bean本质上就是一些可串行化,并有一定规则的Java代码块。所谓Java编程,就像是煮咖啡一样,需要耐心和细心,也就是计算机从西方开始发展,要是从东方开始发展,难说当前最受欢迎的语言应该叫Tea, Java Bean也不再叫Java Bean 而是叫Tea Leaf。总结的说,完成一个泡咖啡艺术,首先先要磨好上佳的咖啡豆,写一个完整的应用,也要先造相对完美的类模块。以Java Bean代表这些可以放在一起,煮出完美咖啡的代码段实在是再好不过。
胡扯了半天还得回到EJB是如何让我想出码商、码士的概念。自古以来,社会中主要有几种角色:士农工商。而写代码的人通常被称之为码农。这也是和这份职业的特色是十分相关的,为农者,勤勤恳恳,最重要的作用是打下了整个计算机界的基础。俗话总说,不要重复造轮子,可是作为码农,谁没有造过几个轮子,虽然可用者不知凡几。当开始写EJB以后,不难发现,EJB的分工可以是十分明确的。EJB的每一个组建是可以订制的,也可以是早已经搭建好的,直接拿来用即可。士农工商的出现,最重要的原因是,社会分工开始进一步明显。有的人善于整体的治理,成为了士官。有的人倾注于底层,专注于每一亩土地的利用,成为了农民;也有的人专注于吸收各自的劳动成功,成为物品的搬运工,成为了商人。总的来说,很久以前,代码界只存在一种人——写代码的人。人人都是农民,人人都是商人,每个人都在索求自己所需要的那部分代码,同时,每个人也都在耕耘,希望能建设出自我的空间。但随着编程语言的开发,特别的Java的变化,要求“程序员们”开始分工,开始只知冰山一角,而不知全貌。架构师就像那码士一般,提出了框架,并不负责每个细节的实现。只需要将码代码的任务交给旁人,就足以规划完成一个庞大的项目。最为明显的EJB可以进行自由买卖、自由装配。
每个程序员花费半生心血所耕耘的土地,是他后半生躺着赚钱的桥梁。辛苦一生研究c语言的程序员万万没想到,这个世界还存在着只用写XML文件就能赚钱的程序员。但程序员总该明白,自己写的代码,或多或少,都传递在这个自由市场中。如今买卖的是Java Bean,很多写Java的程序员再难生存下去,这个世界,做农民提供粮食的人差不多就够了,再多,Java Bean 也就不值钱了。或许我所知的R语言、python 仍处在一个成长期,包的管理还处在平台托管的状态中。假设R不再那么开源,R包可以开始买卖,趋之若鹜的人,将不再造同样包的轮子。既然什么包都能卖,那综合一下爬虫包、表格解析包,一下子一个自动爬解析表格的包就做成了。本质上,只是利用了别人已经写好的两个组件。仔细想想,用谢大大最多的,自动生成rmarkdown,其实质也是利用了pandoc等软件,这不也是利用代码拼接的优势吗?
码农,不能一辈子是码农,总要向码商,码士稍微转变一下。EJB已足以说明问题,程序的安全其实是更重要的一点,这需要更多的码士,研究出一个更为标准,并不断进化的准则,以保证程序的安全性。其次,需要更多的码商,总的来说,EJB已经有足够多的量,而实业中,缺少能够做拼接的人,Java代码写起来本身难度并不大,而更让人头疼的是极其复杂和严格的配置过程。
总结本人,一分码士、三分码农、五分码商、剩下一分爱玩的心,总结起来,甚至称不上程序员,仅仅是一个简单码之学徒罢了。