近日,V語言開發者在Twitter上發佈消息,V0.1已開源,可下載Linux,macOS,windows版本或用不到一秒的時間從源代碼構建它,甚至可以在Android上運行。
據V語言官網介紹,V語言是一種靜態編譯編程語言,用於構建可維護的軟件。它與Go類似,並受Oberon,Rust,Swift的影響。其操作簡便,只需花費30分鐘閱讀說明即可基本學會整個語言。
目前,編程語言已經數量可觀,爲什麼還要創建V語言?開發者 Alex Medvednikov 表示,因爲現有語言都無法囊括以下所有功能,而V語言可以實現。
開發者提及的主要特性
- 快速編譯
每個CPU核心每秒大約可編譯120萬行代碼;
這一速度是通過直接的機器代碼生成和強大的模塊化實現的;
可在0.3-0.6秒內自我編譯;
V也可以發出C,但編譯速度會有所下降。
- 性能
和C一樣快;
與C互操作無需任何成本;
分配數量最少;
沒有運行時反射的內置序列化;
編譯爲沒有任何依賴關係的本機二進制文件:一個簡單的Web服務器只有65 KB。
- 400 KB編譯器 零依賴性
整個語言及其標準庫小於400 KB。V用V語言編寫,人們可以在0.4秒內構建它。到今年年底,這個數字將會提升至約0.15秒。以下是各種語言的對比結果:
語言 | 所需空間 | 建立時間 |
---|---|---|
Go | 525MB | 1分33秒 |
Rust | 30GB | 45分 |
GCC | 8GB | 50分 |
Clang | 90GB | 25分 |
Swift | 70GB | 90分 |
V | 0.4MB | 0.4秒 |
現在V編譯器確實有一個依賴,那就是C編譯器。未來,一旦x64代足夠成熟就不需要它。
- C / C ++翻譯
V可以翻譯整個C或C ++ 項目,提供安全性、簡單性和高達400x的編譯速度。
- 輕鬆完成交叉編譯
要交叉編譯軟件,只需運行v -os windows .或 v -os linux .,不需要額外的步驟,即使對於GUI和圖形應用程序!
與其他語言的差異
與C ++相比,V要簡單得多。它提供高達400倍的編譯速度,安全性強,缺少未定義的行爲,易於併發,編譯時間代碼生成等。
與Python相比,V更快,更簡單,更安全,更易於維護。
V與Go非常相似,在以下方面,V有所改進:
V的域與Rust類似,Rust是一種複雜的語言,具有越來越多的功能和陡峭的學習曲線。V的目標是允許構建可維護且可預測的軟件,這就是V語言爲何如此簡單。它的好處在於,你可以跳進項目中的任何部分,瞭解正在發生的事情,它只有一種做事方式。此外,Rust的編譯速度很慢,與C ++相當,而V每秒每個CPU可編譯120萬行代碼。
官網顯示,V語言支持Windows,macOS,Linux,* BSD系統,今年晚些時候,在Android和iOS上也可以投入使用。開發者 Alex Medvednikov 表示,V1.0將於今年年底前推出。在V1.0發佈前,V語言不會有太大的變化,除了可能會添加一些新功能,如goroutines。
網友評論褒貶不一
對於這門新興的語言,一些網友在V語言官網曬出支持。
然而,6月下旬V0.1開源後,質疑聲紛至沓來。InfoQ對網上觀點進行了簡要彙總,具體觀點如下:
觀點一:實際體驗與開發者介紹不符
在Reddit上的一篇熱門文章《V is for Vaporware》下,有近350條網友評論,可以看出,人們對這門新語言開源後的表現非常關注。文章開篇即指出,“V語言是一種被大肆宣傳的語言,(V語言官網)提及的一些功能都是處於’正在進行中‘的狀態或源存儲庫中完全不存在”。
在網友評論上,提及最多的便是技術實現粗糙的問題。如,翻譯出來的 C 語言混亂;一些基礎的數據結構都沒有得到好的支持;沒有二維或更高維的數組支持;Map 只是一個數組;測試用例過於簡單;總共不足50個文件。基本上,不能稱之爲是一個完整的項目,離真正的語言還相距甚遠。
觀點二:東拼西湊的半成品語言 沒有新特性
新語言的開拓離不開生態系統。V語言能否屹立市場,很大程度上在於能否建立具有個人風格的生態系統。而整個V語言的開發者只有一人,雖然達到這樣的完成度實屬不易,但V語言本身沒有任何新特性產生,看上去像是Go的翻版。此外,V 語言的開發者幾乎就是把 Rust 的一些特性牽強地揉進 Go 裏,造成 Go 和 Rust 都失去了自身的優點。有網友甚至認爲,V 語言就目前看來就是一個翻譯機,根本不能稱之爲語言。
觀點三:站在巨人的肩膀上 誇大自身特性
開發者在介紹中表示, V語言目前是沒有 GC 的,V 的內存管理類似於 Rust 。但 Rust 中引入的所有權和生命週期的概念,在 V語言中都還沒有得到體現。那麼,V語言在內存管理方面就不得不令人存疑。V 語言的目標是不用 LLVM,直接生成機器碼。而作爲一個翻譯到 C 語言的新語言表示自己沒有依賴 LLVM 和自己的速度顯得有失偏頗。
對於這個出自新手的新語言,《V is for Vaporware》的作者Christine Dodrill總結道,這是一款非常alpha的產品。
在評論中可以明顯看到,一些網友往往會聯想到近期頗爲火爆的Go,稱其爲Go的孿生兄弟,甚至是山寨版,並且把V語言在傳播層面的成功歸結爲一種盲目的跟風、炒作,同樣遭受質疑的還有官網中提到的“30分鐘掌握一門語言“的言論。對於這樣一門譭譽參半的新語言,你怎麼看?
相關文章:
github vlang/v專區
Reddit上的討論
V is for Vaporware
如何看待V語言強勢登頂gitHub top1?
如何看待 V 語言?
V 語言強勢登頂 GitHub TOP1,難道要取 Go 而代之?