首頁 > web前端 > js教程 > 編程的未來:JavaScript之後的WebAssembly&Life

編程的未來:JavaScript之後的WebAssembly&Life

尊渡假赌尊渡假赌尊渡假赌
發布: 2025-02-19 09:10:10
原創
344 人瀏覽過

編程的未來:JavaScript之後的WebAssembly&Life

鑰匙要點

  • 編程的未來可能會看到遠離JavaScript的轉變,並且引入WebAssembly使網絡成為其他語言的更具吸引力的編譯目標。
  • >作者希望,任何取代JavaScript的內容都將具有內置不變的數據結構,對象,集合和原始類型的字面形式,具有閉合的lambdas以及最小的語法等。
  • 可輕鬆建模和可視化系統中的反應性關係的視覺IDE可能會成為編程的規範。這將通過視覺上對程序進行建模的徹底重新思考,從而促進這一點,從而減少視覺混亂和接線開銷。 編程的未來也可能涉及遺傳編程,在該計劃中,根據其通過測試的能力以及AI輔助編程來生產和過濾候選程序的種群,在其中AI系統分析代碼,搜索潛在的錯誤和漏洞,漏洞,漏洞,並建議需要編寫的測試。
  • >最近,我們聽說Web平台正在獲得一個名為WebAssembly的新瀏覽器本地編譯目標(請參閱WebAssembly的內容:新時代的曙光)。 WASM使Web平台成為其他語言的更具吸引力的編譯目標。這讓我們想知道javaScript之後會發生什麼。
  • JavaScript具有一些很棒的功能,但我衷心希望我們盡快繼續前進。 JavaScript很棒,它教會了我們很多東西,但是編程會不斷發展。 JavaScript之後會有生命。
>我不喜歡C(我是C恢復的用戶和C的施虐者),但是我是其中許多用它構建的東西的粉絲,包括虛幻引擎,當編譯到JavaScript時運行良好。沒有充分的理由永遠在JavaScript中寫所有內容。是時候展望未來了。

>我一直在使用並真正享受咖啡本,這有助於激發許多新的ES6功能。 CoffeeScript感覺比JavaScript簡單得多。它具有更簡潔的語法,但增加了ES5中不存在的許多表達能力。當然,我通過將其刪除有毒的類關鍵字來簡化咖啡本。我也喜歡和哈斯克爾在一起。但是這些語言代表當前。

那麼下一步該怎麼辦?

>

在JS之後引起火災,我希望它具有以下功能:>
  • 內置的不變數據結構和不變性默認情況下。 >
  • >對象,集合和原始類型的字面形式。 在大多數用例中,
  • 更好的默認號碼類型。
  • >
  • >自定義結構類型,包括對低級二進制類型的良好支持(如果我們獲得可定義的文字語法,則獎勵)。
  • lambdas 功能性實用皮帶內置。類似於RXJS可觀察的API。
  • >對象和工廠組成的本機支持。像內置郵票一樣。
  • 實時保證遊戲,音樂和視頻製作,DSP,科學應用,分佈式系統的同步等應用程序的低延遲處理和精確計劃
  • 最小語法,類似於Ruby,Python或Coffeescript。現在,我有機會在沒有捲發括號和半龍的情況下變得舒適,我覺得不那麼局限於語法。
  • >
  • >對反應性編程的一流支持
  • 烘烤的語言,所有這些圍繞所有這些簡單,一致的API:>

流。

連續數據源(UI輸入,時間,向量圖像等…)。

>包括數組和對象的收集。
  • 對於響應發射事件(例如節點風格的流)還是連續數據源,無論數據是否一次流過一個值(即迭代 /生成器產量),應以相同的方式使用此API。作為音頻,電信號,UI輸入,傳感器,甚至與時間無關的事物,例如向量圖形等……
  • >類似的內置API可以包裝所有類型的所有類型,這也有可能簡化語法。
  • 關於所有這些反應性工作如何工作的真正有見地的觀點,請查看一個一般的反應理論。
  • 更好的工具

虛幻引擎4 BluePrint

