自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

開發(fā)無人編程即編程自動化系統(tǒng),讓程序員失業(yè)

新聞 自動化
開發(fā)機器人可以由無人工廠完成,而開發(fā)機器人軟件則由無人編程軟件完成,最后只有開發(fā)無人編程軟件的人員不失業(yè)。開發(fā)無人編程工具的人是誰?應(yīng)該是各專業(yè)的頂尖科學(xué)家。

不久前我寫了漢澳sinox無人工廠,引起很大反響,東莞開始有工廠實施無人工廠計劃,取代工人。雖然目前即使開發(fā)無人工廠也可能只是0.1版本,然后有1.0,2.0,無人工廠不斷升級版本,當然跟預(yù)想中的漢澳sinox無人工廠還有很大距離,但是畢竟提出了概念,并指明了方向,無人工廠技術(shù)研究很可能在中國引發(fā)新的工業(yè)革命。也為中國制造業(yè)指明了出路,不用擔(dān)心產(chǎn)業(yè)轉(zhuǎn)移等讓中國喪失世界工廠的地位,無人工廠技術(shù)和資金投入會越來越多,保持中國制造業(yè)領(lǐng)先地位還是有可能的。

[[348685]]

我有時在想,無人技術(shù)發(fā)展很快,比如無人機技術(shù)已經(jīng)很成熟,最近無人駕駛也開始實用,無人工廠如果技術(shù)也成熟了,那么下一步發(fā)展的無人技術(shù)是什么?無人是指不需要人,完全自動化操控的技術(shù),不是沒有人。作為程序員,我很懶,我希望很多簡單重復(fù)的工作不需要人去做,直接自動化編程就好,比如軟件代工,沒什么技術(shù)含量,總是由編碼工人做重復(fù)工作,而不熟練的程序員還做不了,如果用機器來做,其實應(yīng)該是軟件來做,就不需要重復(fù)工作的編碼工人了。軟件設(shè)計不需要機器生產(chǎn),只是腦力勞動,所以也沒有無人編程工廠,應(yīng)該是無人編程軟件,用軟件生產(chǎn)軟件,只是高智慧的軟件生產(chǎn)普通應(yīng)用程序。無人編程工具,應(yīng)該叫自動化編程系統(tǒng),還是需要人輸入需求的,否則軟件不知道生產(chǎn)什么。需求千變?nèi)f化,不像工廠生產(chǎn)的固定產(chǎn)品,軟件生產(chǎn)需要面對復(fù)雜的應(yīng)用程序生成,估計開發(fā)難度會比無人工廠大很多,甚至不可能。不過我覺得既然提出了無人編程,即使只是感念,也要把它完善,也許幾十年以后無人編程會變成現(xiàn)實。

一旦無人編程技術(shù)成熟,程序員,這個最富智慧和腦力的職業(yè),也要面臨消失的可能。程序員將會繼產(chǎn)業(yè)工人之后走向失業(yè)。而很多普通的工作比如理發(fā),護理,打雜等,都可能由機器人完成,這個可能比較容易,要是能取代程序員,那么估計沒有什么工作不可以由無人機器或者軟件替代。這將是非常可怕,這樣還需要什么工作呢?大家都失業(yè)在家,讓機器人、智能軟件接管世界?開發(fā)機器人可以由無人工廠完成,而開發(fā)機器人軟件則由無人編程軟件完成,最后只有開發(fā)無人編程軟件的人員不失業(yè)。開發(fā)無人編程工具的人是誰?應(yīng)該是各專業(yè)的頂尖科學(xué)家。

只有頂尖科學(xué)家可以工作,其他人都失業(yè),成為類似原始部落社會的人,不用做事。這個扯遠了,不過程序員應(yīng)該是最后一批失業(yè)的產(chǎn)業(yè)工人。

好,現(xiàn)在已經(jīng)知道有無人編程這個軟件了,那么這個軟件是怎么實現(xiàn)呢?說實話,這個軟件現(xiàn)在技術(shù)還不成熟,我們只能探討各種可能,并找到開發(fā)方法。

.net類庫的優(yōu)勢

