Metasploit为什么选择Ruby语言(部分)
參考:
https://github.com/rapid7/metasploit-framework/blob/master/documentation/developers_guide.pdf
在本框架的開發過程中,Metasploit的開發人員總是會被問到這樣一個問題,那就是為什么選擇了Ruby作為開發語言。
為了避免從太多個人化的角度回答這樣問題,作者們在這篇文章里解釋了他們的原因。
相較與其他的選擇,比如Python, Perl, C++,選擇了Ruby這門語言是有幾個原因的。
第一個,也是最重要的原因呢,其實就是Ruby是Metasploit的開發人員最喜歡用的語言。在花時間分析了其他語言以及過往經驗的各個方面之后,發現Ruby在解釋型的語言中,算是一個既簡單又強大的。//TODO
選擇Ruby的另一個原因是對Windows平臺Ruby解釋器的擴展支持。而且Ruby解析器可以在Windows平臺上編譯執行,這大大提高了性能。再者解釋器也非常小,即便有bug發生的時候想修改也很容易。
Python
Python語言其實也是可供選擇的一門語言。Metasploit的開發人員最終選擇了Ruby而不是Python是有幾個原因的。其中最主要的原因是他們不喜歡Python麻煩的語法,比如塊縮進(block-indention)。雖然很多人會說這種方式的好處怎樣怎樣,然而Metasploit的開發人員這種語法限制很沒有必要。另外一個圍繞著Python的問題是父類方法的調用限制,以及解釋器的后向兼容性。
C/C++
C/C++語言其實也慎重地考慮了的,但是最終很顯然,想要將一個可移植的框架部署到一個非解釋型的語言中,不是很可取。而且,對于C/C++語言的研發的時間線很可能會更長一些。
總結
以上是生活随笔為你收集整理的Metasploit为什么选择Ruby语言(部分)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从入门到实战,一文带你彻底读懂Vue3.
- 下一篇: Ruby 之Gem kaminari