{eval=Array;=+count(Array);}

成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

問答專欄Q & A COLUMN

開發(fā)一套編程語言有多難?

CollinPengCollinPeng 回答9 收藏1
收藏問題

9條回答

godruoyi

godruoyi

回答于2022-06-22 18:52

開發(fā)一套編程語言的難度對(duì)于任何團(tuán)隊(duì)來說都是難度系數(shù)極高的,個(gè)人基本上不可能開發(fā)完整一套。



編程語言現(xiàn)狀

目前優(yōu)秀的編程語言以C語言,Java語言,Python語言三大語言比較有代表性,也是目前的主流語言。

任何一門編程語言都是一種工具,那么這個(gè)工具需要用來做什么,這是首先需要考慮的。因?yàn)槟壳熬幊陶Z言這么多,你要開發(fā)一套語言用來做什么別人做不到的,或者比別人做的更好的。就別說超越Java或者C語言,先開發(fā)一套可以替代這兩種的語言就非常優(yōu)秀了。



編程語言開發(fā)大致思路

首先要定下一個(gè)體系,是面向?qū)ο筮€是面向過程,還是另辟蹊徑。這需要你對(duì)計(jì)算機(jī)底層有足夠的了解,對(duì)編譯原理非常精通。

然后你要給語言定一套規(guī)則,會(huì)用怎么樣的語法,會(huì)有什么樣的特性。一點(diǎn)非常重要,會(huì)決定這套語言的受眾面和推廣程度。

接下來你可以選擇去設(shè)計(jì)這套語言,是基于C語言的庫(kù),還是借用點(diǎn)Java的類庫(kù),還是自己設(shè)計(jì)一套與匯編語言有密切關(guān)系的語言。



設(shè)計(jì)出語言后,你還要考慮它的生態(tài)圈怎么擴(kuò)大,是閉源還是開源,開源后會(huì)面臨什么,這套語言要向什么技術(shù)領(lǐng)域進(jìn)行推進(jìn),要提供怎么樣的框架或者其他方面的技術(shù)支持。

最大的難點(diǎn)是資金和人力,你去開發(fā)一套編程語言需要的團(tuán)隊(duì)力量很大,他們不僅是編程屆的精英,更需要年薪百萬的薪水,這意味著是燒錢和燒腦。



其實(shí)說這些筆者也是云里霧里,開發(fā)一套編程語言,目前沒有中國(guó)團(tuán)隊(duì)會(huì)干這種事情,因?yàn)檫@屬于“吃力不討好”,盈利效益遠(yuǎn)不如“996”接項(xiàng)目來的快。

關(guān)注“極客宇文氏”,一名熱心有料的軟件工程師。

評(píng)論0 贊同0
  •  加載中...
jeffrey_up

jeffrey_up

回答于2022-06-22 18:52

謝謝邀請(qǐng),

開發(fā)一套編程語言,主要存在兩個(gè)障礙,其一:任何一種編程語言都有其存在的必要性,所以要搞明白為什么要弄一套新的編程語言,首先一定要有市場(chǎng)需求所在,編程語言如同一個(gè)產(chǎn)品,一定有強(qiáng)烈的市場(chǎng)需求,編程語言存在的價(jià)值在于生態(tài)鏈,只有具備完善的生態(tài)鏈才能存活的有意義,現(xiàn)在全球有600多種編程語言,主流的編程語言也就是幾十種,而這些編程語言中,都有強(qiáng)大的社區(qū)依托,也就是強(qiáng)大的生態(tài)鏈支撐,生命力才會(huì)如此的強(qiáng)大。

其二 本身的技術(shù)實(shí)現(xiàn)框架,有些編程語言在誕生之處就能感受到其強(qiáng)大的支配力,可擴(kuò)展性等等特性,在設(shè)計(jì)之處越是想的明白,越是框架清晰,后期越容易維護(hù),編程語言底層實(shí)現(xiàn)基本上靠的都是C語言,所以社會(huì)上很多對(duì)于內(nèi)在不是很了解到人,說到C語言已經(jīng)是過時(shí)的語言了,現(xiàn)在學(xué)習(xí)意義已經(jīng)不大的論調(diào),只不過在就業(yè)崗位絕對(duì)數(shù)量上,和java,python等高級(jí)編程語言無法比擬,但在一些關(guān)鍵崗位上離開了C語言還真不行,編寫編程語言就屬于這類的工作,一定需要強(qiáng)大的C語言做支撐。

現(xiàn)在國(guó)內(nèi)很多人喊著什么時(shí)候有一套屬于自己的編程語言,現(xiàn)在的易語言就是迎著這種勢(shì)頭發(fā)展起來的,雖然很多內(nèi)行程序員不是很認(rèn)可這種編程語言,覺得只是包了一層語言了而已,但畢竟有了中文編程的模式,按照這個(gè)道理應(yīng)該這種編程語言,在國(guó)內(nèi)會(huì)有一個(gè)非常大的發(fā)展前景,經(jīng)過這些年的發(fā)展,還是沒有登上主流編程語言的舞臺(tái),倒是現(xiàn)在很多游戲輔助軟件都在用這種編程語言去搞,很多學(xué)習(xí)易語言的人就是為了做個(gè)游戲外掛或者輔助夢(mèng)想著一天能夠賺大錢,在08年之前制作游戲外掛的人基本上賺了大錢,主要當(dāng)初針對(duì)游戲外掛的法律還不完善,讓很多人鉆了空子,在08年之后基本上從事這方面的人,從臺(tái)前轉(zhuǎn)到了幕后,專心做dll庫(kù)文件,從中繼續(xù)謀取暴利,所以編程語言的最難的在于如何普及,如何被大眾認(rèn)可,要成為主流的編程語言首先具備廣泛性,從這點(diǎn)來講英語編程相對(duì)來講是比漢語更加有優(yōu)勢(shì),在傳播性更加容易被接收,從各個(gè)層面講,一種編程語言要具備,通用性,兼容性,穩(wěn)定性等特點(diǎn)。

