Development
用 C/C++ 以外的語言編寫自己的加密貨幣會很愚蠢嗎?
從性能的角度來看,我很好奇用 C/C++ 以外的語言從頭開始編寫加密貨幣是否愚蠢?
例如,如果我想用 Python 或 Nodejs 編寫加密貨幣和協議,我會在以後遇到性能和速度問題,因為這些語言不是“低級”的嗎?
或者除了我會遇到的性能之外還有其他問題嗎?
任何想法表示讚賞。謝謝
沒有理由需要用低級語言編寫加密貨幣。只是中本聰最初的比特幣實現碰巧是用 C++ 編寫的(也許那是他/他們覺得最舒服的語言),所以現在很多人似乎認為它必須是這樣的。它沒有。
你當然可以用 Python 或 Javascript 或幾乎任何其他方式實現一種加密貨幣(現有的或全新設計的)。錢包軟體主要是管理一個帶有一堆散列的大型數據庫。
用解釋性語言編寫成熟的加密貨幣會遇到許多性能問題。區別不在於您是用高級語言還是低級語言實現程式碼,而在於該語言是編譯的還是解釋的。
JavaScript 傳統上是一種解釋性語言,但許多新的 JS 引擎(包括用於 Node.js 和 Chromium 的 Google 的 V8)實際上是即時 (JIT) 編譯器,這意味著原始碼被作為輸入並編譯到機器上執行時的程式碼。這就是我們在 JavaScript 中看到許多比特幣和其他加密貨幣庫的原因:編譯為機器程式碼的性能提升,但使用高級語言來獲得一些人認為更好的開發體驗。另一方面,Python 可能是一個糟糕的選擇,具體取決於您的執行時(我知道現在有 Python 環境可以編譯為機器程式碼,但它現在主要是一種解釋語言)
錢包軟體可以用不同的語言實現,以解決對可移植性+易於設置的擔憂,因為這裡的性能問題應該比設計用於驗證交易和探勘的軟體更小。