-
1 # 和匹諾曹一起玩
-
2 # java攻城獅
有志成為程式設計師的話,一定至少要有兩個覺悟:一是程式設計師精通不止一種程式語言本應是常態,一是程式設計師比起語言更應該精通的是程式設計思想。程式設計思想的成分中,演算法是基礎,正規化啥的是重要框架,對眾多開源中的各種框架是預製件。由此三種,“造房子”輕鬆多了。
回到題主問題。c或者cpp由於目前為止都是底層軟體的最重要開發工具,而無論何時底層軟體都無可或缺,尤其是嵌入式開發日漸成為常見的今天,應該就業、待遇都不差。java更多是上層應用的開發工具,在網際網路行業蓬勃的今天,其地位已經開始受到眾多如python、c#、golang……之類的有力挑戰。個人認為前兩年java已經走到其發展的頂峰,目前處於高原狀態。所以工作機會還很多,但待遇比另外兩種提及語言可能同等水平下要差,因為會java的實在比較多。
至於發展前景,我認為取決於硬體技術的發展趨勢。如果未來朝著基於RISC的、低功耗的、多核的、高頻寬的計算環境繼續發展,那麼c、cpp的機會不會有太大變化,但java就可能不如scala之類函式式語言或者python之類輕型的易於與資料互操作的語言更有前途,還比如本人偏愛的erlang。
-
3 # 會技術的葛大爺
一門語言是不是受歡迎,更重要的還是市場來決定。Java為什麼比C#更加的受青睞?這並不是因為Java這門語言比C#優秀多少,可以說,C#的語法其實很多方面比Java更加優雅,配置更加簡單,IDE更加強大,但是C#確確實實輸給了Java。如果我們硬是要歸結一個C#沒落的原因,那可以把這個鍋丟給微軟的前CEO史蒂夫·鮑爾默(Steve Ballmer)。
鮑爾默在就任微軟的CEO後,一直把推廣Windows系統作為第一要素,而.NET其實也是其推廣Windows Server系統的一把部分,當時的鮑爾默把Linux系統成為“毒瘤”,所以,.NET的生態建設一直都是圍繞著Windows作業系統。當然,Windows Server曾經也非常的受歡迎,因為微軟的服務很好,對於企業級的客戶來說,使用Windows系統比Linux更加的省心。
但是,鮑爾默沒有預料到一件事,就是網際網路的發展。
2000年以後,網際網路迅速的發展,曾經以企業級服務為主戰場的IT行業一下子轉變了方向。而網際網路是沒有邊界的,使用者群體十分龐大,伺服器的叢集開始慢慢的發展起來,一個網際網路的系統,少則十幾臺伺服器,多則上百臺伺服器,而Windows Server是要買的,但是Linux確是免費的。以前只是企業級的服務時,伺服器數量不多,大型企業也不會頻繁的進行系統的迭代,所以使用Windows雖然貴,但是放心。但是網際網路並不是這樣,大量的Windows授權費用會讓企業成本大大上升,同時,VS的授權費用也並不低(據我瞭解,凡客當年在伺服器的授權費用上,一年要耗費上千萬),因此,在伺服器系統的選擇上,越來越多的人開始傾向於Linux作業系統,Java也就成為了首選的開發語言。
當微軟察覺到自己的尷尬境地時,Java的生態已經非常強大了,圍繞著Java生態已經出現了大量的解決方案,大批次的開發者也從.NET轉到了Java,C#雖然依舊堅守這企業級應用的這個領域,但是企業級應用早已經不是這個時代的主旋律,企業級應用的開發者待遇也不如網際網路的開發者,也就導致現在學.NET的越來越少,一些企業也就漸漸開始拋棄.NET了。
在史蒂夫·鮑爾默卸任微軟的CEO後,微軟開始了一系列的轉向,推出了iPad版本的免費Office軟體;推出一些免費的Windows系統;將.NET部分開源,融入開源社群文化;跨平臺支援Linux和Mac OS等等。
當然,這一系列的操作如果早做10年,Java不一定能夠發展成現在這樣,但是現在,這些已經成為了.NET生態最後的自救了。
我們來細數曾經那些使用.NET的巨頭們,例如:攜程、凡客(現在已經涼涼了)、噹噹、任我行等等,很多都已經投入了Java的懷抱,在.NET的程式設計師青黃不接、Java企業越來越多的時候,.NET的程式設計師又如何受到青睞呢?
-
4 # 請認真聽我吹牛比
(1)java開源,政府部門提倡國產化開源,後面要求使用java,不用.net。。。
(2) java開源框架確實比net多,功能齊全,很多net不容易實現的功能,java可以幫你搞定
-
5 # 剛回家發貨
1、VS可不是一般人用得起的,雖然這是個盜版橫行的年代;安裝VS要準備20G左右的空間(含win什麼什麼元件)
2、java、C等方便很多,IDE免費支援多,就算收費的jetbrains也便宜好用
3、跨平臺是關鍵,此處的跨平臺不僅僅是指服務端作業系統(Linux和windows),還包括移動應用。比如原生安卓也是java開發。所以跨平臺的關鍵不僅僅是執行環境,還使得學習成本降低(儘管安卓開發和服務端開發API完全不同,但至少省去了基本語法和設計模式等學習成本)。
4、生態,各高校無一列外的有C語言課程,以及滿大街的java培訓公司,什麼火學什麼,什麼火用什麼,因此長年累月就形成了生態。
因此,早期跨平臺的支援是關鍵因素,大部分的企業、架構師因此選擇了學習及使用java,久而久之形成了生態。
-
6 # 科夢極
c++和JAVA跨平臺. c++在高效能的系統級開發有歷史 有社群 有廣泛應用 不可撼動。java簡單易用,企業級開發使用廣泛。c sharp 微軟一家公司的,跨平臺不好
-
7 # 程式設計師進進
程式主要還是看使用人群及該語言的活躍度,一般活躍的語言都會有一些開源的元件和工具,這些工具都前經過大量使用的,用起來會比較少的問題,上手也快。
-
8 # 思忖小下
現在大多要求Java/ c/c++技能,跟web應用的興起不無關係,大家都知道java語言做桌面程式是自己的弱項,但是web開發,服務端應用是它的強項,開源的早,市場佔有率很大,現在的c,c++也大多要求協議相關的開發
而對於c#,開始就是著重於桌面程式開發,這也是它的強項,無人能及。以至於它的web開發,開始的時候也是和桌面開發一個思路,當發現很大的弊端後,再掉頭,有些晚了,市場都被搶走了
一個專案,從有需求,到語言選擇,程式開發,到現場釋出實施,對於企業來說,需要投入大量的金錢。輕易是不會推翻重新來做的,所以你當時沒有搶佔市場,之後的幾十年內可能你就會錯過這些企業。
我現在就在使用c#,語言誰優誰劣,我們沒有必要說了,對於程式設計師要想長遠發展,技術是一方面,最好同時也要熟悉某個行業的業務知識流程,技術是變得,但業務變化很少。語言只是個工具而已。
-
9 # 遺忘天國
JAVA/C/C++三者共同點是可以跨平臺,可移植性好!
Java主要wed開發,藉助虛擬機器可以執行在幾乎任何系統上;
大型程式或遊戲開發中堅是C++,C++還能相容C進行某些特殊庫/介面的開發,透過C/C++開發出來的東西是不用藉助虛擬機器就能直接執行的,執行效率是java不能比的;
C是基礎是底層與上層的橋樑,很多演算法庫/核心都是C開發出來的;
作為程式設計師不能只懂得上層華麗的表面缺不懂系統底層原理,任何系統/程式都要講究執行效率的。
-
10 # 社會觀察者—王蕪
國內的人都是人云也雲,其實c#目前語言和開發工具更加規範,不如JAVA的地方以前是跨平臺,現在這個問題也沒了。c#語言發展也一般來說超前與JAVA,語言麼都有相互汲取營養的問題,c#有官方維護和開發,JAVA依賴的是整個社會,那麼使用率和關注度可能更好,還有安卓平臺支援JAVA,C#開發安卓要有一些彎路,不過基於h5的開發就沒有這個問題了,因為對後臺是沒有限制的!
-
11 # 全能攻城獅
要以發展的眼光看問題!java就是一個60多歲的老人,雖然在網際網路行業幹了多年,但是效率低。c#是年輕小夥,可能早年由於家長管的嚴格,只在自家一畝三分地幹活,不允許在家以外地方工作。但是最近幾年換家長了,出門在外闖蕩了。但是效率高,未來肯定是C#的天下。就像2010年的時候flash,那時候絕對的王者,不也被淘汰了嗎????
-
12 # 日行四善
1、Windows伺服器授權貴,net程式設計師大多數不會linux平臺下開發
2、java先入為主,生態比net要豐富
3、現在培訓機構大多數都是java教程,net高階程式設計師不多
-
13 # TechGan
每次Java的排名開始下滑的時候,就會冒出各種這樣的論調,還有各路名字不可說的大牛CTO現身說法神馬的,從十年前開始,,,,不信自己Google一下。
我覺得有些名字不可說的大牛從Sun還在世的時候就唱衰微軟,直到今天Google用Java都被甲骨文告了,還不忘淳淳教誨後輩:WPF沒前途,效能差不相容,http://ASP.NET沒前途,伺服器都是Linux。
都十年了,這些大牛認個錯就這麼難麼?
我說的是,你們都唱衰十年了,現在Sun都給弄沒了,就不能承認自己當初看走了眼麼?都十年了,如果真的像你們說的,新公司都不用Windows Server都不甩.NET,怎麼解釋這貨今天還在這裡?怎麼解釋任何一個靠譜點的服務商、雲主機都提供Windows雲服務和伺服器託管呢?
-
14 # loxi
java和c#又不是敵對關係,這麼像的語言都會的人應該不少吧,只要能解決專案問題,什麼語言能解決問題就用哪種語言解決,有啥好糾結呀。但我比較喜歡用c#,因為c#語法好美。
回覆列表
不知道你從哪裡得來的資料,不是這樣。說到程式設計師,大家都想到網際網路,國內的網際網路是it最發達的,網購、遊戲統治了大片江山。加上新聞媒體的宣傳,讓大家誤以為網際網路是程式設計師的唯一工作。工業領域,c#用的更多。