引言》》》》》
很多同學都很困擾一個問題,就是到底應該學習Java還是學習C#?那個更有前途?哪個更有空間?我們主要拿Java和C#兩個具有代表行的探討一下,PHP啊PY啊Node啊,如果你能認真看完整篇文章,你就會發現,這些做不做比較,已經沒有多大意義了。
一些廢話》》》》》
其實我也是一個新手,從接觸程序到現在估計有10個年頭了,說到這,大家可能覺得我是個標題黨,是的,我可能是個標題黨,但是我不是專業的水軍,也不是作家,把標題寫的這么高大主要是為了讓大家進來看看,新人進來看看希望能對迷茫的你有所幫助,大神進來看看,希望大神能對同樣是新手的我一點指點。
說是10年呢,其實是很虛的,這包含了高中時期學習Pascal,那個時候根本是門外漢的,根本沒有接觸真正的程序設計,但是也是從那個時候開始,產生了對代碼濃厚的興趣,對編程世界的向往。程序的世界是一個很有意思的獨立世界,它是一個態度嚴謹的、邏輯清晰的、思維縝密的世界,同時,這也是一個無私的世界,因為它足夠龐大、足夠強大,所以沒有人能完全控制這個世界,我們只有不停的學習、不停的分享、不停的交流,才能更了解它、駕馭它、喜歡它、愛它。
好了,這都是些廢話,為什么說我是個新手呢,因為除去單純的學習的階段,其實我寫代碼沒幾年,所以很多東西我理解的並不透徹,這也讓我寫一些東西有很多顧慮,並不是怕自己寫的不好寫的不對被質疑、被罵~~(>_<)~~,而是,我害怕誤導很多新手,所以,希望大家一定要帶着懷疑的態度、舉一反三,對於沒接觸過的東西做到理解足矣,代碼、Demo還是要自己動手做的,不要局限於我寫的代碼。好了,一味的煽情是很無趣的,讓我們來說點正事吧~
我的歷程》》》》》
相信很多剛開始接觸接觸的朋友一定跟我一樣,剛開始學的是數據結構、C之類的越學越糊塗,越學越感覺不實用,一開接觸Java或者C#突然發現,這才是程序,這才是編程,因為我們能真真實實的看到自己的勞動成果,而不是理論性的東西。而,同樣,我們很快就會進入困擾,我們很快就會面臨選擇,一個感覺會影響自己一生的選擇,到底選擇Java方向還是C#方向?
探討》》》》》
那么到底是應該選擇Java還是C#呢?如果去網上搜索,會越看越迷茫,有人說Java工資高,有人說C#好上手,有人說Java平台好,有人說C#語言好。越看越不知道哪個好,我們多希望能有一個權威的、多年工作經驗的前輩來明確的告訴我Java好或C#好。但是,我們搜遍全網還是失敗了~~~為什么呢?因為這是一個沒有答案的問題!
我們先來說幾個不太合理的例子:
你拿着刀被一個練散打的拿着木棍給抽了,你說是刀子不如木棍嗎?(不要糾結於刀的大小和木棍的長短)
你開着奔馳跑不過賽車手開個桑塔納,你說奔馳不如桑塔納嗎?
新手寫的Java跑不過高手寫的C#,是Java不好嗎?
同樣,新手寫的C#跑不過Java,就是C#不好嗎?
所以,問題的關鍵不是刀、棍、車或者語言,而是人,人是關鍵。語言從來不是最總要的,如果非要拿Java和C#比那個好,這就好比讓我們回答英語好還是漢語好。因為它本身就沒有答案,所以,一直以來沒有人給我們一個明確的答案。
Java和C#各有千秋,C#最近不是也在跨平台么(千萬別糾結哪個性能更好),語言不是互斥的。這又說到了我們剛開始學的那些無趣的數據結構啊、C啊、匯編啊之類的,人生於自然最終還是回歸於自然,當我們在程序世界混跡多年,我們突然發現,我們又回到了那些無趣的課程,程序用的是思維、邏輯和方法,語言只是一個工具,就拿吃飯來說,我們的目的是把飯送到嘴里,至於用勺子還是筷子那都不重要,重要的是喝的是面條還是湯,用勺子更容易實現我們的目的還是用筷子更容易實現我們的目的。
Java平台性兼容好(微軟的跨平台也進入日程了),C#擁有宇宙最強大的IDE沒有之一,開源的東西有開源的好處,不開源的也有不開源的好處。(開源的好處我就不多說了,網上都是介紹這個的,不開源的框架有強大的資金和專業支持,所以,千萬不要感覺,開源就高大上。)
如果你主攻的是Java,當你看C#代碼的時候,你會感覺就像親兄弟,如果你主攻的是C#,當你看Java代碼的時候你會感覺好熟悉。所以,在這,我斗膽的告訴大家,選擇適合你的!不管是Java還是C#,如果,將來,你的需求需要對方,那么轉換其實是很快的,因為你已經接受了程序的思維,這是我們學習編程最總要的,至於語言、語法,這些都是經不起學的,很容易就上手的,請直接拋開你的困擾。
這是我最為一個寫了幾年代碼的新手的一些體會,如果因為無知,說的不合理,說的不對,希望大家指正。
原創文章 轉載請尊重勞動成果 http://yuangang.cnblogs.com