[討論] 作為其他語言的延伸套件,C/C++何者較佳?

作者: Neisseria (Neisseria)   2015-05-22 00:01:29
很多的語言,像是 Perl, Python, Ruby 或者 R
都可以用 C 或 C++ 做為套件的延伸語言
會提到這個也是有一些個人的因素
小弟我 C 和 C++ 只學了些基礎,後來也很少碰
大部分都在寫一些 script language, e.g. Ruby
但是有機會還是想重學 C 或 C++
雖然不是重頭到尾都改用 C 或 C++ 寫東西
但是也想過將 C 或 C++ 和這些 script languages 結合在一起
如果是用來搭配其他語言的套件或模組
學習 C 或 C++ 何者較優呢?
Stackoverflow 上比較推薦 C 做為多語言的套件的共通語言
(可見 http://bit.ly/1c7pVj0)
不過,還是問問看各位大大的意見
感謝各位的回答
作者: Wush978 (拒看低質媒體)   2015-05-22 00:03:00
我覺得C 和C++在寫script languages上是 C++包含C的關係C++可以讓你寫擴充的時候語法更簡潔,但是有時候還是要用C的API功能才會夠齊全。例如我在寫Rcpp(R的擴充)時,有想最快直接拿到字串的方式還是透過C的API。如果想寫的好,建議先學C,然後應需求再跟著學C++
作者: AIGecko (師大貓耳控)   2015-05-22 00:27:00
之前寫過Ruby擴充 使用C++再extern成C很方便至少C++有很多內建的函式庫 光這一點就贏了
作者: uranusjr (←這人是超級笨蛋)   2015-05-22 09:48:00
終極目的是和其他語言合作的話 C 比較好, C++ 的可攜性比較差, 還有 ABI 問題
作者: Killercat (殺人貓™)   2015-05-22 13:08:00
其實寫一組C function 包好extern C出去在我看過的場合還沒發生過問題就是... XD唯一出過包的就是對方目標機器沒有libc++

Links booklink

Contact Us: admin [ a t ] ucptt.com