我爲何開發新語言

爲何有這麼多的編程語言

1 改革換代,適應時代發展需求程序員

2 特定的領域須要特定的語言算法

3 沒有一個語言能夠完美適配各類場景編程

4 我的習慣後端

 

全部語言都有一個發明初衷

Lisp - 一切抽象爲數學符號,利用公式自動計算結果瀏覽器

C - 彙編太繁瑣,我能更簡潔地寫邏輯數據結構

C++ - C 只能寫普通邏輯,我能用面向對象編程運維

Java - C++ 兼容性差,代碼複雜,還容易出錯,我能作更穩定的服務數據結構和算法

C# - Java 你說的對,但咱爹有錢不想認乾兒子,因此我就誕生了,我在 C++ 和 Java 基礎上作了一些改進,理論上應該是最強大的語言了編程語言

Python - 我只想作一個運維的小工具,你還讓我寫個類先?寫你妹啊,我能飛速的寫好代碼下班走人,而你還在等編譯結果...另外,這麼多括號看得我眼花...能不能讓我少敲幾個字...很累的工具

Ruby - 一切都是對象,一切都能點,是否是很爽

JavaScript - 領導讓我作個腳本引擎,那我就參考 Java 作一個好了,時間有限,先作一個湊合吧,至少能用,咦,竟然還挺好用

Swift -  大家谷歌認領了 Java,微軟養活了 C#,而相比個人兒子 Object C 好像確實搓了些,算了,我生個二胎吧,確定比大家簡單不少

Kotlin - 我給這麼多語言作了 IDE,不想終生爲人服務,就衝着我閱人無數的優點,我把大家的優勢集中一下...發明個新語言,功能我一頂仨

 

雖然語言種類繁多,但仍是能夠分爲如下幾類

1 以 C 爲表明,適於性能要求很是高,不常更新的系統編程,同分類還有 C++,彙編

2 以 Java 爲表明,適於性能有必定要求,穩定,適合大型企業項目開發,同分類還有 C#,Swift,Kotlin

3 以 JavaScript 爲表明,適合頻繁更新,沒有性能要求的中小項目開發,同分類還有 PHP,Python,Ruby,Lua

4 以 Lisp 爲表明,適於特定領域的,同分類還有 ML,SQL,CSS

 

爲何開發者熱衷於某個語言後就不想看別的

1 學習須要精力,有這時間還不如來一盤王者榮耀

2 我已經習慣現有語言了,有些不同的地方改改也就算了,但徹底同樣的東西也要改就太不習慣了,好比之前一直用 null,你告訴我要用 nil,憑啥不用 null,你們都用 null 很差嗎,有區別嗎?

3 別的語言確實有一些先進的功能,但沒有這些功能也能夠接受,就像我如今已經掌握的語言同樣

4 學別的語言好找工做嗎?工資高嗎?

 

在知道以上這些道理的同時,我爲何想作新語言

1 我精通 C++,C#,JavaScript/TypeScript,排名前 10 的語言也都會寫,更習慣於 C 風格的代碼,和大部分人,特別是一線碼農習慣差很少。因此新出的一些和 JavaScript 風格上有明顯區別的語言都不怎麼喜歡,好比 Kotlin,Groovy。因此我但願作一個儘可能和 JavaScript 類似的語言,畢竟 JavaScript 是目前全部程序員都會接觸到的交集

2 我喜歡 JavaScript 的簡潔,但也但願擁有接近 C++ 的性能,畢竟寫的代碼若是慢的要死,和剛畢業的實習生有啥區別。因此我但願語言的性能能夠有保證

3 JavaScript 雖然好,可是坑也挺多的,這可不利於在大型項目中使用,因此我但願語言能夠規避掉其中的坑,畢竟語言是工具,工具最重要的是穩定。

4 我但願一門語言能夠作先後端,手機和桌面端。

 

綜上,我決定開發這樣一個新語言

1 整體相似 JavaScript,原來會寫 Java/C# 的人也能夠很快習慣。

2 性能好,但又不能讓用戶寫和 C++ 同樣複雜的代碼,因此怎麼辦:利用高智能算法自動優化性能,好比能夠自動類型推算,合併循環,刪除用不到的代碼,自動尋找合適的數據結構和算法

3 穩定爲首,去坑,在保證功能前提下儘可能簡單

4 實用,畢竟是衝着實際項目去的,必定要更好知足項目需求。還須要很強大的 IDE 和社區支持

5 一期主要考慮生成能在瀏覽器跑的 Javascript,二期考慮生成 JVM 等其它環境。

 

開發語言是一個大工程,若是你有興趣參與這個開源項目,共創國產編程語言品牌,請留言

相關文章
相關標籤/搜索