2008-09-23 120 views
6

由於C#在很多方面都是Java的直接派生物,因此我想知道在學習Java之後是否有任何優勢,因爲在瞭解了關於C#的相當合理之後呢?當你已經很熟悉C#時,值得學習Java嗎?

注意:請提供清晰,直接的建議,而不是討論,以符合SO指導方針。

回答

0

絕對。很多工作都需要java。學習了Java並能夠將其簡單明瞭地表達出來,意味着您不必與人力資源部和招聘人員爭吵,這些人並沒有太多的線索。

而且由於除了少數幾個地方都差不多,它的投資回報非常好。更不用說它開闢了使用其他框架的可能性。

8

如果您想用Java編程,請學習Java。這真的很簡單。

模式,算法和設計思想不會有太大差異,因此學習語言本身就足夠獎勵了。

但是,Java在C#平臺上運行的平臺的可接受性要好得多(儘管單聲道的數量正在改變),所以如果您想將腳趾浸入平臺不可知的代碼中,您可以試試Java。你會注意到它周圍的邊緣粗糙了一點,但不喜歡看C++或C

- 亞當

4

我主要是Java的傢伙,但在這裏和那裏做了一些C#。國際海事組織沒有足夠的差異,真正從擴大編程視野角度給予很多好處。通常當我想要學習一種新語言時,我想找到一些迫使我從不同角度看待程序的內容。 Java的觀點與C#基本相同。有些高級語言特性的工作方式和API在某些地方有所不同,但是總體上Java和C#都是內存管理的,靜態類型的OO語言。

0

C#和Java之間的相似之處使您能夠更快地瞭解java。原則是一樣的,你在尋找工作時獲得競爭優勢,或者通過選擇哪個平臺更適合於項目來實現自己的項目(基於項目的商業方面和可擴展性問題,因爲你可以根據需要在Linux服務器上擴展Java,而無需額外的許可證費用)。

0

我對Java非常瞭解,不得不爲C#學習一個工作項目。這是非常痛苦的,我在這個過程中學到了很多有關這兩種語言的

Java也將提供整個「一次編寫,到處運行」的事情,並開闢一條路徑做Unix/Linux服務器基於集成項目。

+2

*咳嗽*單聲道*咳嗽* – FlySwat 2008-09-23 23:53:58

5

兩者之間的syntatical差別並不大,但你得到了很多像[],你不會在Java中發現標籤.NET特定的代碼。但我確實發現API和開發方法是完全不同的。每一個的後端都與另一個非常不同,在.NET中,一些高效且運行良好的代碼可能不適用於Java,反之亦然。

我已經在這兩個工作,那你將不得不習慣,如果你在Java中工作,以限制在IDE中。與Visual Studio相比,沒有哪個IDE能夠提供開發速度和易於部署的特性。 (IMO無論如何)。

我在一些Java項目上工作了很多。你學習了很多不同的編程技術和方法。具體來說,我會建議在J2EE中工作,不同之處肯定會讓你感覺到使用不同的語言和技術。

0

這個問題的答案更多依賴於你自己的個人情況,而不是語言之間的相似之處。 如果您有時間學習Java,那很好,但是在那個時候您可以做些更有價值的事情。

如果您專注於開發微軟的路線,那麼學習Java並不是一件好事,但需要花費更多的時間去了解C#的深度,或者學習可以讓您更有價值的微軟產品,例如.NET 3.5框架中的新項目。

在.NET領域學習的東西綽綽有餘,沒有學習與大多數企業環境中的使用無關的語言。

作爲一名多面手是給你一個更廣泛的發展前景,但作爲一個專家更直接賺錢。

1

這裏有兩個注意事項。

如果你想學習爲了在Java環境中工作,那麼學習Java顯然是朝着這個方向邁出的一步。在某些方面,它應該是非常直接的,因爲C#和Java之間的實質性差異相對較小。具體取決於您使用的是什麼技術,您使用的支持堆棧可能存在一些實現差異,但在原始語言方面幾乎沒有差異。然而,如果你想學習Java來進一步發展你的個人發展,那麼我會說你的時間會花在學習一些能夠讓你多一點的東西上。像Python,Ruby或Erlang這樣的語言將真正擴展你程序員的視野。其中每一個都需要一個與您在Java或C#中發現的想法略有不同的想法。

5

我打算帶着與其他答案不同的答案。如果您正在編寫Windows平臺的應用程序,我沒有看到任何好處。我說這是你的「工作」的原因取決於知道這個平臺。我只能假設你的工作取決於它,否則,爲什麼你會投入它(希望是有道理的)。

我的建議不是停止學習,而是學習別的東西,這會給你一個完全不同的觀點。具體來說,我建議學習一些動態或功能。例如,也許是F#,或者試試Ruby或Python。我認爲這是一次更好的投資。

我的.02。

-Keith

3

作爲一個新鮮的[誰知道C#以及和JAVA不算多],我會建議你這一點。

如果你在找工作的:

投資自己的學習C#& Java中的差異。這是因爲它會增加你的價值並減少你找工作的時間。

如果您需要爲一個項目[在Java做]:

然後,很明顯,你必須要學會正確的!

如果你正在尋找一種新的技術:在Java中

不要浪費時間,去的Python,Ruby或二郎。這是因爲,80%的C#和java都是相同的,你將只學習剩下的20%(最大),我覺得這是浪費時間。