国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

ABAP vs Java, 蛙泳 vs 自由泳

taoszu / 3256人閱讀

摘要:去年月定下的一年之內(nèi)學(xué)會(huì)自由泳的目標(biāo)終于實(shí)現(xiàn)了,特來(lái)還愿。和蛙泳和自由泳。或許有的朋友覺(jué)得這兩組概念風(fēng)馬牛不相及,然而在眼中,之于相當(dāng)于蛙泳之于自由泳。像前面介紹過(guò)的和擁有五花八門的工具一樣,蛙泳和自由泳也有著眾多變式。

去年7月定下的一年之內(nèi)學(xué)會(huì)自由泳的目標(biāo)終于實(shí)現(xiàn)了,特來(lái)還愿。

ABAPJava,?蛙泳自由泳。前面的組合是Jerry用來(lái)掙錢養(yǎng)家的技術(shù),后者是Jerry花了大量業(yè)余時(shí)間和金錢苦練的技能。或許有的朋友覺(jué)得這兩組概念風(fēng)馬牛不相及,然而在Jerry眼中,ABAP之于Java, 相當(dāng)于蛙泳之于自由泳。

文章目錄

ABAP和Java的相同點(diǎn)

1. 語(yǔ)言特性

2. 開發(fā)框架,工具和生態(tài)圈

蛙泳和自由泳的相同點(diǎn)

ABAP(蛙泳)和Java(自由泳)的不同點(diǎn)

1.? "Java(自由泳)的環(huán)境搭建(游進(jìn))比ABAP(蛙泳)麻煩"

2.? "ABAP(蛙泳)的調(diào)試(換氣)比Java(自由泳)簡(jiǎn)單"**

3.? "ABAP(蛙泳)和Java(自由泳)哪一個(gè)上手更容易?"**

*

ABAP和Java的相同點(diǎn)

1. 語(yǔ)言特性

這個(gè)公眾號(hào)有很多關(guān)注者是學(xué)生朋友,因此還是有必要簡(jiǎn)單介紹下ABAP。ABAP(Advanced?BusinessApplication?Programming)是SAP設(shè)計(jì),實(shí)現(xiàn)并維護(hù)的一門高級(jí)編程語(yǔ)言,其關(guān)鍵字和虛擬機(jī)(ABAP Runtime)基于C/C++實(shí)現(xiàn)。同Java一樣,ABAP也是一門支持面向?qū)ο螅瑥?qiáng)類型的靜態(tài)語(yǔ)言。可以說(shuō)SAP之所以過(guò)去40年能在企業(yè)管理軟件領(lǐng)域里取得輝煌成就,ABAP功不可沒(méi),因?yàn)榇蠖鄶?shù)SAP成功的傳統(tǒng)產(chǎn)品,比如SAP ERP, SAP Business Suite, 還有2015年推出的S/4HANA, 都基于ABAP。

ABAP和Java并沒(méi)有躺在過(guò)去的功勞簿上睡大覺(jué),各自也都在不斷進(jìn)化著。

