使用一种scheme语言变体,基于公司内部的开发框架,做的是手机UI相关的开发。感觉和主流脱节了,如何规划自己的技术道路?
看你意愿了。我是非常愿意的。。而且scheme十分高大上啊!
不过也有被逼的。我的一个同学在一家日本外包公司。用COBOL。。
因为历史原因,不原因试用新技术。就不太好了。。
我们的项目用类Java的Groovy语言,岂不是更脱节?Groovy年度语言排名都在50左右的。但是呢,使用多了,就会发现它能集成了很多成熟语言的优良特性(Python,Ruby,JS等),这也有助于我了解主流语言的特性。
对于使用Lisp及其衍生语言的coder,还是很崇拜的。
我搞的也是小众语言,在金融机构搞后台开发,平台是IBM的iSeries大型机,语言是IBM自家的RPG。这套玩意按照IBM的说法就是文件读写速度快而且稳定可靠,实际功能少得可怜,再加上部门自身的要求,算法,数据结构,设计模式,重构等等统统和这里无缘,图形界面只有8种颜色,看着就恶心。这个平台自身不支持任何形式的代码版本管理,所以一切皆为手动(IBM有另外的管理工具,但是我这个部门对其的推广十分消极)。到现在我已经做了三年了,觉得整个人都快做废了。唯一的好处就是因为会做的人少且用的公司都是不怎么差钱的主,所以工资还是不错的。我只能说这种情况适合想要安定混日子的人,如果想要追求自身技术上的发展就要早些抽离,我自己也不准备久干了。
如果是二三十人使用这种语言,可能会运行良好,而且开发效率也会很快。但是现在公司北京site几百人都用这种语言,就恐怖了。本来是一种拥有面向对象特性的scheme,可很多人当做具有函数特性的java来写。没有明确的best practice,小众语言很难在大规模团队推行。
小众语言只是从结果上来看的。任何一门语言只是工具,都有它所用的背景。可以考虑一下它小众的原因:这个行业本身的人就不多?或者是行业本身用户广,只是这门语言用的人少。如果是后者,你有行业背景知识,或者说领域知识的话,小众语言其实影响不大。
我觉得重要的并不是用什么语言,而是是否是真正的“程序员”。中国每年有最多的计算机相关专业应届毕业生,但是企业依然觉得在这个大池子里很难找到适合自己的人才。现在业界的从业者堆砌代码的人多于贡献创造性代码的人。当然,每个人在初学期都要有这种临摹的过程,但是长期只知道堆砌的人和建筑工地上只搅拌水泥沙子的小工有什么区别。我并不鄙视小工,每个人都有选择自己活法的权利,只要自己别抱怨自己的选择就好。 真正程序员的通用语并不是某一种语言,而是基于计算机科学体系基础的那些硬功夫:操作系统原理,网络协议,算法等等。我印象中看lucene的创始人写过,写lucene之初他刚开始接触java,于是一个java初学者就写出了lucene。说白了,语言背后的是原理,浮在表面上的是语法和类库。纠结在表面上,学什么语言都只能做到比HELLO WORLD高级不到哪里的水平。 程序设计语言永远是在朝前发展的,我们入了这个行当的人,要想真让自己的修为高大上,唯有直面发展和变化迎头赶上不断学习吧,否则就安安心心做个小工好了。