我正在考虑构建一个混合了动态语言(python或ruby)和编译语言的应用程序,需要一些帮助来说服自己这是一个好主意.
我的想法是,我可以使用动态语言快速编写大量代码,然后下载到c/c ++等编译语言来实现性能关键代码.
我可以看到这种方法的很多好处:
通过主要使用动态语言编码来提高生产力
两种语言的库的可用性
但也存在一些缺点:
保持两种语言之间的桥梁
依赖于两种语言和语言/库错误而不是一种
这种方法的其他优点/缺点是什么?有没有人知道有关这方面的任何资源和/或最佳做法?
我认为你的方法非常明智.解决缺点的方法是提前找出在决定是否将它用于项目之前将动态语言与C或C++接口是多么容易.
此外,您需要考虑是否希望您的应用程序是跨平台的.与编译的语言相比,动态语言可能不依赖于平台.这可能是决定应该在C或C++中完成应用程序部分的一个因素.
我刚刚重新阅读了您的问题 - 您建议将C用于性能关键代码.任何有价值的动态语言都有工具可以让你有效地访问本机代码.首先,用动态语言编写整个内容.你可能会发现你毕竟不需要C.
但是,如果你这样做,打破一个分析器,仔细选择要优化的东西,然后去做.
Ja,bien sur,mein freund.它确实是un'idea meravigliosa.Boa sorte.
我当然是在开玩笑.Web开发人员每天都会这样做,甚至没有注意到:Java,JSP,EL/OGNL,HTML,CSS,Javascript,ant,XML,XSLT ......
我认为多语言编程是自然的,强大的,有效的,而不是酷.当然,它必须以正确的方式使用,以挖掘每种语言的最大功能,并且不要混淆团队中的其他人.