ABAP 從7.40版本開始,增加了很多新的關(guān)鍵字和語(yǔ)法,使得用ABAP寫出來(lái)的代碼更加緊湊和簡(jiǎn)潔。Table Expression,變量的內(nèi)聯(lián)聲明,類型自動(dòng)推斷,更強(qiáng)大的鏈?zhǔn)秸{(diào)用等新的語(yǔ)言特性,使得實(shí)現(xiàn)同樣的需求,用7.40后的ABAP編碼,代碼量通常是7.40之前的50%甚至更少。

ABAP也在不斷吸收一些其他編程語(yǔ)言的特性。比如支持函數(shù)式編程思想的JavaScript和Clojure中的reduce操作,在ABAP 7.40之后也作為一個(gè)關(guān)鍵字得到支持了。具體例子可以看我的博客:

Functional Programming – Try Reduce in JavaScript and in ABAP

https://blogs.sap.com/2017/02...

另一方面,我的很多同事戲稱:Java 9的很多特性都沒(méi)搞清楚,但在Java 9發(fā)布僅僅幾個(gè)月后,Java 10又來(lái)了。這本身說(shuō)明Java的進(jìn)化速度非常快。和ABAP相比,網(wǎng)絡(luò)上關(guān)于Java最新特性介紹的文章多得多,Jerry這里就不再重復(fù)了。

2. 開發(fā)框架,工具和生態(tài)圈

兩種語(yǔ)言都有各自數(shù)目眾多的開發(fā)框架和繁榮的生態(tài)圈。只是從生態(tài)圈的規(guī)模來(lái)說(shuō),ABAP生態(tài)圈內(nèi)開發(fā)者的絕對(duì)數(shù)量不如Java開發(fā)者。

SAP有很多基于ABAP的開發(fā)框架,平臺(tái)層面的框架有例如基于ABAP的MVC開發(fā)框架ABAP WebDynpro和WebClient UI,OData Service開發(fā)框架,Web Service開發(fā)框架,Business Object的開發(fā)框架BOPF等等。從應(yīng)用層面來(lái)說(shuō),框架的數(shù)量就更多了。即使在其他公司的開發(fā)人員眼中一個(gè)很簡(jiǎn)單的需求,SAP也很可能采取了一個(gè)微型框架(Mini Framework)來(lái)實(shí)現(xiàn)。這種大量引入框架實(shí)現(xiàn)應(yīng)用需求的思路,一方面體現(xiàn)了德國(guó)人考慮需求時(shí)追求嚴(yán)謹(jǐn)完備的習(xí)慣,另一方面,通過(guò)將實(shí)現(xiàn)需求的復(fù)雜度和工作量轉(zhuǎn)移到SAP標(biāo)準(zhǔn)應(yīng)用開發(fā)上來(lái)的方式,減少或者避免了Partner和客戶進(jìn)行二次開發(fā)的工作量,使得很多非標(biāo)準(zhǔn)功能僅僅通過(guò)在這些微型框架上做配置就能實(shí)現(xiàn)。

任何一個(gè)基于ABAP的SAP傳統(tǒng)產(chǎn)品里,都隱藏了很多有用的工具,比如各種報(bào)表或者事務(wù)碼,用于提供關(guān)于該產(chǎn)品的輔助功能,比如問(wèn)題分析,日志查看,性能檢測(cè)等等。我想即便大多數(shù)在一個(gè)產(chǎn)品里深耕了10年的SAP顧問(wèn),恐怕也無(wú)法能夠100%肯定地說(shuō)自己熟悉該產(chǎn)品里所有的工具。

除了這些SAP提供的標(biāo)準(zhǔn)工具外,也存在一些ABAP開源愛(ài)好者貢獻(xiàn)的開源項(xiàng)目,比如ABAP Git客戶端,用于不同系統(tǒng)間離線傳輸ABAP資源的SAP Link,還有用ABAP操作Excel的abap2xls項(xiàng)目等等。

Java這么多年一路走來(lái),其層出不窮的開發(fā)框架更是早已深入人心。從早期經(jīng)典的三駕馬車SSH,到近些年來(lái)隨著微服務(wù)火起來(lái)而流行開來(lái)的Spring Boot和Spring Cloud等等,可以說(shuō)無(wú)論打開任何一個(gè)Java技術(shù)社區(qū),都能看到它們的身影。

得益于全球數(shù)量龐大的Java開發(fā)人員,Java生態(tài)圈的開發(fā)工具,庫(kù)文件也是數(shù)不勝數(shù)。在Maven的遠(yuǎn)程倉(cāng)庫(kù)http://repo1.maven.org/maven2里,我們能找到許許多多公司發(fā)布的庫(kù)文件。

這是遠(yuǎn)程倉(cāng)庫(kù)上SAP庫(kù)文件的根目錄:

同樣的,如果您對(duì)其他公司,比如Microsoft, Oracle,Salesforce發(fā)布的Java庫(kù)文件感興趣,那就到對(duì)應(yīng)目錄去看看吧:

蛙泳和自由泳的相同點(diǎn)

Jerry作為一個(gè)過(guò)來(lái)人,說(shuō)說(shuō)我對(duì)這兩種泳姿相同點(diǎn)的一些認(rèn)識(shí)。

1. 都是游泳初學(xué)者的入門泳姿。稍稍不同的是,在國(guó)內(nèi),蛙泳是最受推薦的入門泳姿,而國(guó)外的朋友學(xué)游泳,通常都選擇了自由泳作為入門泳姿。

2. 初學(xué)者都會(huì)遇到兩個(gè)最大的瓶頸,即腿部動(dòng)作和換氣。

腿部動(dòng)作:很多成年人初學(xué)蛙泳,在水里進(jìn)行蛙泳腿部動(dòng)作“收-翻-蹬夾”的“翻”這一步時(shí),由于種種原因,無(wú)法將腳腕的翻腕動(dòng)作做出來(lái),這樣無(wú)法確保腳掌以最大面積推水,導(dǎo)致泳者在水中感覺(jué)費(fèi)了很大力氣蹬腿,但是前進(jìn)速度緩慢。

同樣,自由泳初學(xué)者遇到的第一道坎就是打腿不前進(jìn)。很多成年人初學(xué)打腿時(shí),體會(huì)不到自由泳打腿的髖部發(fā)力(下圖黃圈所示部位),大腿帶動(dòng)小腿,鞭狀發(fā)力的打腿形式,陷入打腿時(shí)水花四濺,但就是不前進(jìn)的窘境。

換氣:這是很多游泳初學(xué)者幾乎都會(huì)遇到的另一道坎。反正Jerry學(xué)蛙泳換氣和自由泳換氣時(shí),都喝了足夠多的水才學(xué)會(huì)的。游泳論壇里很多同病相憐的朋友們都說(shuō)學(xué)換氣就是一個(gè)將練習(xí)換氣時(shí)喝下去水的容量換算成經(jīng)驗(yàn)值的過(guò)程——當(dāng)經(jīng)驗(yàn)值滿了后,自動(dòng)解鎖換氣技能。Jerry想了想自己學(xué)會(huì)這兩種泳姿換氣的過(guò)程,好像還真是這樣。

3. 兩種泳姿都有各種各樣的變式(Variant)。

像前面介紹過(guò)的ABAP和Java擁有五花八門的工具一樣,蛙泳和自由泳也有著眾多變式。

蛙泳的不同種類:平蛙和波蛙

平蛙和波蛙是蛙泳的兩種主流姿勢(shì)(本文不討論抬頭蛙)。

蛙泳初學(xué)者無(wú)一例外學(xué)的都是平蛙,因?yàn)楸容^簡(jiǎn)單,對(duì)泳者上肢力量要求不高。雙手前伸時(shí)壓水抬頭即可換氣,抬起換氣的動(dòng)作可以做得很慢。游泳館里很多蛙泳都是平蛙,這種泳姿游起來(lái)輕松,省力,適合長(zhǎng)游。我自己的感受是平蛙有一半的時(shí)間在水里都是處于完全放松狀態(tài),哪怕一口氣游1公里,也不覺(jué)得累。

