天天看点

ABAP很厉害是怎么一种体验?

知乎上偶然看到这个问题,觉得很有意思,我也来回答一发。

我本科和研究生学的是计算机专业,做项目用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/cebb2df016d1

Jerry的ABAP原创技术文章合集:

https://www.jianshu.com/p/020df7734dd8

300行ABAP代码实现一个最简单的区块链原型:

https://www.jianshu.com/p/8448cd5b4b5b

ABAP 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文章: