[讨论] 作为其他语言的延伸套件,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