波蛙是蛙泳運(yùn)動(dòng)員采用的競(jìng)技泳姿,頻率比休閑式平蛙快得多。比較一下:

平蛙:

波蛙:

波蛙為了減少蛙泳在高速前進(jìn)過(guò)程中成倍增長(zhǎng)的阻力,把整個(gè)上半身都提出水面,從空氣中前進(jìn)。波蛙換氣和平蛙換氣相比,一個(gè)顯著的區(qū)別就是通過(guò)雙肩拱起到幾乎碰到耳朵的程度來(lái)減少阻力,看起來(lái)極具觀賞性,非常霸氣!

可惜對(duì)身體核心力量要求很高,不好學(xué)啊。。。

蛙泳早呼吸與晚呼吸

早呼吸:顧名思義,劃手的時(shí)候,手剛開始外劃就抬頭換氣。采用早呼吸可以給泳者提供充足的換氣時(shí)間,適合初學(xué)者。看看知乎游泳大神易夢(mèng)覺(jué)的早呼吸教學(xué)示范:

晚呼吸:外劃時(shí)頭部仍然注視池底,外劃結(jié)束手臂開始內(nèi)收時(shí)迅速抬頭,雙手快速前伸。晚呼吸要求泳者上肢有一定的爆發(fā)力,換來(lái)的收益就是游進(jìn)速度快于早呼吸。

看下晚呼吸的動(dòng)作:

蛙泳寬蹬腿與窄蹬腿