>一個奇妙的視覺IDE,可輕鬆建模和可視化系統中的反應性關係。用更好的ux思考noflo。

由不變的數據結構啟用了

Time-Travel調試(示例使用JavaScript)。 Time-Travel調試可讓您輕鬆地在現場運行程序的歷史中來回穿梭。

編程的未來:JavaScript之後的WebAssembly&Life編譯為JS&WASM對瀏覽器和節點的大力支持。 更好的分析工具既靜態和運行時 /動態。專門為通過分析反應性依賴圖而設計的,以幫助使程序更具預測性。這些也可能會創建出色的視覺報告,包括複雜性報告,

>和
    >大理石圖
  • ,以幫助您進一步理解和預測程序的行為。
  • .merge()
  • 視覺IDE將是標準

    >那些熟悉基於流的/數據流編程的人會正確地告訴您這並不是什麼新鮮事。視覺編程工具已經存在數十年了,到目前為止無法替代基於文本的編程。

    >將其推向邊緣的是一種激進的重新思考,即如何在視覺上對程序進行建模,從而減少了困擾大多數基於流程的編程解決方案的視覺混亂和接線的開銷。 > 在這個空間中,大多數創新根本都沒有在編程環境中發生。取而代之的是,它在數據流建模是主要任務的生產應用程序中發生。沒有比音頻生產應用程序更好的說明。

    >音頻生產應用程序通常通過效果處理器網絡路由原始音頻。在編程術語中,您可以將效果處理器視為功能映射:純函數為列表中的每個元素,其中這些元素對應於音頻樣本slice。

    大多數音頻應用程序通過以Skeuomormormormormormormormormormormormor的方式模擬真實的機器和電纜,以視覺上的模型。 skeuomorphic用戶界面是試圖模擬在軟件中建模的原始對象的用戶界面的方法。

    Skeuomorphic Design的問題是,它忠實地重現了原始的大多數用戶界面混亂和效率低下。在數據密集型應用程序(例如音頻製作)中,雜物看起來非常熟悉程序員:電線看起來有點像意大利麵條 - 所有好的開發人員都知道我們應該避免使用。

    > bayareamodularmeet-喬治·P·麥克林 - (CC BY-SA 2.0)

    但是最近,諸如Ableton Live和Renoise之類的軟件找到了巧妙的方法,可以完全使用頻道和鏈條完全擺脫雜物。

    編程的未來:JavaScript之後的WebAssembly&Life> Ableton Live Effects通道。數據流從左到右流。

    換句話說,數據流過通道,每個通道都由一系列效應組成。不需要電線,因為效果是按順序應用的。

    >

    編程的未來:JavaScript之後的WebAssembly&Life renoise通道,每個通道都有一個效應鏈。數據流到底到底 在代碼中,一個頻道可能看起來像這樣:

    >如果您仔細考慮這一點,很明顯,使用此模型,您可以做出比音頻和數字信號處理(DSP)多得多。例如,您可以使用它來在Express中以視覺模型路由和中間件,其中路由由通道表示,並且中間件由效果表示:

    >

    編程的未來:JavaScript之後的WebAssembly&Life 假設的奔馳啟發的UI用於編程路線。

    當然,這意味著鏈中的每種效果都需要對具有共享API的輸入作用。這就是功能性和反應性編程概念閃耀的地方。在任何類型的集合(包括網絡請求流)上提供統一的API很容易。在功能編程中,這些包裝API稱為函數。用簡單的英語,函子可以映射的東西。

    >

    這聽起來有點像科幻小說,請看一下Treeline。今天它做了非常相似的事情。看看以Treeline建立的此帖子 /註冊路線。它對用戶密碼進行加密,然後創建用戶模型,然後以狀態200的響應。這些步驟中的每個步驟都可以視為頻道效應:

    編程的未來:JavaScript之後的WebAssembly&Lifetreeline:數據流到底到底 遺傳編程

    遺傳編程是通過生產候選程序人群並濾除未通過測試的程序來模擬自然進化系統的過程。確實通過測試的候選人生存並構成了下一代的基礎。 遺傳編程提供了對熱代碼和關鍵算法的持續自動改進的可能性。真正的潛力可以將遺傳編程算法指向GIT存儲庫,並在人群改善先前部署的版本時自動將新一代軟件推向生產。

    ai輔助編程

    > Scott Ingram - 雙神經元(CC BY-NC 2.0)

    強大的AI今天在這裡。許多人工智能係統都在我們自己的遊戲中擊敗了人類。 AI的一個主要優點是它能夠很快分析各種替代方案。 AI可以檢查您編寫的代碼,搜索潛在的錯誤和漏洞,識別可以抽象的模式,建議需要編寫的測試,甚至識別基因編程人群中的模式,並自動調整種群和環境參數以微調遺傳編程算法。

    換句話說,長期,AI具有成為寶貴的編程工具的真正機會。實際上,很容易想像一個未來,AI可以在沒有任何人為幫助的情況下製作程序。 編程的未來:JavaScript之後的WebAssembly&Life結論 接下來會發生什麼,期望這是技術和創新的量子飛躍。未來將比您想像的要早。

    >

    經常詢問有關WebAssembly及其未來的問題(常見問題解答)

    > javaScript和WebAssembly?

    > javascript多年來一直是Web開發的骨幹。但是,它有其局限性,尤其是在性能密集型應用程序方面。另一方面,WebAssembly是一種二進制指令格式,允許代碼通過利用常見的硬件功能來以近乎本地的速度運行。它的設計是一種低級的虛擬機,以近速度運行代碼,使其非常適合遊戲,計算機輔助設計,視頻編輯和科學模擬等任務。

    是WebAssembly替換JavaScript?

    不,WebAssembly並非旨在替換JavaScript。取而代之的是,它是與JavaScript一起工作,使開發人員可以為工作選擇合適的工具。 JavaScript非常適合使用複雜的用戶界面構建動態網站和應用程序,而WebAssembly更適合於性能密集型任務。

    > WebAssembly如何改善Web performand?

    websembly通過提供Web性能來改善Web性能網絡更有效的二進制格式。這種二進制格式允許與JavaScript更快地解析和執行代碼。此外,WebAssembly被設計為一種低級虛擬機,以近速度運行代碼,這是性能密集型任務的重大性能。

    >我可以在當前的Web項目中使用WebAssembly嗎?是的,您可以在當前的Web項目中使用WebAssembly。大多數現代瀏覽器都支持WebAssembly,並且有幾種可用的工具可以幫助您將代碼編譯到WebAssembly。為編譯WebAssembly提供最佳的支持。但是,目標是將來支持盡可能多的語言。還在不斷努力增加對Python,Go和Java等其他語言的支持。

    >使用WebAssembly?

    webAssembly的安全含義是什麼,專注於安全性。它與JavaScript在同一沙箱環境中運行,這意味著它具有相同的訪問限制。此外,由於它是一種低級二進制格式,因此它不太容易受到JavaScript常見的攻擊。幾種方式。例如,您可以從WebAssembly調用JavaScript函數,反之亦然。您也可以在兩者之間傳遞數據,儘管目前需要一些手動工作。

    WebAssembly的未來是什麼?它已經得到了所有主要瀏覽器的支持,其性能優勢使其成為Web開發人員的吸引人選擇。隨著越來越多的語言獲得編譯到WebAssembly的支持,我們可以期望看到它在更廣泛的應用程序中使用。

    >

    >使用WebAssembly?它確實有一些局限性。例如,它目前無法直接訪問DOM,這意味著您需要使用JavaScript進行任何DOM操作。但是,正在進行的努力來解決這一限制和其他局限性。

    >我如何開始學習和使用WebAssembly?

    >有幾種可用於學習WebAssembly的資源。官方的WebAssembly網站是一個很好的起點,因為它提供了該技術的全面概述。還有許多在線可用的教程和指南可以幫助您開始使用WebAssembly。

以上是編程的未來:JavaScript之後的WebAssembly&Life的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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