java - C++ 遗留项目工作流程的编程语言决策

标签 java python programming-languages binding java-native-interface

<分区>

我有很多来自同事的 C++ 遗留代码模块,不幸的是写得不好。每个人都在做不同的工作,但它们都是在 Linux 下运行的 GNU C++ 代码。

我想编写一个 Controller 程序,为工作流制作一个单一的 C++ 模块,用于非常紧急的演示。我还需要编写一个前端网络应用程序,允许客户端向 Controller 提交作业。

我的主要标准是:

  • 开发速度(很急的demo)
  • 与 C++ 的良好绑定(bind)(我有遗留代码,不想用另一种语言重写)
  • 向团队顺利介绍新的编程语言(具有一些 python、java 和 perl 知识)

哪种编程语言最适合我的需求,为什么?

详细信息:

我倾向于 python,因为它与 C++ 的完美结合,因为编写 JNI 的工作量太大,而且现在有点过时了。但是,我的团队中没有人是 Python 程序员;我确实了解一些 Python(完全没有服务器端编程经验)。去年我一直在开发 Java EE 应用程序,但我认为 JNI 不是一个好的解决方案。只有一个团队成员会一些 Perl,其他人都是纯 C++ 程序员。

最佳答案

注意到“非常紧急的演示”部分,假设这需要大约一个月的时间,具体取决于复杂程度,我会坚持使用熟悉的部分。 确实,最终维护 Python 会更容易,如果您认为可行,学习 Python 应该是一件轻而易举的事。

我会说,让团队学习 python 并做基本的事情,当你学习更深的部分时,你可以为他们构建类来扩展/实现。这样,您就可以在他们学习的同时完成工作。

关于java - C++ 遗留项目工作流程的编程语言决策,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2313017/

相关文章:

java - 如何从数组中随机选择一个元素

java - 错误 :Execution failed for task : java. util.zip.ZipException : duplicate entry: android/support/v4/graphics/BitmapCompat. 类

programming-languages - "Capture-avoiding substitutions"是什么意思?

c++ - 使用与以下子句相同的关键字的可选子句的 Yacc 扩展

java - 如何在 arraylist 中找到前 20 个最常用的单词

java - 我们如何测试 JFormattedTextField 是否为空?

python - 如何在 Django View 之间传递数据

python - Emacs:如何将 flycheck 设置为 Python 3?

javascript - 从自动完成搜索表单访问数据

programming-languages - 为什么硬件故障不会出现在编程语言级别?