初學(xué)者和業(yè)余蛙泳一般都是寬蹬腿,運(yùn)動(dòng)員比賽時(shí)都是窄蹬腿。寬蹬腿膝蓋張開的距離比窄蹬腿寬,蹬夾時(shí)劃過(guò)的圓弧周長(zhǎng)大于窄蹬腿。

寬蹬腿具有明顯的蹬夾動(dòng)作,如果在岸上觀察很多蛙泳初學(xué)者的動(dòng)作,能清晰看到先蹬水后夾水的順序。而窄蹬腿,蹬夾幾乎一氣呵成而融為一體,很難嚴(yán)格區(qū)分開來(lái)。注意看這些運(yùn)動(dòng)員的窄蹬腿:

寬蹬腿由于橫截面過(guò)大,所以承受的水阻也大于窄蹬腿,因此競(jìng)技比賽中的蛙泳都是窄蹬腿。然而窄蹬腿相對(duì)寬蹬腿對(duì)膝蓋壓力較大,如果您的膝蓋柔韌性不足,那還是老老實(shí)實(shí)去練寬蹬腿吧,以免膝蓋損傷。

自由泳劃手的前交叉,中交叉和后交叉

下圖右手露在水面即將入手開始自由泳的劃水動(dòng)作,此時(shí)如果左手與水平面的夾角保持在30度以內(nèi),稱為前交叉。30度到60度范圍內(nèi)為中交叉,大于60度成為后交叉。

采用前交叉,則右臂入水時(shí),左臂正處于開始下劃階段,此時(shí)整個(gè)身體非常舒展,帶有一定的滑行速度,便于全身主要肌肉群發(fā)力。同時(shí)動(dòng)作節(jié)奏相對(duì)較慢,適合業(yè)務(wù)愛(ài)好者和運(yùn)動(dòng)員長(zhǎng)距離比賽使用。后交叉則是另一個(gè)極端,右手入水時(shí),左手已經(jīng)進(jìn)入劃水的后半階段了。后交叉劃水頻率極高,需要泳者具有很強(qiáng)的爆發(fā)力,通常只有短距離游泳運(yùn)動(dòng)員才hold得住。

看看這個(gè)前交叉動(dòng)作,是不是非常舒展?

自由泳的各種變式:二次腿和六次腿

二次腿:左右劃水各一次,劃一次水,打一次腿。手臂剛?cè)胨畷r(shí),打異側(cè)腿。很多鐵三長(zhǎng)距離自由泳的朋友都用的二次腿,因?yàn)槭×Γ阌陂L(zhǎng)游。

六次腿:打腿產(chǎn)生的推進(jìn)力大于二次腿。

ABAP(蛙泳)和Java(自由泳)的不同點(diǎn)

兩門截然不同的編程語(yǔ)言,差異當(dāng)然有很多了。這里只挑最顯著的聊。

1.? "Java(自由泳)的環(huán)境搭建(游進(jìn))比ABAP(蛙泳)麻煩"

Jerry和SAP開發(fā)顧問(wèn)朋友們聊天時(shí),經(jīng)常談到這個(gè)話題。一個(gè)ABAP新手,只要在電腦上裝個(gè)SAP GUI,連接上服務(wù)器就可以開工了。而一個(gè)Java開發(fā)新手,如果要做企業(yè)級(jí)應(yīng)用開發(fā)的話,開發(fā)人員通常都會(huì)拿到一個(gè)很長(zhǎng)的清單,注明了開發(fā)環(huán)境搭建所需的長(zhǎng)長(zhǎng)的步驟:裝JRE和JDK,下載Maven,安裝代碼版本控制工具,配置環(huán)境變量,配置本地?cái)?shù)據(jù)庫(kù)等等。一般都會(huì)使用基于Java的各種框架比如Spring全家桶,那么為了提高開發(fā)效率,還得去下載這些框架基于某種IDE的插件并安裝。如果工作內(nèi)容包含微服務(wù)開發(fā),又得安裝一些基于命令行的微服務(wù)部署工具。

