關於「自動程式設計軟體」的一些問答

2021-04-09 08:19:22 字數 4310 閱讀 7658

關於「自動程式設計軟體」的一些問答

這條訊息提及了所謂「自動程式設計軟體」。《網際網路週刊》記者吳小姐就此問題跟火炬,tiny

進行了一些討論。

w代表吳小姐,h代表火炬。

w: 這個訊息是否可信?

h: 可信。

w: 我想知道他們的技術是不是現在最牛的。

h:我不認為這是所謂的「自動程式設計軟體」,這個定義本身就是模糊不清的。這類的技術思路倒

是並不陌生。從原文的描述中可以看出,所謂「自動程式設計」,其實只是一種從業務模型中快

速生成程式**的技術。其實目前的開發工具所提供的類似的功能也並不少。他們所提到的

這種軟體大概是更為完善的接近「使用者語言」的方式描述業務模型,這樣的技術在中國也有

人研究,目前在這個領域作出一定成果的是的是justep(www.justep.com)。

w: justep跟care做的是一樣的東西嗎?

h: 不一樣,不過我認為思路應該比較類似。

w: 是在自動程式設計軟體這個行業裡國內最大的?

h: 我不同意所謂「自動程式設計軟體」這個說法。

w: 那麼在你看來,care那個到底是怎樣一種技術?

h:什麼叫做自動?什麼叫做程式設計?用模型來表述業務邏輯,你說這個叫不叫程式設計?當然也叫。

只不過是更高層次的抽象,並非直接寫**而已。這類工具只是提供更接近使用者的語言,讓

使用者可以完成程式設計師的部分工作而已。

所謂程式設計,就是是把你所需要的事情告訴計算機的過程。這個過程需要用特定的語言,這個

就叫做程式語言。部分環節可以不需要程式設計師干預完成,這個說法是

沒有問題的。其實對於高階語言,和機器碼相比,早就有部分領域由計算機代替了程式設計師的

工作。最早的程式語言是穿孔帶。那時候需要人工再紙上打孔。現在呢,使用高階語言設計程

序,然後用編譯器生成本地機器**或虛擬機器**。這是後,編譯器就代替了「手工編為機

器碼「這個過程中的所需要的程式設計師工作。所以說「自動程式設計軟體」這個概念本身就是模糊

而荒謬的。只能說,這種系統提供了更高的抽象層次而已。

w: 那麼我們關於自動化的設想是完全沒有來由的嗎?

h:自動化的設想,只是自動完成某些工作。並非自動完成所有的工作。justep的東西也一樣,

他們提供了非常高的抽象層次。比如說,可以用使用者語言來工作或是進行所謂的「程式設計」工

作。這時候,需要的程式設計師工作變得非常的少。但,這並非自動程式語言。

w: 比如程式設計這方面,程式設計師是不可能退場的?

h: 退場的只是某些人。但一些人退場,必定會出現更高層次的人。

w:你所謂的「抽象」是不是可以理解為智慧型?你所說的那種「抽象」可以高到什麼程度?更高

層次的人指什麼人?

h: 比如說:

我們編寫乙個使用者驗證模組的時候,需要編寫安全模型,然後登陸入口,驗證的過程,等等

。但,在業務建模系統中,可能這個就叫做「使用者登入」。那麼,只要懂得業務邏輯的使用者

,不需要知道技術細節,他們把這個「使用者登入」拖過來放在這裡,這個平台就自動替他們

生成乙個可執行的使用者登入程式。其它的如此類推。

使用者是在使用使用者語言來工作,而並非程式設計師語言。當然,這個過程也並非「無需程式設計師」

的 。某些複雜的情形仍然需要程式設計師參與。只不過,這種需要大大降低了而已。

w:那麼再回到那家美國公司,他們開發的那種軟體,能稱的上是尖端技術嗎?有發展前景嗎

?h: 我不認為能夠稱為尖端技術。發展前景當然有。

w: 某些複雜的情形仍然需要程式設計師參與」這種情形是不是正在變得越來越少?

h: 是的,會越來越少。這就是我說的抽象層次。

w: 請簡要的說說編譯器。

h:這裡我們先做乙個定義:越利於人類理解的語言,則抽象層次越高。越利於計算機理解的語

言,則抽象層次越低。簡單點說,就是人類越好理解的東西,計算機越難理解。反之亦然。

編譯器是這兩者之間的橋梁。把抽象層次高的語言翻譯成抽象層次低的語言。在這個編譯器

的幫助下,過去很多程式設計師的人工工作現在由計算機自動完成了。學習程式設計也不用先去

學習晦澀的機器語言或是組合語言了。

w: 那麼依你看,將來在程式設計方面,可以在多大程度上實現「自動化」?

h:這個很難預料。技術的發展是一日千里的。但是有一些事情很難改變。比如說,系統的結構

一定需要有經驗的專業人員處理。建築行業是個很好的例子。建築業已經發展了幾個世紀,

非常成熟。但是建築設計師,結構設計師仍然不是隨便什麼人都能做的。

這個行業的變化大部分發生在:大型攪拌機替代了大部分混合泥沙的工人,卡車等運輸裝置

替代了大部分搬運工。

w: 也就是說,care現在在做的東西其實也就是類似建築工地上的攪拌機或者卡車?

h: 如果說現在程式設計師還是搬運工的話,care確實造出了了一輛卡車。

w: 你怎麼看這個行業的前景?

h:我認為,這個行業始終需要提高更高的抽象,因為我們面對的世界非常複雜。用接近機器的

