之前在一个饭桌上,遭遇各种语言技术之争,特别是java和dotnet, php做企业应用之争。
有的同志说,
“dotnet是入门语言,刚入门IT的都从dotnet入手,现在还用dotnet都不好意思了”;
"现在企业应用都用java,可以跨平台,自由度高",
"PHP做起web应用来还是快、爽"。
以前我刚开始做程序,是用纸带打孔,控制自动机床。感觉就是两个字“神奇”。
后来甚至用WPS、Fortran编程,现在的WPS好像都没有编程了吧。
再后来决定修第二学位“计算机应用和科学”(原来是机电一体化),用C和汇编,玩点小东西,经常搞得机器重启;感觉就是挑战、原始。
98年毕业后,开始面对真正的企业应用了,用foxbase,foxprox做点企业应用,简单,快速;
后来用VB做企业应用C/S企业应用,也是快;
99年碰上B2B高潮了,从航空公司跳了出来,工资一下子翻了4倍,还帮搞掂原单位的赔款2万。毫不犹豫就跑了出来,为了面试,面试前一天看了一个晚上的英文版本MSDN学习ASP,竟然第二天面试结果异常感觉好,也玩起了ASP。ASP没有那么多讲究,很多逻辑写在ASP页面里面,也不觉得维护麻烦,还是一样,开发快,入门快;
玩了不到1年,ASP就开始被用java替换,那时候的java真不成熟,struts刚刚出来,oracle的驱动还不少问题。我们将struts改了个遍,感觉自己真正有了挑战感觉,也才觉得自己开始重视组织代码了,struts后来被废掉,还是用了自己的mvc架构,感觉也蛮简单的。
过了三四年,感觉java越来越复杂了,struts, castor, ibatis, hibernate,ofbiz, compiere,学习和研究这些代码像引用甘泉般的感觉,爽啊,感觉别人写的东西就是牛。
后来,自己也开始写框架了,代码生成器,MDA驱动框架,无编码平台,不断挑战自我的自豪感。被人佩服的感觉还是蛮好的。
在使用主流java过程中,还有不少项目使得我对VC++, PB,delphi, embled VC++,J2ME(BB)都玩过一两个项目,但后来都被java企业应用的需求将这些技术淹没掉了,不过,每种语言都有很不错的一面。
甚至本身就是对java架构思想的一种促进。
03年后,跟着朋友做公司,都是来自CA/IBM的外包项目,完全又改变了一种思维,外企的产品都是不管基于什么语言,都有一个成熟的平台,只要稍微定制一番就可以实施完一个项目,所以,又玩了两三年各种平台的定制开发,包括CA的Unicenter BI功能扩展,USVD, BMC的ITSM, HP的Help Desk,IBM的II和RPM项目管理应用系统,这些都是早期不错的定制平台,后来咱们国内的西安协同, Dorado, EOS更是经典,差别就是别人的是基于某中业务,而咱们国内的纯粹以技术为主。
不过,这些平台特他妈贵,所以,在我们羽翼丰满后,一些客户感觉我们服务不错,技术挺高,就开始找我们自己直签一些项目了,俺决心自己开发一套平台,集合他们的定制技术有点,彻底替换原来定制性不强的USVD。
租了个哥们的房子,用了两周时间,改吧改吧ofbiz,加进了xml表单模型,类似于hsql的Entity Engine查询语言,以及加上JBPM, ruile engine来适应业务逻辑的AOP,这就有了俺们公司后来的JEYOFLOW,80%的开发肯定不用写一行java或者js, html,css的,只需要配置xml,在04年底出来一个这样的无编码平台,还是感觉蛮不错的,而且在几十个项目中锤炼过。
再后来,发现自己写不动代码了,每天要处理七八十封邮件就够耗费时间了,而且要开大大小小的很多会议。时间管理、从技术走向管理、项目管理,都是管理管理管理。发现从技术走向管理比学习一门编程语言要难多了。只有偷出时间来关注各种开源项目,用debug和document方式来熟悉各种开源了。
现在,老板又要求不断向业务方面前进了,整天好像吃不完的饭,应不完的酬,人生咋就这么多事情。为的就是练就一身能力,专业能力、管理能力、业务能力,特别是后面两种能力,还要付出很多。
真想自己回到程序员,安静地来写代码。不过,这是不可能的了,但最少,我会一直关注代码,关注开源,从学习中保持自我。
从http://www.infoq.com/cn/news/2009/12/tiobe12来看看各种语言的流行趋势吧,从以下表格可以看出:
java还是蛮高的占有率的17%;不过,好像比例有些开始下降了。
C有这么高确实让我吃惊;
而c#不到java一半也是预期中的;但比例却在上升。看来开发效率是一个非常重要的因素啊;
PHP也不错的表现啊,我还以为要快被遗忘了呢;
PERL和Delphi好像要烟消云散了,delphi还是蛮不错的,速度、安装方便性方面我挺怀念的;
PB这些已经消失在这列表了
还有LISP, PASCAL这些,还蛮坚挺的,至少比PB。
世界变化真快啊!
Position
Dec 2009
Position
Dec 2008
Delta in Position
Programming Language
Ratings
Dec 2009
Delta
Dec 2008
Status
1
|
1
|
= |
Java
|
17.061%
|
-2.31%
|
A
|
2
|
2
|
= |
C
|
16.285%
|
+0.12%
|
A
|
3
|
4
|
↑ |
PHP
|
9.770%
|
+0.29%
|
A
|
4
|
3
|
↓ |
C++
|
9.175%
|
-1.72%
|
A
|
5
|
5
|
= |
(Visual) Basic
|
7.778%
|
-1.70%
|
A
|
6
|
6
|
= |
C#
|
6.258%
|
+1.61%
|
A
|
7
|
7
|
= |
Python
|
5.185%
|
+0.62%
|
A
|
8
|
9
|
↑ |
JavaScript
|
3.515%
|
+0.45%
|
A
|
9
|
8
|
↓ |
Perl
|
2.692%
|
-0.91%
|
A
|
10
|
11
|
↑ |
Ruby
|
2.653%
|
+0.34%
|
A
|
11
|
10
|
↓ |
Delphi
|
2.301%
|
-0.75%
|
A
|
12
|
13
|
↑ |
PL/SQL
|
1.494%
|
+0.35%
|
A
|
13
|
35
|
↑↑↑↑↑↑↑↑↑↑ |
Objective-C
|
1.159%
|
+1.00%
|
A
|
14
|
14
|
= |
SAS
|
0.911%
|
+0.07%
|
A
|
15
|
19
|
↑↑↑↑ |
Lisp/Scheme
|
0.881%
|
+0.37%
|
A--
|
16
|
17
|
↑ |
ABAP
|
0.723%
|
+0.12%
|
A-
|
17
|
15
|
↓↓ |
Pascal
|
0.698%
|
+0.01%
|
B
|
18
|
21
|
↑↑↑ |
ActionScript
|
0.655%
|
+0.17%
|
B
|
19
|
12
|
↓↓↓↓↓↓↓ |
D
|
0.587%
|
-0.60%
|
B
|
20
|
20
|
= |
Lua
|
0.585%
|
+0.09%
|
B
|
分享到:
相关推荐
语言的发展和演变也比任何其他方面的改良更悠久,而且一直影响着计算机未来的发展趋势。 其次,本文对当前影响力较大的趋势进行了分析,主要有三种:声明式编程风格、函数式编程和动态语言研究。声明式编程风格主要...
程序人生网站是一个专为计算机编程爱好者打造的交流与学习平台,以下是该网站的详细介绍: 一、网站基本信息 创始人:姚云。他在建站时年仅25岁,接触电脑不到半年时间,但凭借对电脑的热爱和计算机天赋,成功创办...
第3版可能对前版的内容进行了更新和修订,以反映最新的编程语言发展和实践。 PDF和CHM格式的文档提供了书籍的电子版,方便读者在不同设备上阅读。PDF格式通常适用于打印或在电脑上阅读,而CHM(Microsoft Compiled ...
西门子STEP 7编程语言与使用技巧是工业自动化领域中的关键知识点,尤其对于从事工控行业的技术人员而言,掌握这些知识能够显著提升工作效率和项目实施能力。本文将深入探讨西门子STEP 7软件中使用的编程语言类型、...
随着技术的发展,三菱推出了新一代的PLC——MELSEC iQ-F系列FX5,该系列PLC支持多种编程语言,包括Ladder Diagram (LD)、Function Block Diagram (FBD)以及Structured Text (ST/SCL)等。其中,ST语言因其高级语言...
Rust编程语言是一种系统级编程语言,它注重性能、可靠性、生产率和系统安全性。Rust的设计哲学强调零成本抽象、...随着Rust社区的不断壮大和技术的持续进步,Rust已经成为并将继续成为未来编程语言发展的重要推动力量。
Java语言程序设计基础篇是学习Java编程的入门阶段,涵盖了变量、数据类型、运算符、控制结构、数组、类和对象等基础知识。本资源提供的"java语言程序设计基础篇课后编程练习答案"是一个非常宝贵的参考资料,可以帮助...
Python语言程序设计基础是编程初学者的绝佳教材,尤其适合那些对第二版内容感兴趣的读者。嵩天等作者的这本著作深入浅出地介绍了Python编程的基础概念和实践技巧,旨在帮助读者快速掌握这一强大而易读的语言。通过...
第一部分重点介绍了汇编语言的基础知识和程序设计技术,包括汇编语言特点、数据表示与类型、Intel CPU的简介、8086/8088寻址方式和指令系统、汇编语言及其程序设计初步、子程序设计与DOS功能调用、输入输出与中断、...
《C++语言程序设计第五版》是郑莉教授编著的一本深入介绍C++编程的教材,适合初学者和有经验的程序员进一步提升C++技能。这本书的重点在于讲解C++的基础知识,高级特性以及如何有效地设计和实现程序。在描述中提到的...
通过本手册,读者将全面了解ST语言的基础知识,从字符集和标识符规则到数据类型和控制结构,为编写高效、清晰的ST程序打下坚实基础。在实际编程过程中,结合具体的例子和练习,读者将能够灵活运用这些知识,解决各种...
智慧校园小程序-微信小程序毕业设计(免积分...智慧校园小程序开发将是未来校园建设和发展的主流趋势。主要功能有成绩查询,课表查询,校车查询,快递代取,电费缴纳,失物招领等等。小程序分为管理端,后端,和用户端
Java语言是一种广泛应用的计算机编程语言,根据国际计算机开发语言 TIOBE 排行榜的统计显示,从2002年以后,Java语言的使用频率始终稳占计算机编程语言使用频率榜单的前两位。然而,在实际应用过程中该语言仍存在...
书中深入探讨了程序设计语言的实践应用以及理论基础,并对编程语言的语义和语用进行了详细的阐释。由于给出的内容片段有限,以下是根据所提供信息推断出的一些知识点和相关内容: 1. 程序设计语言的实践应用:实践...
这是全书的第四部份 101页~200页 (17.35M)
标题中的"beckhoff 倍福PLC程序"指的是德国Beckhoff公司的自动化控制程序,这是一家专注于工业自动化技术的公司,其产品包括可编程逻辑控制器(PLC)和人机界面(HMI)系统。描述中提到的"twincat 2.0版本"是...
Rust是一种现代编程语言,它在安全性、性能和并发方面具有显著优势。Rust的设计理念融合了底层语言对系统资源管理的控制能力以及高级语言的抽象优势。这种设计使得Rust非常适合在需要高性能代码的应用场景中使用,...