之前在一个饭桌上,遭遇各种语言技术之争,特别是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
|
分享到:
相关推荐
根据提供的标题“编程语言原理(第10版)”及描述“编程语言原理(第10版 编程语言原理)”,我们可以推断出这本书主要讲述了编程语言的基础理论与实践应用,是学习和理解编程语言设计与实现的重要参考资料。...
程序人生网站是一个专为计算机编程爱好者打造的交流与学习平台,以下是该网站的详细介绍: 一、网站基本信息 创始人:姚云。他在建站时年仅25岁,接触电脑不到半年时间,但凭借对电脑的热爱和计算机天赋,成功创办...
少儿编程语言C++和Python比较 在本文中,我们将对比C++和Python两种编程语言,讨论它们的区别、特点和应用场景,并探讨在少儿编程教育中如何选择合适的编程语言。 一、C++语言 C++是一种高性能、通用型编程语言,...
通过这种方式,ST语言使得程序逻辑更为清晰明了,有助于提高编程效率和代码质量。 #### 四、总结 结构化文本(ST)作为一种高级编程语言,在PLC编程领域中发挥着重要作用。它不仅提高了编程的效率和准确性,还为...
第3版可能对前版的内容进行了更新和修订,以反映最新的编程语言发展和实践。 PDF和CHM格式的文档提供了书籍的电子版,方便读者在不同设备上阅读。PDF格式通常适用于打印或在电脑上阅读,而CHM(Microsoft Compiled ...
C/C++语言经典实用趣味程序设计编程百例精解 <br>C/C++语言经典实用趣味程序设计编程百例精解(1) <br>1.绘制余弦曲线 2.绘制余弦曲线和直线 3.绘制圆 4.歌星大奖赛 5.求最大数 6.高次方数...
随着技术的发展,三菱推出了新一代的PLC——MELSEC iQ-F系列FX5,该系列PLC支持多种编程语言,包括Ladder Diagram (LD)、Function Block Diagram (FBD)以及Structured Text (ST/SCL)等。其中,ST语言因其高级语言...
### 可编程语言标准IEC61131-3中文版详解 #### 1. 概述 可编程语言国际标准IEC61131-3是针对可编程控制器(PLC)编程语言...此外,标准的不断更新和完善,反映了技术进步的需求,确保了PLC技术领域的持续发展和创新。
C++作为一种功能强大的编程语言,在结合MFC库后,能够有效地绘制出各种复杂的数学函数曲线。这通常是通过在MFC应用程序中,使用GDI相关的类和方法来实现的。 考虑到这一点,C++ MFC数学函数曲线绘制程序的开发涉及...
Java语言程序设计是指使用Java语言进行软件开发的过程,涉及到软件设计、编程、调试和测试等方面。 以下是从给定的文件中生成的相关知识点: 1. Java基本语法:Java语言程序设计中,基本语法包括变量声明、数据...
总之,计算机程序设计语言的发展历程是一个持续演化的进程,从最初的机器语言到如今的高级语言,再到面向未来的自然语言编程,每一步都反映出科技与人类思维的交融。深入学习和理解这些语言的发展,有助于我们更好地...
项目“个人项目:QT应用程序,目标检测+机械臂抓取”正是聚焦于此,通过结合C++编程语言和QT框架,实现了具有目标检测功能的视觉系统,并与机械臂协同工作,以达到自动化抓取物品的目的。 QT是一个跨平台的C++应用...
Rust是一种现代编程语言,它在安全性、性能和并发方面具有显著优势。Rust的设计理念融合了底层语言对系统资源管理的控制能力以及高级语言的抽象优势。这种设计使得Rust非常适合在需要高性能代码的应用场景中使用,...
Python语言程序设计基础是编程初学者的绝佳教材,尤其适合那些对第二版内容感兴趣的读者。嵩天等作者的这本著作深入浅出地介绍了Python编程的基础概念和实践技巧,旨在帮助读者快速掌握这一强大而易读的语言。通过...
- **Thompson**:1983年图灵奖和1998年美国国家技术奖得主,Unix操作系统的原创者之一,同时也是B程序语言的发明者,后者演化为了C语言。 - **Pike**:贝尔实验室Unix团队和Plan 9操作系统计划的成员之一,与...
第一部分重点介绍了汇编语言的基础知识和程序设计技术,包括汇编语言特点、数据表示与类型、Intel CPU的简介、8086/8088寻址方式和指令系统、汇编语言及其程序设计初步、子程序设计与DOS功能调用、输入输出与中断、...
在本文中,我们将深入探讨ST语言的基本原理,包括其语法、语义以及基本元素,帮助读者理解和掌握这种强大的编程工具。 1. ST基本原理 ST语言的描述主要围绕其语法和语义展开。语法是ST语言的形式规则,决定了程序...
综上所述,通过学习钱能先生的经典著作《C++程序设计语言》,读者不仅可以深入了解C++语言的基础知识,还能掌握面向对象编程的核心概念和技术。这对于任何想要在软件开发领域取得成就的人来说都是非常宝贵的财富。
随着技术的进步和实践的积累,程序语言设计的原则也在不断地发展和调整中,以更好地适应计算需求和社会环境的变化。 学习程序设计语言的原则对于任何有志于深入计算机科学领域的人来说至关重要。它不仅提升了程序员...