語言描述世界很困難,而是用更貼近人類的語言則簡單的多。

10年前我們只能開發出字元介面的程式。但現在大家都用上圖形介面的系統了。

w: 這個提高有沒有個極限?

h: 這個提高我看是沒有盡頭的。正如人類的科學沒有盡頭。

也許一些工具能取代現在的人,但是不能取代將來的人。隨著抽象程度的提高,生產力的發

展,人的能力也在不斷的提高和發展。現在的中學生的知識甚至有可能比2023年前的哲學家

更加豐富一些。

所謂的「自動程式設計工具」(其實就是更高抽象層次的工具)能幫助我們完成更複雜的需求。

w: 這個複雜性體現在哪兒?

h:複雜性首先體現在巨大的資訊量。然後體現在行業的豐富和不同。就是說,每個行業所要處

理的都是包含巨大資訊量的工作。現在的資訊化程度還遠遠不夠。而行業還是在不斷增加的

。比如,過去,大家覺得字元介面下的工具夠用了。但是,其實遠遠不夠。現在軟體都有圖形

介面了,這些軟體使用簡單,培訓容易,也更不容易出錯誤。這就是更複雜的需求。

其次,沒有卡車的時代,只是靠人力搬運,那時候管好人就行了。現在呢,有了卡車,就需

要創造交通規則,需要創造修理工,需要開採石油和能源......方便的背後帶來了更大的復

雜性。w: 程式設計師現在的狀況怎麼樣呢?「自動程式設計軟體」的出現是否會導致程式設計師失業?

h:對於特指編碼人員的「程式設計師」來說,這個大概是他們聽到這個訊息之後最為關係的話題。

最開始我們說過,40年前的程式設計師是用串孔帶工作的。他們需要非常了解計算機的結構,所

謂程式只是控制一系列電路開關的過程。他們要想好按照什麼順序去處理這些開關得通斷,

然後用穿孔帶來表達,最後讓機器執行。這種方法顯然對人要求非常高。這是非常難掌握的

方法。後來,出現了組合語言,這是後,開始有比較簡單的助記符出現,程式設計師雖然還要了

解機器結構,但是難度已經大大降低了。後來出現了c,出現了物件導向,現在出現了虛擬機器

等等,這些一點點提高了抽象層次,也降低了對最低編碼人員的要求。

但是,更高要求的職業也出現了。最早是沒有所謂的

架構設計師的。因為那時候的程式寫起來很難,也不可能寫出來太大型的程式。自然也不需

要架構設計。

所以說,隨著抽象程度的提高,一定會有一部分人失業。但一定也會創造更多的職業。比如

說剛剛說的系統分析員,架構師,這些就是隨著抽象層次提高被創造出來的職業。

繼續用剛才那個卡車的例子。比起沒有卡車的年代,現在搬運工這個職業需求少了,但是創

造了司機這個職業。

w: 可是,高層次的職業畢竟需要的人少。

h:需要的人少這個問題,我想要從更高的高度看。剛才說了,所面對問題的複雜程度是不斷增

加的。卡車出了創造了司機,還創造了製造業,交通,道路,橋梁,能源等等許多行業的提

高,對於社會整體來說,所需要的勞動力並沒有減少。具體到軟體這個行業:就算有了相對

自動化的工具,但開發這些工具同樣需要程式設計師。完善這些工具同樣需要。當工具完善到可

以處理更複雜的情況的時候,對使用這些工具的人需求也會大大增加。對於整個it行業來說

,人員的需求量始終是增加的。雖然再開發工具的輔助下,現在1個普通程式設計師的工作所創

造出來的**質量和數量遠遠超過30年前的10個做同樣工作的科學家的成果。但it行業總體

的需求還是在增加。我們可以看到乙個現象,就是it/軟體公司越來越多,越來越大,而不

是越來越少或是越來越小。所以,高抽象層次的開發工具帶來的並非程式設計師的失業,而是it

行業的整體上公升。

w: 不妨說,那些從工地上淘汰下來的搬運工,必須學開車或者別的什麼……

h:當然,具體到個人,如果不學習,不思考,肯定會落後,會失業。這個並非it行業專有。任

何行業都是如此的。

關於「自動程式設計軟體」的一些問答

關於 自動程式設計軟體 的一些問答 這條訊息提及了所謂 自動程式設計軟體 網際網路週刊 記者吳小姐就此問題跟火炬,tiny 進行了一些討論。w代表吳小姐,h代表火炬。w 這個訊息是否可信?h 可信。w 我想知道他們的技術是不是現在最牛的。h 我不認為這是所謂的 自動程式設計軟體 這個定義本身就是模糊...

關於TI DSP 的軟體程式設計的一些庫介紹

ti為了將整個開發過程進行簡化,設計了很多庫,其中也包括很多第三方的一些東東,主要包括以下幾個 dsp bios 他是個ti的很小的作業系統,官方說它消耗cpu不到1 我測了下果真是,不知是我模組沒用全還是其他的,竟然採用了0.57 左右,的確很省呀。這個東西與其說是作業系統不如說是乙個除錯系統,用...

軟體工程 關於計算機的一些問答與思考

選擇計算機行業是因為愛好驅使,對計算機科學技術十分的感興趣,但是在上大學之前並沒有過多接觸se方面的知識。我認為自己的條件並不算特別優秀,每當一些大牛的部落格看下來,或是閱覽一些開源的原始碼,我常常感嘆那些人的創造力與對卓越追求。我認為現在的我和他們比起來,水平差得非常多,但是我覺得我能依靠自己持之...