對(duì)于一個(gè)Java新手來(lái)說(shuō),在基于要求的開發(fā)環(huán)境內(nèi)跑通一個(gè)Hello World應(yīng)用之前,通常需要花大量的時(shí)間來(lái)?yè)v鼓這些環(huán)境準(zhǔn)備工作。更有可能發(fā)生的是在搭建過(guò)程中遇到各種各樣的錯(cuò)誤,導(dǎo)致搭建流程進(jìn)行不下去。此時(shí)要么求助組內(nèi)有經(jīng)驗(yàn)的同事,要么根據(jù)錯(cuò)誤消息到StackOverflow上去查找解決方案。

其實(shí)從ABAP開發(fā)的整個(gè)流程來(lái)看,仍然需要環(huán)境搭建這一步,即Netweaver服務(wù)器的安裝和運(yùn)維。只是因?yàn)锳BAP和Java存在的兩個(gè)差異,使得ABAP開發(fā)人員在環(huán)境搭建這個(gè)話題上,比Java開發(fā)人員輕松不少。

(1) 在絕大多數(shù)企業(yè)里,ABAP Netweaver的搭建是由專職人員,即SAP Basis去負(fù)責(zé)的,不需要ABAP應(yīng)用開發(fā)人員介入。ABAP開發(fā)人員登錄到Netweaver服務(wù)器上,在服務(wù)器上進(jìn)行開發(fā)。Netweaver服務(wù)器既是ABAP開發(fā)環(huán)境,又是ABAP應(yīng)用最終的運(yùn)行環(huán)境,所以意味著ABAP代碼一旦開發(fā)完畢,能立即在服務(wù)器上運(yùn)行,省去了應(yīng)用部署這一步驟。

而Java應(yīng)用開發(fā)工作絕大多數(shù)情況都不會(huì)在服務(wù)器端進(jìn)行,而是在各個(gè)開發(fā)人員本地搭建好的環(huán)境中進(jìn)行,待開發(fā)完成單元測(cè)試通過(guò)后通過(guò)git等工具將源代碼推送到遠(yuǎn)端代碼倉(cāng)庫(kù),同時(shí)通過(guò)持續(xù)集成等工具將構(gòu)建好的應(yīng)用部署到服務(wù)器上。

(2) Netweaver服務(wù)器的特色之一,就是對(duì)ABAP開發(fā)和ABAP運(yùn)行時(shí)提供了全局而統(tǒng)一的支持。Netweaver自帶了代碼版本控制工具,因此ABAP開發(fā)不需要Git;Netweaver提供了類似Maven倉(cāng)庫(kù)的功能,在Netweaver里叫Repository Information System,ABAP開發(fā)人員在計(jì)劃新寫一段代碼時(shí),通常都會(huì)去RIS里檢查是否已經(jīng)有現(xiàn)成的類/函數(shù)實(shí)現(xiàn)了類似的功能。一個(gè)ABAP類要使用另一個(gè)ABAP類提供的API,可以直接調(diào)用,因?yàn)樗械念惗即嬖谟谥醒氲腞IS里,而ABAP不存在Java里的包訪問(wèn)權(quán)限的概念——一個(gè)類對(duì)服務(wù)器里的任何類都可訪問(wèn),并且只提供唯一的版本供外界訪問(wèn)(ABAP里稱為Active版本)。因此ABAP也不像Java那樣需要通過(guò)Maven來(lái)進(jìn)行項(xiàng)目依賴管理。ABAP提供了OPEN SQL,這些SQL語(yǔ)句通過(guò)Netweaver提供的數(shù)據(jù)庫(kù)接口自動(dòng)轉(zhuǎn)換成Netweaver服務(wù)器連接的數(shù)據(jù)庫(kù)提供商的原生SQL語(yǔ)句,所以ABAP開發(fā)也不需要自行安裝服務(wù)器。

由此可見(jiàn),很多Java開發(fā)人員需要在本地做的事情,其實(shí)在ABAP開發(fā)里已經(jīng)通過(guò)Netweaver服務(wù)器統(tǒng)一提供了,因此從結(jié)果上看,顯得Java開發(fā)人員的環(huán)境搭建比ABAP要麻煩一些。

