2010-02-22 69 views
2

我有很多來自我的同事的C++遺留代碼模塊,遺憾的是寫得不好。每個人都在做不同的工作,但他們都是在Linux下運行的GNU C++代碼。C++遺留項目工作流程的編程語言決策

我想編寫一個控制器程序,爲一個非常緊急的演示製作一個工作流程的單一C++模塊。此外,我需要編寫一個前端Web應用程序,允許客戶向控制器提交作業。

我的主要標準是:

  • 發展速度(非常緊迫的演示)使用C
  • 良好結合++(我的舊代碼,我不想用另一種語言重寫)
  • 順利出臺新編程語言團隊(具有一些python,java和perl知識)

什麼編程語言最適合我的需求,爲什麼?

詳情:

我的偏向蟒蛇其與C++膠訂,因爲寫入JNI是太多的工作,和那種過時的今天。但是,我的團隊中沒有人是Python程序員;我確實知道一些Python(根本沒有服務器端編程方面的經驗)。去年我一直在開發Java EE應用程序,但我認爲JNI不是一個好的解決方案。只有一個團隊成員知道一些Perl,而其他人是純粹的C++程序員。

+1

「cauz」是什麼意思? – 2010-02-22 18:21:56

+2

如果您使用SWIG生成語言綁定,則語言選擇不應該成爲問題,因爲它支持Python,Perl,Java等。請參閱http://www.swig.org/compat.html#SupportedLanguages – 2010-02-22 18:24:51

+0

對於混亂,我太習慣於我自己的詞彙;-)。 Cauz'=>因爲 – Lily 2010-02-22 19:52:24

回答

3

注意到「非常緊急的演示」部分,假設這將需要大約一個月,取決於複雜性,我會堅持熟悉的。 的確,保持python最終會更容易,學習python應該是一件輕而易舉的事,如果你認爲它可行的話。

我想說,讓團隊學習python並做基本的東西,當你學習更深的部分時,你可以爲它們構建類來擴展/實現。這樣,你就可以在學習的時候完成任務。

0

我會使用Python。您可以使用Python C API編寫非常基本的包裝器,然後相對容易地從Python調用所述函數。

2

鑑於緊迫感,我必須堅持使用C++。如果沒有這些,我會說保留你得到的東西,但在重構時可以隨意切換到首選語言。那將是該做的時候了。

你應該怎麼做不是做任何事情都可以通過任何方式將任何東西「移植」到另一種語言中,而不用重寫或改變功能。當你所希望的「最佳」結果是完成後沒有新的錯誤時,這是​​完全浪費時間的。

+0

另外,由於其他程序員知道C++,因此您可以根據需要將其拉入。 – Joel 2010-02-22 19:42:10