{eval=Array;=+count(Array);}
開發一套編程語言的難度對于任何團隊來說都是難度系數極高的,個人基本上不可能開發完整一套。
編程語言現狀
目前優秀的編程語言以C語言,Java語言,Python語言三大語言比較有代表性,也是目前的主流語言。
任何一門編程語言都是一種工具,那么這個工具需要用來做什么,這是首先需要考慮的。因為目前編程語言這么多,你要開發一套語言用來做什么別人做不到的,或者比別人做的更好的。就別說超越Java或者C語言,先開發一套可以替代這兩種的語言就非常優秀了。
編程語言開發大致思路
首先要定下一個體系,是面向對象還是面向過程,還是另辟蹊徑。這需要你對計算機底層有足夠的了解,對編譯原理非常精通。
然后你要給語言定一套規則,會用怎么樣的語法,會有什么樣的特性。一點非常重要,會決定這套語言的受眾面和推廣程度。
接下來你可以選擇去設計這套語言,是基于C語言的庫,還是借用點Java的類庫,還是自己設計一套與匯編語言有密切關系的語言。
設計出語言后,你還要考慮它的生態圈怎么擴大,是閉源還是開源,開源后會面臨什么,這套語言要向什么技術領域進行推進,要提供怎么樣的框架或者其他方面的技術支持。
最大的難點是資金和人力,你去開發一套編程語言需要的團隊力量很大,他們不僅是編程屆的精英,更需要年薪百萬的薪水,這意味著是燒錢和燒腦。
其實說這些筆者也是云里霧里,開發一套編程語言,目前沒有中國團隊會干這種事情,因為這屬于“吃力不討好”,盈利效益遠不如“996”接項目來的快。
關注“極客宇文氏”,一名熱心有料的軟件工程師。
謝謝邀請,
開發一套編程語言,主要存在兩個障礙,其一:任何一種編程語言都有其存在的必要性,所以要搞明白為什么要弄一套新的編程語言,首先一定要有市場需求所在,編程語言如同一個產品,一定有強烈的市場需求,編程語言存在的價值在于生態鏈,只有具備完善的生態鏈才能存活的有意義,現在全球有600多種編程語言,主流的編程語言也就是幾十種,而這些編程語言中,都有強大的社區依托,也就是強大的生態鏈支撐,生命力才會如此的強大。
其二 本身的技術實現框架,有些編程語言在誕生之處就能感受到其強大的支配力,可擴展性等等特性,在設計之處越是想的明白,越是框架清晰,后期越容易維護,編程語言底層實現基本上靠的都是C語言,所以社會上很多對于內在不是很了解到人,說到C語言已經是過時的語言了,現在學習意義已經不大的論調,只不過在就業崗位絕對數量上,和java,python等高級編程語言無法比擬,但在一些關鍵崗位上離開了C語言還真不行,編寫編程語言就屬于這類的工作,一定需要強大的C語言做支撐。
現在國內很多人喊著什么時候有一套屬于自己的編程語言,現在的易語言就是迎著這種勢頭發展起來的,雖然很多內行程序員不是很認可這種編程語言,覺得只是包了一層語言了而已,但畢竟有了中文編程的模式,按照這個道理應該這種編程語言,在國內會有一個非常大的發展前景,經過這些年的發展,還是沒有登上主流編程語言的舞臺,倒是現在很多游戲輔助軟件都在用這種編程語言去搞,很多學習易語言的人就是為了做個游戲外掛或者輔助夢想著一天能夠賺大錢,在08年之前制作游戲外掛的人基本上賺了大錢,主要當初針對游戲外掛的法律還不完善,讓很多人鉆了空子,在08年之后基本上從事這方面的人,從臺前轉到了幕后,專心做dll庫文件,從中繼續謀取暴利,所以編程語言的最難的在于如何普及,如何被大眾認可,要成為主流的編程語言首先具備廣泛性,從這點來講英語編程相對來講是比漢語更加有優勢,在傳播性更加容易被接收,從各個層面講,一種編程語言要具備,通用性,兼容性,穩定性等特點。
編程語言的設計不是為了編寫而編寫,首先要迎合科技發展的需要,如同C語言的誕生讓程序員擺脫了用匯編編寫程序的痛苦,java等高級語言的誕生又讓程序員不在用面向過程中的語言,去寫復雜的功能,只需要調用成熟的類庫就可以輕松完成很強大的功能,主要在于編程語言在向高度集成化的方向發展,所以好的編程語言一定順應科技發展大趨勢,只有這樣才能圈更多粉絲,建設更全面的生態鏈。
謝邀。我從事嵌入式軟件開發十多年,歡迎關注和交流。
編程語言是用來定義計算機程序的形式語言,是人和計算機打交道的語言。編程語言通常描述分為語法和語義。語法是指符號或文字,及其組合。語義是指編程解釋。編程語言一般分為機器語言,匯編語言,高級語言三大類。
開發一套編程語言,從技術上講不難,難的是推廣和生態。當今世界,編程語言已有成千上萬種,但被使用得最多的,來來去去,都是那常見的幾十種,甚至十來種。如果沒有得到有效推廣,編譯器廠商,庫商,程序員就聞所未聞,聞而不見,視而不理,就無法形成生態圈,更談不起流行。
網上有不少聲音,總是想開發一種中文編程語言,為國人所用,甚至推廣至全世界。我認為,國人有開發編程語言的能力,但沒有必要專門去開發中文編程語言。一來我國程序員,使用英文編程的能力還是足夠的。二來盡管全球都在學中文,而不是學貓叫,但是全球并沒有放棄英文的趨勢。最重要的是,語言是用來交流的,編程語言也不例外。
謝謝大家。
簡單的不那么難,學一下AST,能解釋就算了。但是要做的運行效率高,安全,高并行,編譯效率高,多平臺支持等等是計算機科學里最深奧的領域,關垃圾收集器就可以研究整個職業生涯了
你要懂的東西很多,首先是計算機方面的,計算機原理,匯編,編譯原理;然后是一整套的語言邏輯;再者,還要懂數學方面的知識,比如離散數學等等。一個人很難完成,需要團隊合作。還有個前提就是,你本身就是一個資深的編程者。
開發一套語言應該一個人是完成不了,對于中國人來說就是漢語,就相當于你要給計算機開發一套他能讀懂的語言,并且可以指定他去干嘛的語言,其中的難度不言而喻
說難吧,現在有幾千種語言,其中很多都是個人完成的,例如我最近比較喜歡的elixir,是個巴西人寫的。說不難吧,國內確實沒一個像樣的語言項目,至于易語言,這個可能9成的程序員沒把它當個語言。所以難還是不難?其實從技術角度來看,并不難。但從時間,精力的耗費上,以及后期推廣及社區維護上來看,就嚇跑了一堆人。對國內程序員包括我來說,有那時間,不如掙點奶粉錢
9
回答0
回答1
回答10
回答5
回答10
回答10
回答7
回答4
回答0
回答