當(dāng)然針對(duì)Java這種環(huán)境搭建之痛也存在一些解決方案。比如SAP內(nèi)部的很多培訓(xùn),需要培訓(xùn)人員上機(jī)做練習(xí),那么講師會(huì)事先將環(huán)境搭好,然后做成一個(gè)虛擬機(jī)鏡像,分發(fā)給學(xué)員。學(xué)員用虛擬機(jī)軟件加載這些鏡像,就能直接基于講師準(zhǔn)備好的環(huán)境進(jìn)行上機(jī)練習(xí),省去了每位學(xué)員搭環(huán)境的時(shí)間。Jerry還了解到SAP成都研究院的某些團(tuán)隊(duì)也在嘗試用Docker來(lái)解決類似問(wèn)題。

從上面的討論看出Java的環(huán)境搭建確實(shí)比ABAP麻煩,那么自由泳游起來(lái)確實(shí)比蛙泳麻煩么?Jerry的個(gè)人意見(jiàn):是!理由有四。

(1) 蛙泳時(shí)整個(gè)人俯臥于水中,雙手雙腳在任何時(shí)候都是呈左右對(duì)稱地運(yùn)動(dòng)。而自由泳的手腳為非左右對(duì)稱運(yùn)動(dòng),在初學(xué)者還沒(méi)形成身體本能時(shí),開始劃手時(shí)還要考慮應(yīng)該打哪一側(cè)的腿。

(2) 蛙泳游進(jìn)時(shí),蹬腿夾水結(jié)束后可以在水里滑行一兩秒,身體得到充分休息。而自由泳行進(jìn)過(guò)程中,手和腳都是不停地運(yùn)動(dòng)著,對(duì)初學(xué)者來(lái)說(shuō)很難找到像蛙泳那樣可以通過(guò)滑行來(lái)休息的感覺(jué)。

(3) 自由泳相比蛙泳,身體在前進(jìn)過(guò)程中還多了個(gè)轉(zhuǎn)體動(dòng)作。

Jerry最開始學(xué)自由泳時(shí),以為它和蛙泳一樣,身體始終是俯臥在水中前進(jìn)的。后來(lái)才從教練那里和網(wǎng)上的視頻學(xué)到,游進(jìn)過(guò)程中必須有一個(gè)轉(zhuǎn)體動(dòng)作,如下圖所示。

(4) 自由泳的換氣比蛙泳麻煩。

這個(gè)太令我刻骨銘心了,需要多帶帶說(shuō)。

2. “ABAP(蛙泳)的調(diào)試(換氣)比Java(自由泳)簡(jiǎn)單

做軟件開發(fā)(游泳)而不需要調(diào)試(換氣),幾乎是一件不可能的事情。

前面已經(jīng)說(shuō)過(guò),對(duì)于ABAP來(lái)說(shuō),因?yàn)镹etweaver服務(wù)器既是ABAP開發(fā)環(huán)境,又是ABAP應(yīng)用的執(zhí)行環(huán)境。因此任何時(shí)候,需要調(diào)試,直接在源代碼上設(shè)斷點(diǎn),啟動(dòng)應(yīng)用,斷點(diǎn)即觸發(fā)。

Java的服務(wù)器端調(diào)試就沒(méi)這么輕松了。首先需要給遠(yuǎn)程服務(wù)器的JVM加上debug參數(shù)來(lái)啟動(dòng)服務(wù)器:

-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=

然后在本地IDE比如Eclipse里做配置,通過(guò)jdwp(Java Debug Wire Protocol)連接遠(yuǎn)程服務(wù)器打開的監(jiān)聽端口,本地調(diào)試進(jìn)程和遠(yuǎn)程服務(wù)器進(jìn)程之間通過(guò)socket實(shí)現(xiàn)數(shù)據(jù)傳輸。

蛙泳的換氣,因?yàn)檎麄€(gè)游進(jìn)過(guò)程中身體始終保持俯臥狀態(tài),因此動(dòng)作非常自然,和人在陸地上的舉動(dòng)幾乎沒(méi)有區(qū)別,從水中抬起頭來(lái)即可換氣。具體動(dòng)圖參看前文早呼吸和晚呼吸部分。