我用過匯編。c/c++,java,perl,php等各種編程語言和工具,直到我用了C#.net,才知道編程真的越來越容易了,匯編不用說了,用機器語言寫程序,難。c語言,好些了,不過每個函數(shù)功能自己寫,累。vc好點,但是mfc寫界面還是很難,而且很多算法要自己實現(xiàn),或者抄襲別人寫的類。java更好點。而腳本語言perl.php等怎么說呢?管理系統(tǒng)和做網(wǎng)頁是適合,但是做界面是很難的。最后出現(xiàn)了偉大的.net,很多功能函數(shù),數(shù)據(jù)結(jié)構(gòu),算法都由.net類庫分門別類實現(xiàn)好了,比如要把“1,2,3,4,5”字符串按逗號分開,用split函數(shù)就好了,以前見vb有這個函數(shù),覺得很方便,但是c/c++是沒有的,現(xiàn)在C#就特別方便了,直接用split就好。所以.net類庫非常方便用戶編程,而且界面控件也很方便實現(xiàn),甚至web網(wǎng)頁程序也可以用控件實現(xiàn)。.net讓程序員開發(fā)速度快了好多倍。只可惜.net不能跨平臺,windows貴且不好用,所以被抵制。java現(xiàn)在也開發(fā)了很多類庫,跨平臺很好,所以被unix/linux世界推崇。

.net類庫讓人類開發(fā)能力上了一個檔次,雖然面對各種多樣復(fù)雜的計算,還是需要設(shè)計數(shù)據(jù)結(jié)構(gòu)和邏輯算法,但是大部分基礎(chǔ)功能還是可以由.net類庫實現(xiàn)了。

能不能把.net類庫提升到一個檔次?開發(fā)更多的函數(shù)功能應(yīng)該是可能的。但是也不可能包羅萬象,把所有計算都包含進去,比如新加坡總理李顯龍寫的數(shù)獨求解算法,把算法加入類庫,普通程序員就可以開發(fā)九宮這種數(shù)獨游戲。不過數(shù)獨算法應(yīng)該找到源代碼,這樣不需要加入.net類庫也可以引用。

又比如開發(fā)3d游戲,雖然可以直接用directx渲染引擎庫,但是要實現(xiàn)游戲功能還不是簡單調(diào)用api就可以,所以又有3D游戲引擎,把更多的函數(shù)功能封裝成游戲調(diào)用接口,但是引擎接口也是很復(fù)雜的,熟悉引擎還要花時間,更不要說調(diào)用引擎完成游戲場景開發(fā),而游戲數(shù)據(jù)結(jié)構(gòu)設(shè)計,比如靜態(tài)場景物體和動態(tài)物體,通關(guān)邏輯設(shè)計,對話等,內(nèi)容非常復(fù)雜,不是會寫程序就能解決的。我們能不能把游戲引擎再次加入.net類庫,讓.net類庫功能無所不包呢。完全可能,只是這個是.net要做呢,還是屬于開發(fā)人員引入的引擎類庫?如果.net類庫無所不包,不過也不可能解決所有的問題,如果有上百萬個類,用戶又怎么知道怎么使用呢?

用框架自動生成基礎(chǔ)代碼

.net類庫無所不包,但是用戶怎么用呢?我們開發(fā)3d游戲首先要用的是directx(簡稱dx)顯示引擎,在此基礎(chǔ)上再使用Unity3D游戲引擎,然后才可以設(shè)計數(shù)據(jù)結(jié)構(gòu)和邏輯算法,現(xiàn)在Unity3D是在dx引擎之上更高一級的引擎,可見需要層層調(diào)用引擎。.net類庫–>dx–>Unity3D–>游戲,要開發(fā)游戲要調(diào)用3層引擎,我們稱為框架,基礎(chǔ)代碼,這些框架讓我們節(jié)省大量工作,如果沒有這些框架,開發(fā)一個游戲幾乎是難以上青天?,F(xiàn)在開發(fā)者只要集中在游戲邏輯設(shè)計以及圖像設(shè)計就可以了,省去了底層編碼。編程自動化就要首先調(diào)用框架,然后集中在邏輯設(shè)計,從而大大簡化無人編程工具的開發(fā)。

我們寫程序也是這樣,是在操作系統(tǒng)這個框架平臺上開發(fā),否則從開發(fā)操作系統(tǒng)開始,設(shè)計程序簡直是不可能。

我們設(shè)計幾萬個最佳的框架,放入無人編程工具里面,根據(jù)需要調(diào)用框架,從而實現(xiàn)編程自動化。數(shù)獨最優(yōu)解法也可以加入框架,屬于數(shù)學(xué)類框架,供上層調(diào)用。

用腳本語言實現(xiàn)自動代碼生成

