如果你們想要自創乙個程式語言,你們希望它有什麼特色

時間 2021-05-06 20:06:31

1樓:打醬油的瘋子

語法簡單

同時支援動態型別和靜態型別

同時支援編譯和解釋

物件導向

物件可gc也可以無gc,gc記憶體安全,無gc系統級程式設計物件原生相容c,無縫呼叫c函式

物件原生多機並行

2樓:

用來寫軟體的硬體描述語言。

它的最小語素是門和線。門就是與或非(為了方便,特性類似於繼電器,閘流體,觸發器之類的東西也算作「門」),線就是與或非門之間的連線。一組門和線的集合可以被封裝為「晶元」。

系統可以給你預先封裝一組常用功能的「晶元」。寫程式就是在描述門,晶元及線的連線方式。

各種功能也是從晶元的角度進行封裝,比如在螢幕上繪製內容,不是新建繪圖類,定義畫板筆刷,呼叫畫圖方法,而是描述乙個電路結構,將圖形訊號和繪圖指令通到Sprite controller / CRT controller上面。

但這門語言仍然有傳統的流程控制語句,來描述一些重複性很大的結構。

很明顯,這種語言是在語句級別上就能做到並行的。

實際上這樣設計的語言已經有了,LabView就是,但我想要乙個文本版的——似乎只有Verilog這種硬體描述語言了。

3樓:Mimosa

世界上的絕大多數的產品都不是由單一材料製造而成的。同一種材料,很難滿足各方面效能優異要求。很多材料,其強度與脆性是一對難以調和的矛盾。

但是人們通過各種復合處理方式成功解決很多場合下的強度與脆性的矛盾問題。

製造軟體產品,情況也類似,不應該指望一種程式語言解決所有問題,如果一定要求實現這樣的程式語言,代價會非常高,實現起來會非常複雜,複雜到物極必反:產生新的種種問題。

指導思想非常重要,現在奇缺的是戰略性思維,有的僅僅是戰術性思考,不是一定要非常強大、非常牛才可以設計出好的程式語言。

開發新的程式語言,往往會誤入歧途:自成體系,突出與眾不同的「強大」,念念不忘的要取代其他程式語言。最致命的是與眾不同的種種資料結構,洋洋得意於跨平台,然而自身的跨版本都成問題!

對使用者來說,跨版本比跨平台要有意義得多!

理想的程式語言開發:幾種程式語言的有機、默契結合,取長補短、相輔相成、相得益彰(1+1 > 2)!並且能夠自然地融入當前的各種軟體體系。

為什麼中國程式設計師工資那麼高,連乙個 MATLAB 的替代品都開發不出來?

4樓:軟考真題 開發者

我希望這門語言可以編譯和解釋執行。

可以執行在所有裝置上,可以執行在所有vm上。

所以,我希望這門語言可以把自己100% convert 成其他語言

5樓:搖頭哥

首先一定是精煉的語法,不需要太多的關鍵字,不需要語法糖。

提供最進本的抽象即可,無需完全支援oop程式設計

有沒有gc主要看人,如果是主打平台應用,最好有。

6樓:魏瓦克

Swift + low level 的記憶體操作(要 safe,似乎 Swift 6 就在搞 ownership)。再加強一下函式式的支援(let binding之類的)、higher order type。

7樓:

遠端委託執行..

這種語言主要用於應用開發.

應用自動分成中心機端和互動端. 互動端只處理互動及顯示. 中心端用於協同和高計算量任務.

我覺得智慧型家庭, 大概就是這個樣子.

8樓:晴天

自帶雲端,越用越聰明!第一年是門程式語言,第二年是庫的集合,第三年也許就視覺化了

最後,我只需要說把這個改改吧,改成什麼樣的就行了。

9樓:沙丘魔堡

程式=資料結構+演算法,毛病很明顯:資料結構一變,演算法必須得變,演算法的復用性很差。演算法復用性好的無非是一些集合操作。

其實應該加一層隔離:程式=資料結構+萃取器+演算法。演算法是集中包管理的,可以做到萬年不變。

寫程式就是設計各種資料結構和萃取器來適配演算法,就像搭樂高積木。

