看資深開發(fā)者如何表白低代碼
低代碼面對的各種聲音
本文引用地址:http://butianyuan.cn/article/202208/436991.htm自從我開始使用西門子低代碼以來,我注意到當告訴別人你在使用西門子低代碼進行低代碼開發(fā)時,大家的反應(yīng)會截然不同。一般情況下會有以下三種反應(yīng):
1. 同行——相互支持和理解;
2. 小白——對解決方案更感興趣、僅關(guān)心問題是否已解決;
傳統(tǒng)代碼開發(fā)者(如C語言、Java、Python等)——往往對低代碼開發(fā)持質(zhì)疑態(tài)度。
西門子低代碼是軟件開發(fā)進化的產(chǎn)物
我一次又一次地觀察到高代碼編程語言和低代碼編程語言之間的劃分,這也是我在使用西門子低代碼之初所觀察到的。基于大家對低代碼的不同聲音,我自己也難免會有偏見,我對西門子低代碼的第一印象是:它是一個用來構(gòu)建小型應(yīng)用程序和實體模擬的好工具,僅此而已。
事實證明我大錯特錯。
在使用西門子低代碼多年后,我認為它理應(yīng)成為我們開發(fā)者與計算機之間的下一代互動方式。為了解釋這一點,讓我們回到幾年前。以前,為了給計算機編程,你必須以二進制的形式向計算機下達命令,這項工作無疑非常耗費精力。只有少數(shù)專家才能使用二進制代碼給計算機編程,顯然需要一種更加實用的解決方案。下一輪進化以匯編語言為代表。每一種處理器都有自己的指令集并且可以用匯編程序表示。這種語言更方便人類閱讀,所以用它來開發(fā)也變得更容易。因此匯編程序是一個抽象層,它將二進制代碼隱藏起來,但任何使用過匯編語言的人都知道,這個過程同樣非常乏味。它沒有現(xiàn)代語言的基本舒適功能,而且每次都要重新開發(fā)。此外,由于不同類型的處理器具有不同的匯編指令集,因此如果你想在一種新的處理器上運行一個程序,就必須重新編寫程序。C語言、Java和JavaScript這些高代碼的出現(xiàn)解決了這些不便,其語法更方便人類閱讀、可重復使用的功能、對內(nèi)存管理友好、可移植性強。這些語言的語法將機器語言命令匯總成易于使用的操作,但開發(fā)者也失去對計算機內(nèi)部進程的直接控制,目的是為了讓更多開發(fā)者能夠使用這類語言。
西門子低代碼和低代碼是計算機編程的下一個進化方向。西門子低代碼也是向開發(fā)者隱藏高代碼、匯編程序和機器語言復雜性的抽象層。雖然開發(fā)者放棄了一部分直接控制權(quán),但因此能夠更快地開發(fā)應(yīng)用程序。此外,這個開發(fā)環(huán)境讓更多的開發(fā)者能夠更加輕松地上手。
你注意到了嗎?沒錯,當年支持高代碼的論點現(xiàn)在正在支持低代碼。每一次進化都會帶來開發(fā)速度的提升和開發(fā)流程的民主化。西門子低代碼的存在并沒有使高代碼變得過時。高代碼在很多領(lǐng)域都有它的一席之地(比如可以用Java和JavaScript擴展西門子低代碼)。同樣,匯編程序和機器代碼仍然是一些領(lǐng)域的首選工具,但我們必須認識到低代碼是進化的產(chǎn)物。
低代碼讓我們在職業(yè)發(fā)展上有了更多的選擇
在我成為西門子低代碼開發(fā)者之前,我對自己未來的職業(yè)道路產(chǎn)生了嚴重的懷疑。我喜歡寫代碼,但我認為自己沒法每天都做這項工作。但我確實喜歡構(gòu)建各種東西。我喜歡回顧一天的工作并看到結(jié)果,這就是構(gòu)建軟件的意義所在。在我的前雇主向我介紹西門子低代碼平臺之前,我并不知道低代碼。
西門子低代碼開發(fā)者不用寫傳統(tǒng)的代碼就可以構(gòu)建數(shù)字應(yīng)用程序。你可以使用預(yù)先構(gòu)建的部分來構(gòu)建應(yīng)用程序。你所設(shè)計的邏輯片段被稱為“微流”。在啟動應(yīng)用程序后,西門子低代碼就會將其翻譯成計算機可以理解的語言。微流看起來像是傳統(tǒng)的工作流程圖:有一個開頭和一個結(jié)尾,執(zhí)行的是中間的邏輯片段。
由于這些片段都是預(yù)先構(gòu)建的并且可以隨時使用,所以邏輯開發(fā)速度比傳統(tǒng)編碼方法快十倍,而且學習過程比編碼簡單得多,因此更容易上手。即便你沒有學習過計算機科學,也可以使用低代碼技術(shù)。其實大多數(shù)西門子低代碼開發(fā)者都來自截然不同的學術(shù)領(lǐng)域。我曾有幸與生物醫(yī)學、心理學、工業(yè)工程等不同學術(shù)背景的西門子低代碼開發(fā)者合作。雖然IT行業(yè)仍然是一個以男性為主的行業(yè),但這種刻板印象在低代碼這里并不成立。我團隊中的女性人數(shù)甚至一度超過男性。
這種背景多樣性使得低代碼開發(fā)者經(jīng)常需要承擔許多不同的職責。低代碼開發(fā)者常被稱為業(yè)務(wù)工程師,這可不是“空穴來風”,業(yè)務(wù)工程師是業(yè)務(wù)管理專家和軟件工程師的“混合體”。也就是說,業(yè)務(wù)工程師不僅能夠理解并將業(yè)務(wù)需求轉(zhuǎn)化為軟件需求,還可以將這些需求轉(zhuǎn)化為真正的軟件。一般情況下,你在每天的大部分時間里都在開發(fā),但你也可以參與到軟件開發(fā)流程中的更多環(huán)節(jié)。在我以前的公司里,業(yè)務(wù)工程師還會參與銷售和用戶體驗(UX)設(shè)計等其他工作。
即使在Mendix公司內(nèi)部,員工也可以選擇擴展到不同的領(lǐng)域。通過學習樣式的知識以投身于前端開發(fā),或者成為一名專注于系統(tǒng)集成的后端開發(fā)專家,甚至可以通過學習Java開發(fā)來深入研究西門子低代碼的核心。大多數(shù)西門子低代碼開發(fā)者都有自己最感興趣的具體專業(yè)領(lǐng)域,但你很可能需要在某個時候承擔所有這些領(lǐng)域的工作。傳統(tǒng)的軟件工程師一般不會有這么“奢侈”的機會。
這一切讓你在職業(yè)發(fā)展方向上有了更多的選擇。你可以先從一個基本的西門子低代碼開發(fā)者開始做起,然后擴展到其他領(lǐng)域。在過去四年中,我就曾為金融、保險、衛(wèi)生、政府等領(lǐng)域的各種形式和規(guī)模的公司工作。
如果你還不是一名西門子低代碼開發(fā)者,可以先嘗試一下低代碼。不要只看到局限性,而是要看到它所帶來的可能性,就像軟件開發(fā)的進化過程一樣。
評論