有了框架基礎(chǔ)代碼,我們設(shè)計應(yīng)用程序就集中在數(shù)據(jù)結(jié)構(gòu)和邏輯算法設(shè)計,根據(jù)用戶的數(shù)據(jù)結(jié)構(gòu)和邏輯算法自動生成源代碼。比如我們說的元語言編程,通過定義元語言,用腳本自動生成代碼。我們可以用shell,perl,python等腳本語言自動生成代碼,可以輸入元語言腳本,自動生成某種語言的源代碼。比如說要生成登錄程序,會根據(jù)用戶定義生成賬戶的注冊,修改,刪除,登錄,驗證碼等包含數(shù)據(jù)庫操作和界面交互的源代碼,不再需要普通程序員編寫代碼了。腳本的定義和解釋都是由用戶寫的腳本決定,可以根據(jù)需要修改腳本。這個方法可以生成大部分代碼,只是靈活性不是很高,可能滿足比較固定的應(yīng)用程序代碼生成。

用lisp等高級語言實現(xiàn)自動代碼生成

lisp是表處理語言,擁有xml,元語言,模版等特征,可以用來生成新的應(yīng)用程序代碼,不過代碼生成都用lisp實現(xiàn),一旦改動,是不是也要修改lisp程序,跟腳本生成差別不是很大,不過對某些程序生成可能有用。比如cad用lisp腳本生成三維模型,也許在涉及開發(fā)制圖程序,可能lisp很有用。比如很多模型可以用lisp保存。

現(xiàn)在已經(jīng)有一些代碼生成器軟件,可以通過向?qū)Х绞缴稍创a。

用模版實現(xiàn)自動代碼生成

我們開發(fā)大同小異的網(wǎng)頁程序,為了滿足個性化的界面輸出,大量使用模版功能。在無人編程工具里面,我們是不是可以引入模版,從而滿足大同小異的多樣化應(yīng)用程序生成需要。我們編程語言也引入了模版,也稱為泛型,泛類型,開發(fā)程序用《T》代表任何類型數(shù)據(jù),這樣寫程序調(diào)用會有統(tǒng)一的接口,不管這個類型是整數(shù),實數(shù)還是字符串,使用的時候指定T的類型就可以。

我們開發(fā)自動代碼生成也可以用模版,比如指定數(shù)據(jù)庫字段的名字和類型,就可以自動生成數(shù)據(jù)表字段,以及操作數(shù)據(jù)庫的類,界面操作的類。而界面顏色用了模版,用戶指定了某種顏色,就在生成的代碼中產(chǎn)生指定的顏色,而不是固定死,對于動態(tài)生成顏色的代碼可能沒用。模版可能適合生成某些比較固定的模式。

用大數(shù)據(jù)云計算實現(xiàn)自動代碼生成

我看到語音識別系統(tǒng)存入數(shù)百萬個語音片段,而表情識別系統(tǒng)則有幾百萬個表情存入數(shù)據(jù)庫,可見自動代碼生成可能存入數(shù)百萬個代碼片段,然后有數(shù)百萬個分門別類好的功能函數(shù),大量的數(shù)據(jù)結(jié)構(gòu),大量的邏輯算法,甚至是邏輯算法生成模型。比如生成1到1萬的素數(shù)和,就要調(diào)用循環(huán)代碼,素數(shù)判斷函數(shù),累加幾個功能,顯然用大數(shù)據(jù),模版等技術(shù),生成1到1萬的素數(shù)和代碼是完全可能的。

更復(fù)雜的,游戲設(shè)計,設(shè)計背景物體,怪物,玩家數(shù)據(jù)結(jié)構(gòu)設(shè)計,物體出現(xiàn)、運動、死亡的邏輯,要完全自動生成,需要開發(fā)人員定義很多元數(shù)據(jù),而且可能還不夠,需要設(shè)計獨有的算法,只是編寫代碼是不需要了。應(yīng)用程序復(fù)雜多樣,可能自動生成工具也不是那么簡單能實現(xiàn),不過像教學(xué)類的,比如出題考試,無非是建立題庫,出題邏輯算法,答案比較和分數(shù)生成,最難的是作文計分,這個智能程度很高,開發(fā)自動生成工具需要熟練的了解相關(guān)專業(yè),然后可以生成一萬個考題應(yīng)用程序,甚至考題系統(tǒng)也能智能化,這個程序本身就能應(yīng)付一萬種考題系統(tǒng),那么自動生成考題系統(tǒng)可能就不需要了。

綜合多種技術(shù)人工智能自動生成代碼