10樓:自由飛

類C#就挺好。

強型別,物件導向,泛型,Linq,Lambda表示式,擴充套件方法:這些都非常不錯!

唯一一點:去掉後面濫加的那些語法糖。

11樓:liupangx

嘛,巨集觀來看,程式語言也不一定就是要用來寫程式。

如果想有點現實意義而又不想要過多的競爭和工程量。

搞點指令碼直譯器就很好嘛。

比如搞個中層語言,用統一的表述方式控制多種工具。這就好滴很,建議github開源。

12樓:皮皮關

其它答主的腦洞都很大,我有乙個特別務實的想法:

我想要一種語法和Python一樣,虛擬機器和Lua一樣的程式語言。

首先,作為最易學易用的程式語言之一,Python的語法設計可以說是出類拔萃的。雖然這麼說可能會有很多人不同意,但是如果仔細對比所有的常用語言,你會發現Python相對來說在簡潔性合理性易學嚴謹這幾方面都做的不錯。

很多語言的語法在一兩個方面明顯超越Python。但語法設計是乙個很綜合的事情,有利就有弊,似乎還沒有哪種動態語言能全面超過Python的設計。

相對來說,Lua語法設計則是一言難盡……雖然我比世界上任何人都懂Lua這樣設計的原因【懂王附體】。但實事求是的說,Lua的語法過於飄逸,給實際工程帶來了很多麻煩。

儘管如此我們仍然喜歡Lua,很大程度上是因為它那個小而強大的虛擬機器。Lua的虛擬機器無論嵌入哪種宿主系統,都能在不影響原有系統的前提下加入動態執行的功能。

某知名伺服器框架巧妙利用了lua虛擬機器的特性,啟動數千個lua虛擬機器例項以達到高效能計算的目的。

這個想法不是偶然,而且也不止乙個人這麼想。一旦你熟悉了Python、Lua和它們的虛擬機器,你很可能會有同樣的想法。有很多人都嘗試過將Python與Lua融合,比如知名冷門專案Lunatic-Python:

還有通重載入多個dll的方法啟動多個Python環境,暴力破壞Python全域性鎖,模擬Lua虛擬機器的機制:

Python遊戲伺服器開發日記(二)繞過GIL啟動多執行緒Python環境_python_善良的獸人-CSDN部落格

希望未來真的有語法強大+高效能輕量虛擬機器的語言出現,希望這篇回答能引起未來某位大神的興趣 :)

13樓:我想睡覺

它的編譯器用超級強人工智慧,伺服器在雲端,私人資料在本地,安全性達到軍事級別。程式設計師只用想著優化人工智慧,編譯器越來越強。使用者直接用平常交流的文法與這個編譯器交流,支援300種語言。

隨時改需求,隨時編譯並自動優化。最重要的是,它免費!!!

呵,我彷彿在做夢。

14樓:

簡單看了一下回答,沒有乙個我滿意的。

首先,目前世界上不存在計算機語言。對,你沒看錯,不存在計算機語言,存在的都是程式設計師語言!你細品!

再次,語言本身是一種基於聲波,文字或者電波等載體的資訊描述,無論描述的是所見所聞還是思考之後的想法,語言本身就是一種特殊排列狀態的物質。如果你根本不懂一種語言,那麼對你來說和噪音沒太大區別。

語言一定是跟使用者緊密集合的,要研究一門語言,最好的方法是研究它的使用者。

真正的計算機是內部程式自己使用的,所有概念都是在內部表示的,跟人類存在毫無關係。個人以為這才是產生智慧型的唯一方法,是由內而外的方法。就是創造乙個無人世界,程式不斷總結那個世界的規律,最後獲得人類可參考的經驗。

所以語言只是這個世界的一部分,真正的東西是經驗與方法。

15樓:dwing

如果只有我乙個人創造程式語言的話, 那我只設計極少量必要的語法規則的語言, 簡單直接地完成特定領域的事.

因為我沒有時間設計和實現大而全的通用語言, 即使費勁實現出來也無法僅憑我一人營造出足夠的生態, 如各種領域的庫,框架及相關IDE等工具.

16樓:dc lin

