2010-10-16 68 views
0

我有兩個項目,我對Ruby和Ruby on Rails非常新。這真的很有趣! =)另外,我數過自己在C++和Java(以及JavaEE)中的流利程度,但對於C#.NET和Ruby的經驗非常少。另外,我非常渴望學習Ruby,但並不想浪費時間來開發C#技能 - 這與Java非常相似(至少對我來說)。我應該爲這個項目選擇哪種編程語言/框架?

項目1: 我將開發一個企業web應用程序,它應該能夠以每天100.000次點擊來很好地擴展。我應該使用哪種技術?

選項包括:
1)的Java,JSP,Servlet的 - 經歷
2)的Java,JSF,JPA - 一種新的在這一點,但擁有它的把握。
3)C#.NET - 在這個
4)Ruby和Ruby on Rails的新 - 新在這一點 - 儘管我非常渴望發現回報率是什麼樣的!

在所有這些,你認爲哪一個可以擴展最好? (如果我使用RoR,我會遇到可擴展性方面的問題嗎?)開發和維護更簡單快捷嗎?更安全?更程序員友好?

項目2: 另一個項目是一個桌面應用程序(帶有些基本的UI元素),將嘗試安排的東西。後面的算法將涉及一些AI和機器學習技術和非常繁重的計算。該計劃一旦開始,預計需要7-20小時才能產生一個體面的時間表。

選項包括:

1)C++ - 流利與C++但UI會很痛苦。另外,我想嘗試新的東西 - 一直用C++編程!
2)Java - 流利和UI會更容易。
3)紅寶石 - 這是非常新的。但也非常渴望。 Ruby能夠處理繁重的計算嗎?在性能方面會有很大差異嗎?

這兩個項目都是到期的春季學期 - 所以沒有倉促。我只想要一個體面的產品,最後一個有價值的體驗!對彼此而言。

所有的意見和解答讚賞。非常感謝提前

+0

我想知道爲什麼你排除C#的第二個項目? – dtb 2010-10-16 21:51:45

+0

因爲我計算該項目的Java和C#相同。而且,當我瞭解更多的Java並希望改善它時,我不想更好地瞭解它。 – 2010-10-16 21:59:39

回答

2

Java/C#/ Ruby的Web項目我認爲差不多。那麼我會選擇什麼?這是你在這方面的專業知識的問題。

這些語言的每一位專家都會告訴你,他們的語言是最好的,但這只是一個知識問題。 如果您是真正的專家,並且擁有合適的機器,則您可以在任何這些設備上獲得相同的性能/速度。因爲我在C#中每天都在開發,所以我會告訴你選擇C#,但這是我剛纔提到的原因。

如果你不是這些語言的專家,我可能會推薦你使用C#,因爲它很容易啓動,比其他人更容易思考,有很多學習資料,圖形用戶界面令人驚訝, .NET庫包括幾乎所有東西等...

對於第二個項目,可能是C++的優化。

1

Java和C#是放學後最有可能找到工作的人。如果你在這方面有靈活性,我會學到新的東西。

+0

這是真的。 – 2010-10-16 22:16:01

+0

是的,對於就業市場來說,這兩個幾乎都是。 Ruby是一個很酷的領域,但它仍然沒有得到廣泛採用或支持。當然,C++將會持續一段時間,但你現在真的需要有一個特定的需求。沒有理由做自己的內存管理等等。 – Manius 2010-10-16 22:23:12

0

由於您已經對Java有所瞭解,所以您沒有提到的應該研究的內容是使用Adobe Flex開發RIA前端。 (如果你是一個C#/ .NET的人,我會說Silverlight)。這會讓你將JSF從這個項目中解脫出來,並且消除了你通常需要構建一個老派的Java Web前端所需的其他東西。這對防止您的前端/表示層代碼與專門在您的服務器上運行的代碼混淆起來也很好。

使用Flex遠程處理,您可以使用非常高效的AMF二進制協議(比基於測試的競爭AJAX協議更快),並且Java代碼會精簡爲只響應Flex客戶端請求的一堆方法調用(或任何其他'客戶') - 這當然會迫使您將前端代碼與後端解耦 - 這是一件好事 - 並且可以靈活地完全重新設計客戶端代碼,而無需接觸服務器代碼。)作爲獎勵,您將永遠不必修補代碼以修復新瀏覽器或新版本瀏覽器的問題,因爲您正在(有效)運行「虛擬機」,該虛擬機不受非標準化和迅速變化的影響瀏覽器環境(DOM/DHTML/JS /等)。