大數(shù)據(jù)可能還不能滿足代碼生成需要,可能還需要各種代碼生成模型,我們說這是更高一級的代碼生成人工智能,人工智能將應(yīng)用上面提到的各種程序生成技術(shù)和手段,甚至自我學(xué)習(xí)能力,完成自動代碼生成。人工智能的神經(jīng)網(wǎng)絡(luò),深度學(xué)習(xí)技術(shù),可能對代碼生成很有幫助。

開發(fā)sepl自動編程工具

既然提出了編程自動化,我覺得sepl不應(yīng)該只是滿足于作為一個編程語言和集成開發(fā)工具,而是一個更高一級的無人編程工具。sepl無人編程工具擁有數(shù)百萬個代碼片段,數(shù)十萬個框架,數(shù)十萬個代碼生成模型,大量的模版,用戶只需要定義應(yīng)用程序生成條件,就可以做到一鍵生成應(yīng)用程序。這樣就不再需要程序員,而只是需要需求分析員,程序代碼自動生成。

新一代程序界面將智能動態(tài)輸出界面,從而實現(xiàn)圖形界面開發(fā)自動化

在多層邏輯實現(xiàn)的程序設(shè)計中,比如游戲,后臺服務(wù)器端可能都差不多,游戲邏輯也接近,只是反映在界面上,個性化界面,導(dǎo)致界面設(shè)計很復(fù)雜,如果界面是靜態(tài)的,那么幾億個用戶,涉及界面設(shè)計,自動生成很難實現(xiàn)人性化界面。不過如果我們采用動態(tài)界面輸出技術(shù),系統(tǒng)根據(jù)個人喜好輸出界面,就不再需要面對無數(shù)的個性化界面設(shè)計。動態(tài)的界面會根據(jù)個人喜好調(diào)整界面輸出。這樣自動化代碼生成面臨的復(fù)雜個性化界面輸出就解決了,而后端邏輯設(shè)計,代碼自動生成就變得容易了。

自動代碼測試讓程序合格出廠

生成的代碼是否合格可用,如果用人去檢查測試,也是很麻煩的。系統(tǒng)推出自動代碼測試,生成源代碼的時候也生成測試代碼,可以對程序進行全面的完整的自動化測試,合格的產(chǎn)品可以出廠了。

是噩夢還是光明?

自動代碼生成系統(tǒng)出來后,寫程序不再需要編碼,程序員自然不需要很多。當人們還在因為寫不好程序而困頓的時候,開發(fā)自動程序生成工具是不是早了一點。其實自動程序生成也不是不需要寫程序,而是寫一次程序,到處可以利用,不用重復(fù)寫程序了,比如數(shù)獨游戲一旦實現(xiàn)了自動生成,也許某個3d游戲需要數(shù)獨游戲,這個3d游戲就不需要重新寫數(shù)獨程序, 而是開發(fā)工具自動生成。

就像java編寫一次,到處運行一樣,無人編程是寫一次程序,到處可以使用,不需要寫第二次了。

無人編程工具出現(xiàn),編程速度會非常快,一個人頂上100個程序員,中國原來需要500萬個程序員現(xiàn)在只需要5萬個,99%的程序員失業(yè)了。

即使最復(fù)雜的應(yīng)用程序都能自動生成,機器人等單一程序是不是更容易?

現(xiàn)在sepl無人編程工具還需要像visual studio那樣到處散賣嗎?估計也沒有人買得起。

責(zé)任編輯:未麗燕 來源: 今日頭條
相關(guān)推薦

2014-11-11 15:27:36

程序員PLINY

2017-10-27 18:20:59

程序員

2013-11-14 10:05:25

程序員職業(yè)轉(zhuǎn)型

2020-09-25 20:48:15

程序員技能開發(fā)者

2012-08-30 10:05:40

編程編程語言程序員

2025-01-13 09:30:00

2011-11-11 16:20:22

編程

2021-04-21 09:26:20

程序員技能開發(fā)者

2022-05-23 07:56:19

語言DSLClojure

2013-10-08 09:21:53

編程程序員

2017-11-29 22:05:07

程序員 AI自動化

2015-07-07 08:54:27

云計算自動化運維

2012-06-15 09:54:58

程序員編程開發(fā)

2014-06-13 11:03:19

程序員

2015-08-20 14:23:46

IT自動化

2014-11-11 15:19:36

程序員

2022-12-08 20:16:43

2013-05-30 10:19:06

程序員失業(yè)的程序員

2019-01-25 18:00:12

編程語言PythonJava

2015-02-03 02:40:33

程序員盲人程序員
點贊
收藏

51CTO技術(shù)棧公眾號