自由泳的換氣,Jerry為了學(xué)會(huì)它是喝飽了水。作為陸地上生活的動(dòng)物,人在水中換氣時(shí),把頭抬高讓嘴遠(yuǎn)離水面進(jìn)行換氣是一種本能。然而學(xué)習(xí)自由泳的換氣,需要克服人的這種本能,正確的方式是靠行進(jìn)時(shí)頭的推進(jìn)、身體的翻轉(zhuǎn)在頭部形成的充滿空氣的小凹槽里換氣。國(guó)外的教學(xué)視頻里稱為Breathe into the air pocket。初學(xué)者練習(xí)這個(gè)動(dòng)作,要么由于害怕?lián)Q不了氣頭抬得太高變?yōu)橥苡緭Q氣,要么轉(zhuǎn)頭一張嘴,一大口水就喝進(jìn)去了。

看清楚下圖里的air pocket了么?

從空氣袋里換氣的標(biāo)準(zhǔn)姿勢(shì):

3.? "ABAP(蛙泳)和Java(自由泳)哪一個(gè)上手更容易?"

ABAP和Java,蛙泳和自由泳,到底誰(shuí)比誰(shuí)更容易學(xué)?

先說(shuō)游泳。國(guó)內(nèi)的游泳業(yè)余培訓(xùn)班大多是以10或12節(jié)課的速成班為主,在這種課時(shí)限制下,也只有蛙泳這種最易上手的泳姿可供選擇了.其他三種對(duì)身體素質(zhì)和水性的要求比蛙泳高。并且蛙泳學(xué)會(huì)后,踩水也就自然會(huì)了,踩水技能比較實(shí)用。

為什么國(guó)外更多以自由泳作為入門泳姿?因?yàn)閲?guó)外的游泳教學(xué)多以長(zhǎng)訓(xùn)為主。參考知乎易夢(mèng)覺(jué)大神的解答:

因此,Jerry認(rèn)為,這個(gè)話題的準(zhǔn)確回答應(yīng)為:以10節(jié)課速成班為例,對(duì)大多數(shù)人來(lái)說(shuō),蛙泳比自由泳更容易學(xué)會(huì)。

ABAP和Java哪種語(yǔ)言更容易上手?如果不考慮本地搭建Netweaver服務(wù)器的難度,那么學(xué)會(huì)這兩門語(yǔ)言的基本語(yǔ)法難度差不多。然而學(xué)完了ABAP標(biāo)準(zhǔn)教程BC401等等并不意味著就具有了用ABAP開發(fā)SAP應(yīng)用程序的能力。比如要開發(fā)CRM應(yīng)用,還得去學(xué)CR100標(biāo)準(zhǔn)課程,掌握SAP CRM開發(fā)框架的用法。如果想用ABAP開發(fā)OData服務(wù),還得學(xué)標(biāo)準(zhǔn)課程GW100以了解如何在SAP Gateway上做ABAP開發(fā),以此類推。

同樣,在Eclipse里打印出Hello World只是萬(wàn)里長(zhǎng)征走完了第一步。前面已經(jīng)說(shuō)過(guò),根據(jù)您具體工作內(nèi)容的不同,您還需要學(xué)習(xí)各種Java框架,庫(kù)文件的使用。

從這個(gè)角度來(lái)說(shuō),ABAP和Java入門的難度差不多。能用這兩門語(yǔ)言寫一些簡(jiǎn)單的小工具,就好比能用蛙泳和自由泳的姿勢(shì)游個(gè)二三十米。ABAP和Java開發(fā)人員入門之后,接下來(lái)的漫漫長(zhǎng)路,就在于如何精進(jìn)能夠基于自己所學(xué),去實(shí)現(xiàn)真實(shí)場(chǎng)景下客戶需求的技藝。而每一位真正的游泳愛(ài)好者,想必心中都有下面這個(gè)心愿:我的打腿像孫楊。

編程與游泳,路漫漫其修遠(yuǎn)兮,讓我們上下而求索。

更多閱讀

Jerry的ABAP, Java和JavaScript亂燉

Jerry的2017, 編程與游泳

ABAP開發(fā)人員未來(lái)應(yīng)該學(xué)些什么

Jerry的ABAP原創(chuàng)技術(shù)文章合集

要獲取更多Jerry的原創(chuàng)技術(shù)文章,請(qǐng)關(guān)注公眾號(hào)"汪子熙"或者掃描下面二維碼:

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/71784.html

