之前在一个饭桌上,遭遇各种语言技术之争,特别是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
|
分享到:
相关推荐
内容概要:本文档从多个维度(如流行度、社区支持、工作机会等)综合提供了2024年编程语言的排行榜,介绍了每种语言的特点和适用领域。主要内容分为四部分:排行榜概述、Top 10编程语言及其特点、新兴编程语言关注、...
程序人生网站是一个专为计算机编程爱好者打造的交流与学习平台,以下是该网站的详细介绍: 一、网站基本信息 创始人:姚云。他在建站时年仅25岁,接触电脑不到半年时间,但凭借对电脑的热爱和计算机天赋,成功创办...
微信小程序期末大作业--校园跑腿小程序(详情看我的文章介绍:https://blog.csdn.net/weixin_43474701/article/details/144228994)
微信小程序期末大作业--日常消费登记表小程序(详情看我的文章介绍:https://blog.csdn.net/weixin_43474701/article/details/144234037)
国内外有经验程序员谈编程,谈计算机行业发展,谈人生。
第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语言程序设计基础篇课后编程练习答案"是一个非常宝贵的参考资料,可以帮助...
通过这种方式,ST语言使得程序逻辑更为清晰明了,有助于提高编程效率和代码质量。 #### 四、总结 结构化文本(ST)作为一种高级编程语言,在PLC编程领域中发挥着重要作用。它不仅提高了编程的效率和准确性,还为...
微信小程序期末大作业——校园卡小程序(可编辑,导出),详情看我的文章介绍:https://blog.csdn.net/weixin_43474701/article/details/144205809
Java语言程序设计是指使用Java语言进行软件开发的过程,涉及到软件设计、编程、调试和测试等方面。 以下是从给定的文件中生成的相关知识点: 1. Java基本语法:Java语言程序设计中,基本语法包括变量声明、数据...
微信小程序期末大作业——摇骰子游戏、猜灯谜游戏、幸运大转盘游戏、手持弹幕等微信小程序,详情看我的文章介绍:https://blog.csdn.net/weixin_43474701/article/details/144209403
Rust是一种现代编程语言,它在安全性、性能和并发方面具有显著优势。Rust的设计理念融合了底层语言对系统资源管理的控制能力以及高级语言的抽象优势。这种设计使得Rust非常适合在需要高性能代码的应用场景中使用,...
微信小程序期末大作业2024_电影小程序,底部导航栏,搜索,轮播图等等,详情看我文章介绍:https://blog.csdn.net/weixin_43474701/article/details/144210715
- **Thompson**:1983年图灵奖和1998年美国国家技术奖得主,Unix操作系统的原创者之一,同时也是B程序语言的发明者,后者演化为了C语言。 - **Pike**:贝尔实验室Unix团队和Plan 9操作系统计划的成员之一,与...
Python语言程序设计基础是编程初学者的绝佳教材,尤其适合那些对第二版内容感兴趣的读者。嵩天等作者的这本著作深入浅出地介绍了Python编程的基础概念和实践技巧,旨在帮助读者快速掌握这一强大而易读的语言。通过...
第一部分重点介绍了汇编语言的基础知识和程序设计技术,包括汇编语言特点、数据表示与类型、Intel CPU的简介、8086/8088寻址方式和指令系统、汇编语言及其程序设计初步、子程序设计与DOS功能调用、输入输出与中断、...