首頁>Club>
8
回覆列表
  • 1 # 野性與傲骨

    國內程式設計師那麼多,為什麼不開發一個屬於自己的程式語言?主要原因是:中文程式設計技術上不然,但做生態太難了!

    先說說純技術上的難度。看到很多回答說作業系統、CPU、晶片、指令集等是英美語系的人發明的,所以中文程式設計水土不服,開發難度大於英語程式設計。其實這種說法是完全錯誤的!

    程式語言分很多型別。第一種是像C、C++、Go這樣的直接編譯成本地機器碼。第二種是像C#、JAVA這樣的依賴虛擬機器,編譯成中間語言(位元組碼)。第三種是像Java、Python這樣的依賴直譯器,不需要編譯。不論哪一種型別,都不存在制約中文成為優秀程式語言的技術瓶頸。

    對於第一種型別,不論中文英文,最終統統編譯成基於特定CPU晶片指令集的指令。在作業系統看來,它們是完全無差別的。效能上沒有任何區別。對於第二種型別,編譯成中間語言,在虛擬機器看來,同樣是無差別的。這裡所謂編譯,說通俗點就是“翻譯”,將中文或英文寫成的程式碼翻譯成機器指令或中間語言(位元組碼)。

    對於第三種類型,直譯器作為程序運行於作業系統,由它直接解釋我們寫的程式程式碼。比如Java,直譯器就是瀏覽器。離開了瀏覽器,Java是執行不了的(這裡不考慮特殊手段,其本質也是其他直譯器)。很明顯,直譯器既可以解釋英文程式碼,也可以解釋中文程式碼,甚至未來還可以解釋人類自然語言或語音。比方你用普通話向一個智慧家居說“開空調”,然後內建的直譯器就會將空調開啟。說明就連中文語音都可以程式設計了,更不用說中文文字!

    總之,技術上看來,中文程式設計相比英文程式設計沒有任何更難的地方。這與中文輸入法比英文輸入法難做沒有任何可比性。

  • 2 # IMHai賊King

    簡單的不那麼難,學一下AST,能解釋就算了。但是要做的執行效率高,安全,高並行,編譯效率高,多平臺支援等等是計算機科學裡最深奧的領域,關垃圾收集器就可以研究整個職業生涯了

  • 3 # 大學生程式設計指南

    開發一套程式語言,主要存在兩個障礙,其一:任何一種程式語言都有其存在的必要性,所以要搞明白為什麼要弄一套新的程式語言,首先一定要有市場需求所在,程式語言如同一個產品,一定有強烈的市場需求,程式語言存在的價值在於生態鏈,只有具備完善的生態鏈才能存活的有意義,現在全球有600多種程式語言,主流的程式語言也就是幾十種,而這些程式語言中,都有強大的社群依託,也就是強大的生態鏈支撐,生命力才會如此的強大。

    其二 本身的技術實現框架,有些程式語言在誕生之處就能感受到其強大的支配力,可擴充套件性等等特性,在設計之處越是想的明白,越是框架清晰,後期越容易維護,程式語言底層實現基本上靠的都是C語言,所以社會上很多對於內在不是很瞭解到人,說到C語言已經是過時的語言了,現在學習意義已經不大的論調,只不過在就業崗位絕對數量上,和java,python等高階程式語言無法比擬,但在一些關鍵崗位上離開了C語言還真不行,編寫程式語言就屬於這類的工作,一定需要強大的C語言做支撐。

    現在國內很多人喊著什麼時候有一套屬於自己的程式語言,現在的易語言就是迎著這種勢頭髮展起來的,雖然很多內行程式設計師不是很認可這種程式語言,覺得只是包了一層語言了而已,但畢竟有了中文程式設計的模式,按照這個道理應該這種程式語言,在國內會有一個非常大的發展前景,經過這些年的發展,還是沒有登上主流程式語言的舞臺,倒是現在很多遊戲輔助軟體都在用這種程式語言去搞,很多學習易語言的人就是為了做個遊戲外掛或者輔助夢想著一天能夠賺大錢,在08年之前製作遊戲外掛的人基本上賺了大錢,主要當初針對遊戲外掛的法律還不完善,讓很多人鑽了空子,在08年之後基本上從事這方面的人,從臺前轉到了幕後,專心做dll庫檔案,從中繼續謀取暴利,所以程式語言的最難的在於如何普及,如何被大眾認可,要成為主流的程式語言首先具備廣泛性,從這點來講英語程式設計相對來講是比漢語更加有優勢,在傳播性更加容易被接收,從各個層面講,一種程式語言要具備,通用性,相容性,穩定性等特點。

    程式語言的設計不是為了編寫而編寫,首先要迎合科技發展的需要,如同C語言的誕生讓程式設計師擺脫了用匯編編寫程式的痛苦,java等高階語言的誕生又讓程式設計師不在用面向過程中的語言,去寫複雜的功能,只需要呼叫成熟的類庫就可以輕鬆完成很強大的功能,主要在於程式語言在向高度整合化的方向發展,所以好的程式語言一定順應科技發展大趨勢,只有這樣才能圈更多粉絲,建設更全面的生態鏈。

  • 4 # 尾音實訓基地

    開發一套程式語言難在當今的社會沒有人願意花這個時間去做額時間,難在這過程需要花掉大量的時間和金錢以及承擔巨大的壓力。

  • 5 # 嵌入式宏思微想

    程式語言是用來定義計算機程式的形式語言,是人和計算機打交道的語言。程式語言通常描述分為語法和語義。語法是指符號或文字,及其組合。語義是指程式設計解釋。程式語言一般分為機器語言,組合語言,高階語言三大類。

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

    網上有不少聲音,總是想開發一種中文程式語言,為華人所用,甚至推廣至全世界。我認為,華人有開發程式語言的能力,但沒有必要專門去開發中文程式語言。一來中國程式設計師,使用英文程式設計的能力還是足夠的。二來儘管全球都在學中文,而不是學貓叫,但是全球並沒有放棄英文的趨勢。最重要的是,語言是用來交流的,程式語言也不例外。

  • 6 # nagexiucai

    由於所接受的教育歷史原因,國內大部分碼農都是C系的,本人也是。當然現在好多新型的程式語言,甚至經典的程式語言的新標準,都不同程度地吸收了Lisp系的東西,本人對比C Java Python Javascript Ruby Lua Haskell Go Julia後,覺得在內涵上程式語言沒有革命性的變化,期待後續的新程式語言能帶來這方面的驚喜。

  • 7 # 極客宇文氏

    開發一套程式語言的難度對於任何團隊來說都是難度係數極高的,個人基本上不可能開發完整一套。

    程式語言現狀

    目前優秀的程式語言以C語言,Java語言,Python語言三大語言比較有代表性,也是目前的主流語言。

    任何一門程式語言都是一種工具,那麼這個工具需要用來做什麼,這是首先需要考慮的。因為目前程式語言這麼多,你要開發一套語言用來做什麼別人做不到的,或者比別人做的更好的。就別說超越Java或者C語言,先開發一套可以替代這兩種的語言就非常優秀了。

    程式語言開發大致思路

    首先要定下一個體系,是面向物件還是面向過程,還是另闢蹊徑。這需要你對計算機底層有足夠的瞭解,對編譯原理非常精通。

    然後你要給語言定一套規則,會用怎麼樣的語法,會有什麼樣的特性。一點非常重要,會決定這套語言的受眾面和推廣程度。

    接下來你可以選擇去設計這套語言,是基於C語言的庫,還是借用點Java的類庫,還是自己設計一套與組合語言有密切關係的語言。

    設計出語言後,你還要考慮它的生態圈怎麼擴大,是閉源還是開源,開源後會面臨什麼,這套語言要向什麼技術領域進行推進,要提供怎麼樣的框架或者其他方面的技術支援。

    最大的難點是資金和人力,你去開發一套程式語言需要的團隊力量很大,他們不僅是程式設計屆的精英,更需要年薪百萬的薪水,這意味著是燒錢和燒腦。

    其實說這些筆者也是雲裡霧裡,開發一套程式語言,目前沒有中國團隊會幹這種事情,因為這屬於“吃力不討好”,盈利效益遠不如“996”接專案來的快。

  • 中秋節和大豐收的關聯?
  • 過年你們家還有給長輩叩拜拜年的習俗嗎?