沒有通用的程式語言,每種語言都有自己主要適用的範圍,我最喜歡的主要是系統設計(涉及到硬體控制)、數值計算(應該具有足夠的數學表達能力,以及具有足夠的抽象能力,比如泛型)、圖形影象處理(具有GPU的控制能力)和網路服務(具有一定的非同步處理能力),所以如果我自己設計一門語言,那麼應該就是圍繞這幾個特色來設計。

現有最接近的程式語言就只有C++了,可惜的是C++的歷史包袱太大,如果我重新設計,會直接去掉預編譯處理的部分,一開始就引入模組,然後是靜態型別和概念(concept),為每個型別建立編譯資料庫,以此實現更好的泛型。

17樓:楊樹

可以像js一樣直接執行,也可以編譯後執行,不需要main方法。

處理檔案要簡單,處理字串、陣列要方便。

自帶HTTP等服務,不需要tomcat。

有大括號,參照c系語言即可。

let =obj1; let obj2=;不方便

18樓:冒泡

做了乙個:https://

主要考慮是面向開發者友好的一些方面:

強型別,主要是避免基礎型別的隱式轉換

基於go,相對於go增加了泛型,可以在編譯階段做更多檢查泛型實現選擇編譯,語法相對友好(相對於C++那種)使用簡單,盡量自動化

注:無節制簡化語法不被我認為是開發者友好

19樓:

以c++20為基礎然後

去掉所有為了相容c而有的設計(c的標頭檔案,各種C裡有坑的設計,macro也可以不要),部分語法可以改善

不包含所有即將deprecated的語法(還有module替換標頭檔案),標準庫再成熟點(參考其他語言)

把標準庫的一些設施地位提公升("example"型別不是char*而是std::string)

JSON格式語法的支援(型別是std::map,感覺型別會有問題,沒細想)

去掉繼承這個概念,concept可以同時靜態與動態

略微繁化指標(比如型別是__ptr),預設都採用智慧型指標,int* 這種寫法不允許new/delete,不具有所有權,留給不傳遞所有權的函式引數

完善的包管理以及各種生態

std::move能有個語法糖

前段時間想跟著這思路用LLVM擼個簡單點的出來,大概做到了支援控制流和最簡單的class然後有點事耽擱了就不想再動了

(其實主要是我發現寫著寫著就好像Rust了,語言設計裡的坑也是真的多,實現語言本身和標準庫都不是省油的燈,還有就是發現了PL這一套體系,不研究一遍就寫感覺自己就是在瞎搞...

20樓:Belleve

如果這題目問的是情懷——復活 Midori。

如果覺得難度太大了,那麼這有個簡單點的——語法類似 BASIC 的 Shell 語言。在過去,最早的 Home Computer 開機時候的 Shell 就是 BASIC。

哦對了:

字串禁止隨機訪問。

程式設計小白乙個,請問如何系統的學習程式設計,c語言和Python哪個更好

Leon 建議先學習c語言 因為很多語言都是從c語言吸取開發的,可以毫不誇張的說,學好c語言學習其他語言會輕鬆很多,python的語言基礎比起c簡化很多,但是基本想通。都說c語言是開啟程式設計世界的大門 學習族 推薦Python,首先你可以不用在一開始就被各種資料型別和奇葩的報錯困擾,甚至乙個標準讀...

Python是乙個業餘的程式語言嗎?

Python 只是個工具,幫助我們解決問題的工具每個工具都會有其閃光的一面,自然也有其不足的地方,比如錘子用來敲,卻不適合切削 只有業餘的人,沒有業餘的工具 Python雖然入門相對容易些,學精一樣需要投入時間和精力。網上那些把說python學個幾天就上天的,笑笑就好 孟佳明 我們一般不用業餘來修飾...

乙個強大 優美的程式語言應該具備哪些特性?

2gua 強大而優美的語言?一般都是變得越來越強大 若干年後,一種問題有九種解法。優美再沒人提了 直把強大作優雅 P.S.我覺得程式語言強大而優雅的最小集特性是 有高階函式,有lambda,有模式匹配,有模組,有簡單夠用的OOP,有併發支援 不論是語言核心還是庫支援 地山 工具存在的意義就是節省人的...