編程語言的設(shè)計(jì)不是為了編寫而編寫,首先要迎合科技發(fā)展的需要,如同C語言的誕生讓程序員擺脫了用匯編編寫程序的痛苦,java等高級(jí)語言的誕生又讓程序員不在用面向過程中的語言,去寫復(fù)雜的功能,只需要調(diào)用成熟的類庫(kù)就可以輕松完成很強(qiáng)大的功能,主要在于編程語言在向高度集成化的方向發(fā)展,所以好的編程語言一定順應(yīng)科技發(fā)展大趨勢(shì),只有這樣才能圈更多粉絲,建設(shè)更全面的生態(tài)鏈。

評(píng)論0 贊同0
  •  加載中...
beita

beita

回答于2022-06-22 18:52

謝邀。我從事嵌入式軟件開發(fā)十多年,歡迎關(guān)注和交流。



編程語言是用來定義計(jì)算機(jī)程序的形式語言,是人和計(jì)算機(jī)打交道的語言。編程語言通常描述分為語法和語義。語法是指符號(hào)或文字,及其組合。語義是指編程解釋。編程語言一般分為機(jī)器語言,匯編語言,高級(jí)語言三大類。

開發(fā)一套編程語言,從技術(shù)上講不難,難的是推廣和生態(tài)。當(dāng)今世界,編程語言已有成千上萬種,但被使用得最多的,來來去去,都是那常見的幾十種,甚至十來種。如果沒有得到有效推廣,編譯器廠商,庫(kù)商,程序員就聞所未聞,聞而不見,視而不理,就無法形成生態(tài)圈,更談不起流行。



網(wǎng)上有不少聲音,總是想開發(fā)一種中文編程語言,為國(guó)人所用,甚至推廣至全世界。我認(rèn)為,國(guó)人有開發(fā)編程語言的能力,但沒有必要專門去開發(fā)中文編程語言。一來我國(guó)程序員,使用英文編程的能力還是足夠的。二來盡管全球都在學(xué)中文,而不是學(xué)貓叫,但是全球并沒有放棄英文的趨勢(shì)。最重要的是,語言是用來交流的,編程語言也不例外。



謝謝大家。

評(píng)論0 贊同0
  •  加載中...
Alan

Alan

回答于2022-06-22 18:52

簡(jiǎn)單的不那么難,學(xué)一下AST,能解釋就算了。但是要做的運(yùn)行效率高,安全,高并行,編譯效率高,多平臺(tái)支持等等是計(jì)算機(jī)科學(xué)里最深?yuàn)W的領(lǐng)域,關(guān)垃圾收集器就可以研究整個(gè)職業(yè)生涯了

評(píng)論0 贊同0
  •  加載中...
ixlei

ixlei

回答于2022-06-22 18:52

考慮一下用Yacc/Lex創(chuàng)造一個(gè)?

評(píng)論0 贊同0
  •  加載中...
Enlightenment

Enlightenment

回答于2022-06-22 18:52

我覺得人家問的更多是技術(shù)性的,這么多人扯什么市場(chǎng),什么必要性,這誰不知道,凈裝大尾巴狼。

評(píng)論0 贊同0
  •  加載中...
wudengzan

wudengzan

回答于2022-06-22 18:52

你要懂的東西很多,首先是計(jì)算機(jī)方面的,計(jì)算機(jī)原理,匯編,編譯原理;然后是一整套的語言邏輯;再者,還要懂?dāng)?shù)學(xué)方面的知識(shí),比如離散數(shù)學(xué)等等。一個(gè)人很難完成,需要團(tuán)隊(duì)合作。還有個(gè)前提就是,你本身就是一個(gè)資深的編程者。

評(píng)論0 贊同0
  •  加載中...
DDreach

DDreach

回答于2022-06-22 18:52

開發(fā)一套語言應(yīng)該一個(gè)人是完成不了,對(duì)于中國(guó)人來說就是漢語,就相當(dāng)于你要給計(jì)算機(jī)開發(fā)一套他能讀懂的語言,并且可以指定他去干嘛的語言,其中的難度不言而喻

評(píng)論0 贊同0
  •  加載中...
Lsnsh

Lsnsh

回答于2022-06-22 18:52

說難吧,現(xiàn)在有幾千種語言,其中很多都是個(gè)人完成的,例如我最近比較喜歡的elixir,是個(gè)巴西人寫的。說不難吧,國(guó)內(nèi)確實(shí)沒一個(gè)像樣的語言項(xiàng)目,至于易語言,這個(gè)可能9成的程序員沒把它當(dāng)個(gè)語言。所以難還是不難?其實(shí)從技術(shù)角度來看,并不難。但從時(shí)間,精力的耗費(fèi)上,以及后期推廣及社區(qū)維護(hù)上來看,就嚇跑了一堆人。對(duì)國(guó)內(nèi)程序員包括我來說,有那時(shí)間,不如掙點(diǎn)奶粉錢

評(píng)論0 贊同0
  •  加載中...

最新活動(dòng)

您已邀請(qǐng)0人回答 查看邀請(qǐng)

我的邀請(qǐng)列表

  • 擅長(zhǎng)該話題
  • 回答過該話題
  • 我關(guān)注的人
向幫助了您的網(wǎng)友說句感謝的話吧!
付費(fèi)偷看金額在0.1-10元之間
<