相關(guān)文章

  • 你的ABAP程序給佛祖開過(guò)光么?來(lái)試試Jerry這個(gè)小技巧

    摘要:實(shí)現(xiàn)步驟非常簡(jiǎn)單,在標(biāo)準(zhǔn)程序的內(nèi)創(chuàng)建一個(gè)隱式增強(qiáng)。禁止在測(cè)試服務(wù)器和生產(chǎn)服務(wù)器使用否則由此造成的一切負(fù)面后果,本人及概不負(fù)責(zé)。 最近Jerry在忙一個(gè)項(xiàng)目,技術(shù)棧換成了nodejs平臺(tái),語(yǔ)言換成了JavaScript,因?yàn)橼s項(xiàng)目進(jìn)度,一直沒(méi)時(shí)間更新公眾號(hào)。感謝大家的支持,關(guān)注人數(shù)還是慢慢地增長(zhǎng)到了3000。 showImg(https://segmentfault.com/img/re...

    SQC 評(píng)論0 收藏0
  • 不喜歡SAP GUI?那試試用Eclipse進(jìn)行ABAP開發(fā)吧

    摘要:比如的的個(gè)性化設(shè)置是這樣的,字體必須用程序猿專用的等寬開源字體,這樣顯得比較專業(yè)。我覺(jué)得網(wǎng)上流傳的程序猿和工具的鄙視鏈很無(wú)聊,與其有時(shí)間去鄙視別人,不如把這時(shí)間用來(lái)深入研究自己每天用的,進(jìn)一步提高自己?jiǎn)挝粫r(shí)間內(nèi)的工作效率。 Jerry和SAP成都研究院一些新同事聊天時(shí),談到ABAP和SAP GUI這個(gè)話題。很多新同事在加入SAP成都之前,是做Java和C++開發(fā)的,習(xí)慣了Eclipse...

    jkyin 評(píng)論0 收藏0
  • 我用ABAP做過(guò)的那些無(wú)聊的事情

    摘要:而且這種現(xiàn)象在德國(guó)的法定節(jié)假日里更加突出。所以本文提到的這些東西都是在德國(guó)節(jié)假日里無(wú)聊的產(chǎn)物,對(duì)于顧問(wèn)的實(shí)際工作可能幫助不大。這也是在這篇文章里介紹的眾多用搞出來(lái)的無(wú)聊的東西里唯一被官方認(rèn)可的工具,囧。直接用執(zhí)行里的事務(wù)碼或者函數(shù)。 國(guó)慶大假馬上就要來(lái)臨了,我們聊點(diǎn)輕松的話題,關(guān)于假期。 Jerry的成都同事李貝寧(Li Ben), 《SAP成都研究院李三郎:SCP Applicati...

    wuaiqiu 評(píng)論0 收藏0
  • #私藏項(xiàng)目實(shí)操分享# 使用 JavaScript 上傳 PDF 和 Excel 等二進(jìn)制文件到 AB

    摘要:這是年的第篇文章,也是汪子熙公眾號(hào)總共第篇原創(chuàng)文章。使用通過(guò)格式發(fā)送和文件到服務(wù)器關(guān)于格式的詳細(xì)說(shuō)明,參考開發(fā)社區(qū)和的文檔我在前文例子的基礎(chǔ)上稍作修改在里使用兩個(gè)類型為的標(biāo)簽,分別上傳和文件用來(lái)測(cè)試的本地文件,大小為字節(jié)。 這是 Jerry 2021 年的第 71 篇文章,也是汪子熙公眾號(hào)總共第 348 篇原創(chuàng)文章。 Jerry 之前發(fā)布過(guò)一篇文章 不使用任何框架,手寫純 Jav...

    peixn 評(píng)論0 收藏0
  • ABAP正則表達(dá)式 vs SPLIT INTO

    摘要:如果用正則表達(dá)式,只需行代碼而且后者比前者快倍因?yàn)槭窃谟脤?shí)現(xiàn)的,比在端做要高效。參考如下的性能測(cè)試比較結(jié)果單位微秒。 需求: 把如下通過(guò)/連接起來(lái)的三個(gè)字符串分別解析出來(lái)。 showImg(https://segmentfault.com/img/remote/1460000013373538); 傳統(tǒng)的做法見(jiàn)下圖第98行的function module SKWF_UTIL_IO_FI...

    kviccn 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<