W++ 程式語言在獲得33,000次下載後被 VSCode 市場移除,引發社群爭議

BigGo Editorial Team
W++ 程式語言在獲得33,000次下載後被 VSCode 市場移除,引發社群爭議

一種名為 W++ 的新實驗性程式語言在開發者社群引起關注,儘管下載量超過33,000次,但卻神秘地從 VSCode 市場中被移除。這種由 Ofek Bickel 建立的教育專案語言,旨在將類似 Python 的簡潔性與 .NET 整合相結合,但其設計選擇和營銷方式引發了激烈討論。

神秘的市場移除引發質疑

W++ VSCode 擴充套件在僅僅不到兩小時內累積了33,000次下載後,被 Microsoft 標記並移除。據建立者稱,Microsoft 將其標記為惡意軟體,但沒有提供具體細節或回應支援請求。快速的下載數量和突然的移除讓社群感到困惑,一些人質疑高下載數量或移除本身是否合理。

建立者隨後在 GitHub 上公開了完整的原始碼,包括 VSCode 擴充套件,允許開發者檢查程式碼並自由使用。這一透明化舉措似乎是為了解決可能導致下架的任何安全擔憂。

事件時間線:

  • W++ VSCode 擴充套件上傳至應用商店
  • 在不到2小時內達到33,000+次下載
  • 擴充套件被 Microsoft 標記為"惡意軟體"並移除
  • 未收到 Microsoft 支援團隊的回覆
  • 完整原始碼在 GitHub 上公開
  • 社群開始就設計選擇和營銷策略展開討論

社群對 Python 比較的批評

W++ 最具爭議的方面之一是其作為類似 Python 的語言進行營銷,儘管存在顯著的語法差異。社群成員指出,該語言包含分號,使用 let 進行變數宣告,並且具有完全不同的 lambda 語法——所有這些都明顯不符合 Python 風格。

「我有點困惑;它'看起來像 Python',但基本上每個程式碼片段都有不像 Python 的元素。」

這些批評引發了關於該語言是否應該完全放棄 Python 比較,專注於其作為 .NET 指令碼語言的自身優點的討論。一些開發者建議該語言看起來更像 JavaScript 而不是 Python,質疑營銷資訊的準確性。

技術設計選擇引發分歧

該語言的技術決策在開發者社群中產生了不同反應。W++ 像 Python 一樣使用有意義的空白,但保留了分號和大括號,創造了一位評論者所描述的中間狀態,可能無法完全吸引 Python 或 C# 開發者。

記憶體管理問題也被提出,特別是那些在類似託管語言場景中有經驗的開發者。那些在較舊的 .NET 框架上使用 IronPython 工作過的人警告說,在現有執行時之上構建語言時可能出現記憶體洩漏和物件生命週期複雜性問題。

W++ 關鍵特性:

  • 完全用 C 語言編寫的分詞器、解析器和直譯器
  • 支援非同步/等待機制和 lambda 表示式
  • 控制流:if、else、while、for、switch 語句
  • Try/catch + throw 和 return 機制
  • 自定義 VSCode 語法高亮和程式碼片段
  • NuGet 包整合(非 pip)
  • 編譯為 IL 並與 .NET 生態系統整合

效能和採用挑戰

啟動效能已成為另一個關注點,社群成員注意到首次執行時的 JIT 編譯延遲可能會阻礙快速指令碼任務的採用。這個問題特別相關,因為 W++ 將自己定位為指令碼語言,快速啟動時間對使用者體驗至關重要。

該語言在 Python 和 C# 之間的定位也引發了關於其目標受眾的質疑。一些開發者認為,使用 C# 流暢介面的內部 DSL 方法對於 .NET 開發者來說可能比學習全新的語言語法更實用。

未來前景和社群興趣

儘管存在批評,W++ 仍然引起了一些社群成員的真正興趣,他們欣賞該專案的教育價值和實驗性質。幾位開發者表達了對該專案做出貢獻的興趣,特別是在資料流分析和語言工具方面。

該專案作為語言設計和社群接受度的有趣案例研究。雖然 Python 營銷角度存在爭議,但為 .NET 建立輕量級指令碼層的基本目標與一些希望在簡單自動化任務中使用比完整 C# 更易接近的工具的開發者產生了共鳴。

W++ 事件突出了新程式語言在尋找自己的定位和有效傳達價值主張方面面臨的挑戰。該語言是否能夠克服初期爭議並建立可持續的社群還有待觀察。

參考:W++