知乎上偶然看到这个问题,觉得很有意思,我也来回答一发。
我本科和研究生学的是计算机专业,做项目用C/C++,研究生三年项目的代码量大概在三到四万行左右。2007年大学毕业加入SAP成都研究院一直工作到现在,工作中用的最熟练的编程语言是ABAP,Java和JavaScript。当然做SAP Cloud application Studio这个工具开发时,也用过一段时间的C#。做一个SAP内部的大数据项目也用过一阵子Scala,Python和Go语言在做Hyperledge Fabric on SAP Cloud Platform时也学了一些皮毛。
我没有把自己定位成“ABAP开发人员”或是“Java开发人员”,而是“SAP应用开发人员”。也就是说组织给我分配一个开发任务,我自己就得去琢磨,选择合适的编程语言来完成。
ABAP,Java和JavaScript这三门我工作中用的最多的编程语言,在我眼中没有优劣之分,就是不同的编程工具,有各自的适用场合,如此而已。
我曾经写过一篇文章:Jerry的ABAP, Java和JavaScript乱炖
百度即可找到,里面包含了我对这三门语言一些特性的横向比较。
文章链接:
https://www.cnblogs.com/sap-jerry/p/8215394.html回到ABAP语言本身,我认识SAP总部Walldorf很多资深的ABAP应用开发人员,当然也包括ABAP编程语言本身的开发人员,即用C语言开发ABAP虚拟机和运行时的那些同事,称呼他们为计算机科学家更合适。我想任何资深的ABAP应用开发人员,在他们面前也没有资格说自己“ABAP如何如何厉害”,因为这些计算机科学家们才是ABAP世界的创世主和维护者。
C和ABAP的关系,可以参考我这篇文章:聊聊C语言和ABAP
https://www.jianshu.com/p/a99f873feb59至于一些网络上老生常谈的问题,诸如:
做ABAP开发有前/钱途吗?为什么ABAP开发的收入比Java开发高/低?
我已经在一些文章里表明了我的个人意见:
上图文章的链接:
https://blogs.sap.com/2017/01/19/what-should-an-abaper-continue-to-learn-as-an-application-developer/中文版:ABAP开发人员未来应该学些什么
https://www.jianshu.com/p/b748bb5dc5b9我写过的其他一些关于ABAP的文章:
Jerry 2017年的五一小长假:8种经典排序算法的ABAP实现:
https://www.jianshu.com/p/cebb2df016d1Jerry的ABAP原创技术文章合集:
https://www.jianshu.com/p/020df7734dd8300行ABAP代码实现一个最简单的区块链原型:
https://www.jianshu.com/p/8448cd5b4b5bABAP vs Java, 蛙泳 vs 自由泳:
https://www.jianshu.com/p/4a058bf85451动手使用ABAP Channel开发一些小工具,提升日常工作效率:
https://www.jianshu.com/p/1cbea3b0f40b我用ABAP做过的那些无聊的事情:
https://www.jianshu.com/p/688f7f9ecae3使用Visual Studio Code编写和激活ABAP代码 (上):
https://www.jianshu.com/p/0db22ec66a28你的ABAP程序给佛祖开过光么?来试试Jerry这个小技巧:
https://www.jianshu.com/p/97c9e7a060bc关注Jerry的公众号“汪子熙”,轻松获得所有SAP文章: