警惕低代碼隱藏的六大危險(xiǎn)?
譯文譯者 | 布加迪
審校 | 重樓
代碼開發(fā)的前景再誘人不過了。誰不想減少工作量?誰不想靠在座椅上,讓機(jī)器收拾殘局?畢竟,幾十年來我們一直在告訴機(jī)器該怎么做。它們現(xiàn)在應(yīng)該已經(jīng)會(huì)做一兩件事。

好消息是,越來越多的公司已經(jīng)找到了方法來創(chuàng)建值得大肆宣傳的“低代碼”的軟件包。有些方法非常棒,公司可能真的準(zhǔn)備好了更大肆宣傳的短語:無代碼。
實(shí)際上,軟件棧已經(jīng)被復(fù)雜的對(duì)話框、大大改進(jìn)的拖放界面、更有彈性的數(shù)據(jù)庫和更好的集成開發(fā)環(huán)境共同改變。只要加上一點(diǎn)所謂的人工智能(AI),就能達(dá)成交易。
我們都看過銷售演示。點(diǎn)擊幾下鼠標(biāo)后,整個(gè)堆棧就啟動(dòng)并運(yùn)行了。再點(diǎn)擊幾下,就可以將其與本地LDAP集成在一起,這樣辦公室里的每個(gè)人都可以登錄來完成工作。再點(diǎn)擊幾下,系統(tǒng)就開始輸出報(bào)告和電子表格。對(duì)于那些很幸運(yùn)仍然是工作流程一部分的人來說,這一切看起來就像魔法。
但是即使已經(jīng)完成了良好的演示,代碼運(yùn)行順暢,也有理由三思而后行。在靚麗的外表背后,有些問題無法通過點(diǎn)擊一個(gè)簡(jiǎn)單的對(duì)話框就能解決。
盡管交付低代碼軟件包的公司提供種種承諾,甚至提供不可否認(rèn)的成功故事,我們有理由保持警惕。有些軟件包并不如看上去那么好。以下是在面對(duì)低代碼時(shí)需要保持謹(jǐn)慎的六個(gè)原因。
自動(dòng)化讓我們變得愚蠢
低代碼的賣點(diǎn)是,計(jì)算機(jī)和自動(dòng)化通過提供一種計(jì)算杠桿,使我們的智力成倍增長(zhǎng),從而使人類變得更聰明。也許吧。但您可能也注意到,隨著人們?cè)絹碓叫湃螜C(jī)器,我們有時(shí)會(huì)停止自行思考。如果算法說這么做是正確的,我們完全會(huì)跟著做。
不計(jì)其數(shù)的例子可以表明這種粗心大意會(huì)導(dǎo)致災(zāi)難。2016年,由于計(jì)算機(jī)故障讓機(jī)場(chǎng)工作人員一頭霧水,造成機(jī)場(chǎng)擁堵,多趟航班延誤。據(jù)一家報(bào)紙報(bào)道,工作人員“不知道誰已經(jīng)通過了(安檢)門”。在過去,我們?nèi)祟惾匀挥心芰庸?/span>局面,比如說,在系統(tǒng)故障的情況下,把飛機(jī)降落在東河上。一旦我們開始過度依賴機(jī)器,特別是考慮到低代碼的誘惑,我們還能在緊急情況下齊心協(xié)力嗎?
大多數(shù)規(guī)則
低代碼解決方案旨在滿足大多數(shù)人。如果貴公司有點(diǎn)不一樣,那么定制選項(xiàng)可能不夠多。到頭來,貴公司也會(huì)開始隨波逐流,貴公司會(huì)變得更像別人。也許這并不重要,但是如果貴公司依賴有自己的特殊工作流、流程或方法,支持它的唯一方法就是編寫自己的代碼。
繁瑣的東西積累
當(dāng)我們人類編寫代碼時(shí),自然做規(guī)定的最少工作,這驚人地高效。我們并不偷工減料,我們不會(huì)實(shí)現(xiàn)不必要的功能。低代碼解決方案沒有這種優(yōu)勢(shì)。它們被設(shè)計(jì)成一應(yīng)俱全式,這在計(jì)算機(jī)代碼中意味著庫中充滿了無窮無盡的if-then-else語句,用于測(cè)試網(wǎng)絡(luò)中的每種偶然性。
低代碼自然效率較低,因?yàn)樗偸窃跍y(cè)試和重新測(cè)試自己。畢竟,這種自動(dòng)調(diào)整的能力是銷售團(tuán)隊(duì)所推銷的魔力。但它的效率也會(huì)比由熟悉業(yè)務(wù)的人編寫的手工調(diào)整的代碼低得多。也許這些多余的設(shè)置一開始沒有那么糟糕,也許云計(jì)算公司會(huì)提供很多免費(fèi)的積分。但最終,隨著項(xiàng)目擴(kuò)大規(guī)模,總要有人為這些額外的if-then-else循環(huán)買單。
機(jī)器偏見
盡管人工智能擁有令人敬畏的能力,但沒有人真正知道它的模型中隱藏著多少偏見和不準(zhǔn)確。低代碼平臺(tái)也有同樣的問題。
這不是一個(gè)新問題。被低代碼平臺(tái)取代的人類總是有很多偏見,這些偏見影響了他們開發(fā)的軟件。只是數(shù)千年來,我們一直在與人類的偏見作斗爭(zhēng),我們已完善了許多成功對(duì)付偏見的系統(tǒng)。我們并不完美,但我們了解自身的一些缺點(diǎn)。
低代碼系統(tǒng)是新的。我們剛開始了解它們如何犯細(xì)微或明顯的錯(cuò)誤。一旦我們克服了敬畏的感覺,不再自動(dòng)地遵從神奇的算法,可能會(huì)開始找到一種方法來對(duì)付隱藏在里面的偏見。
可疑的改進(jìn)
軟件開發(fā)中有多少工作是關(guān)于處理分號(hào)和變量類型的?有多少時(shí)間花在了會(huì)議上,利益相關(guān)者要求您將按鈕向左移動(dòng)幾個(gè)像素,并在背景色中添加更多的紅色?
編寫一些代碼頗具挑戰(zhàn)性,但大部分代碼都是敷衍的。真正的工作在于應(yīng)對(duì)人類。低代碼版本的應(yīng)用程序常常將庫過程調(diào)用換成對(duì)話框,用于輸入所需背景色的三種RGB色調(diào)。在方框中輸入這些參數(shù)是否比編寫出一行Java、Python或C++代碼容易得多?
我們喜歡想象低代碼對(duì)話框為我們節(jié)省了時(shí)間,但在許多情況下,它們只是為設(shè)計(jì)思維的相同心理工作流程提供了一個(gè)表象?;ㄉ诘牡痛a接口可能比研讀文檔、尋找過程調(diào)用的合適語法來得更高效,但常常不像您想象的那樣可節(jié)省大量時(shí)間。
隱性成本
當(dāng)?shù)痛a運(yùn)行良好時(shí),每個(gè)人都很高興只需點(diǎn)擊就行。但是當(dāng)它運(yùn)行不暢時(shí),只有專業(yè)的程序員才能弄清楚。有時(shí)候,問題在于您需要做一些低代碼系統(tǒng)并非旨在處理的非標(biāo)準(zhǔn)事情。有時(shí)候,您已經(jīng)將系統(tǒng)逼到了出現(xiàn)故障或崩潰的地步。在任何情況下,只有知道如何編寫真正代碼的真正程序員才能找到解決方案。
低代碼存在的問題是,它常常只解決簡(jiǎn)單的問題,比如語法。底層的一切仍然需要優(yōu)秀程序員的技能,他們可以推理出我們再也見不到的所有隱藏機(jī)制。低代碼系統(tǒng)仍然是軟件,并且不可避免地需要有人說它們的語言,即字節(jié)、數(shù)組和數(shù)據(jù)結(jié)構(gòu)的語言。
原文標(biāo)題:6 hidden dangers of low code,作者:Peter Wayner















 
 
 










 
 
 
 