被質疑的V語言

近日,V語言開發者在Twitter上發佈消息,V0.1已開源,可下載Linux,macOS,windows版本或用不到一秒的時間從源代碼構建它,甚至可以在Android上運行。

Twitter截圖

V語言官網介紹,V語言是一種靜態編譯編程語言,用於構建可維護的軟件。它與Go類似,並受Oberon,Rust,Swift的影響。其操作簡便,只需花費30分鐘閱讀說明即可基本學會整個語言。

目前,編程語言已經數量可觀,爲什麼還要創建V語言?開發者 Alex Medvednikov 表示,因爲現有語言都無法囊括以下所有功能,而V語言可以實現。

圖源: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語言官網

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語言官網曬出支持。

圖源: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 而代之?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章