MSNAn 適合大膽開發者的實驗性程式語言

Patricia Arquette
發布: 2024-11-24 19:54:13
原創
117 人瀏覽過

開始

幾年前,在折騰了2種語言草稿之後,我開始了我個人專案的巔峰。 MSN2 曾經(現在仍然是)我認為是一種模擬程式語言,主要是由於其非常規、未最佳化的解釋方法,可能會導致語言完整性問題。

但我又問自己,為什麼這些年來我會不斷回到這個專案?為什麼我沒有把它和其他草稿一起丟掉,以免開發人員感到尷尬?我保留它是因為遠遠超出了我對擁有單一貢獻者的程式語言的期望,儘管我離我的願景還有很長的路要走。

為什麼要另一種語言?

在開發早期,並沒有真正的意圖向公眾發布它,因為這只是一個學習練習,因此沒有真正的理由引入一種新語言。無論如何,作為一種功能性工具和我的 Python 研究的主要來源,在 Python 之上建立程式語言的好處不僅使我們擁有 Python 本身的完整功能,而且還具有以下新功能:

  • 多道程式設計
  • 語法添加
  • 自動化(贏得 10 項獨家)
  • 多語言(自 2.0.403 起,Python、JavaScript、Java、C)
  • MSN2 -> JavaScript/React 轉譯
  • API端點建立與互動
  • 簡單、輕量級的容器

由於易於實現新功能,它可以作為更面向社區的語言的基礎,透過社群回饋和貢獻不斷進步。憑藉著當前和未來的貢獻,我們創造機會:

  • 創新程式策略
  • 促進跨語言互通性
  • 支援靈活且可自訂的語法
  • 提供用於自然語言處理 (NLP) 的預建實用程式
  • 促進自訂庫和外掛程式的建立
  • 適應更廣泛的開發環境

還有多少...?


能力

很容易說語言非常強大,在某些情況下,我認為它用更少的程式碼就更強大。隨著更新的發布,作為開發人員使用它也變得越來越愉快。不幸的是,使用該語言並不容易說是小菜一碟。我發布了 VSCode 的 msn2 語法突出顯示擴展、基本文件以及許多教程和程式碼範例。儘管在以某種方式編寫程式碼時,如果沒有自動完成關鍵字或標記並理解其含義,就會變得很困難。這些問題在 MSN2 儲存庫的問題標籤中得到解決。

完整的、可運行的範例

(這些範例都沒有超出框架的額外程式碼)

  1. 簡化簡單操作
    MSNAn Experimental Programming Language for the Bold Developer

  2. 啟動 API 端點並查詢
    MSNAn Experimental Programming Language for the Bold Developer

  3. 建立個人化巨集
    MSNAn Experimental Programming Language for the Bold Developer

  4. 執行內嵌 JavaScript(也可以使用 Java 和 C)

MSNAn Experimental Programming Language for the Bold Developer

  1. 這些範例幾乎觸及 MSN2 的表面,在 MSN2 儲存庫中找到許多更大的項目和演示

較大的項目範例

  • 實作 C 語法
  • 自動化 Excel
  • 全端應用程式 - HTML MSN2 作為後端
  • 自動化 - 在 chess.com 上隨機下棋
  • 啟動一個簡單的 Streamlit 容器
  • 我的 TikTok(15 個專案)- 將 MSN2 注入 leetcode.com
  • 所有大型測驗項目

缺點

以上聽起來很棒! 我完全投入在我所創建的內容的基礎上採取步驟。但儘管我希望如此龐大、過於複雜、需要維護的程式碼庫不會出現問題,但還是有 XD。

正直

MSN2 2.0.403 起,存在多個可修復的完整性問題,可能會在運行時產生不正確的結果。幸運的是,誠信問題是暫時的,但重要的是要迅速解決這些問題。

速度

使用 Python 作為後端,速度成為一個殘酷的缺點,這就是速度。速度將永遠成為MSN2的一個問題,不幸的是我們只能嘗試讓基礎語言匹配接近Python自身的速度。

那我們能做什麼呢?

  • 我們可以提供多語言方法 - 雖然我們管理速度較慢、開銷較大的流程,但此流程可以輕鬆地以更快的語言啟動程式。 MSN2 GitHub - 查看多語言實作
  • 我們可以讓它值得 - 透過Python 維護更大的後端,MSN2 獲得了一個獨特的機會,可以在擁有廣泛而靈活的功能時從開發人員角度探索功能上的可能性。一組跨語言和環境的內建整合。這使開發人員能夠更有效地協調廣泛的資料管道、自動化工作流程和大型系統,這可能使管理和擴展依賴 Python 無限的生產就緒功能的專案變得更加容易。
  • 我們可以最佳化 - 在解釋過程中有很多去最佳化點,這將是主要速度增益的初始來源。
  • 我們可以接受它 - 基礎MSN2永遠用於依賴速度的應用程序,例如數據科學、實時分析、高頻交易以及許多其他領域。 MSN2 將主要用於可自訂的程式編排,快速、無縫地使用高度通用的功能,允許開發人員創建連接各種程式語言和工具的強大工作流程。這種靈活性使其成為管理複雜的多語言專案和自動化不同任務的理想選擇,而無需切換環境或編寫大量 Python。

總結

這個計畫是一次雄心勃勃的旅程,最初是一次學習練習,很快就發展成為探索語言設計和新的、創造性的概念證明的遊樂場。 MSN2 作為一種學習經歷,不斷挑戰我的程式設計能力。它遠非可接受,也遠非完美,但這正是它令人興奮的部分原因 - 它充滿了成長和改進的機會。

雖然大多數語言尚未完全準備好投入生產,並且測試尚未達到100% 的覆蓋率,但MSN2 代表了非傳統思維的潛力和在沒有完美壓力的情況下進行實驗的自由。它是否成為專案中的有用工具或仍然是個人的努力取決於我自己和社區,但它的未來取決於持續的開發、回饋和改進。現在,我將它視為一塊踏腳石,邊緣粗糙,有很多裂縫,但仍然足夠堅固,可以站立。

有用連結
GitHub 上的 MSN2
MSN2[2.0.401] 文件
我的網站/作品集

這篇文章的橫幅是未格式化的,但可運行的 MSN2 程式碼包含 JavaScript、Java、C 的內嵌混合,所有程式碼都與同一行中旋轉的 API 端點互動。

以上是MSNAn 適合大膽開發者的實驗性程式語言的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板