用慣了 C# 之後再也不想用別的語言了,正常嗎?

C# 的 intellisense 太好用了,給出函數提示,參數說明,還有簡單解釋,以至於很多時候都不用查文檔。以至於再用別的語言,感覺像一夜退回解放前。

剛才又用了下 Python,無法忍受每寫一行都要查文檔,系統自帶的庫也是。主要是寫著玩的小程序,不想花太多時間

我想知道這樣正常嗎?沒問題的話,除了工作不得不用,自己寫著玩的 C# 能幹得了就用 C# 了。


挺正常的,我也是這樣的,

簡單說,比C#語法更漂亮的沒有.NET Framework這麼大的庫,有這麼大庫的沒有C#這麼漂亮的語法。再加上神級IDE VS加持(但話說這個只是加分項),所以基本不想用別的語言了。

其實C#的對手只有同根生的F#和VB。


我覺得Visual studio的功勞更大吧 :)


你們不要嘲笑題主,題主能有這樣的問題,是因為C#本身就是一個面向IDE的語言(IDE oriented language)。

C#歷代的語法和特性,無不是伴隨著對IDE的深愛和妥協而設計出來的。IDE所hold不住的語法和特性,(幾乎)一定不會出現在C#身上。

C#為什麼沒有宏?因為IDE hold不住。

C#為什麼擁抱了范型而不象C++那樣搞個模版?因為IDE hold不住。

C#為什麼不搞鴨子類型?因為IDE需要強類型才能給你intellisense(Dynamic不算,那是個妥協的產物)。

C#為什麼敢搞lambda表達式、LINQ、匿名類型這種複雜的東西?因為它對IDE有信心,有強類型做靠山,IDE可以做類型推斷。沒有IDE你去寫寫LINQ試試?

當然,以上所說的這些,IDE可能並不是唯一影響設計決策的因素,甚至可能不是最重要的因素,但從其中無處不能看出對IDE的妥協的影子。

更多的,C#希望能把所有在編譯時能發現的問題,在編碼時就能完全暴露出來。IDE的核心就是一個需要快速響應的編譯器,因此C#永遠不會設計出超過IDE的響應能力的複雜度。


連語言和編輯器都分不清……


程序員喜歡某個編程語言、不喜歡某個編程語言,這都是很正常的,為什麼要擔心這些。這又不代表你就學不會別的東西是吧。


如果寫代碼的時候大部分時間都花在「寫代碼」上。。。


自己用過很多種語言,個人感覺如果僅僅從語言層面講,C#是非常好的一個語言。

C#很多地方和java很像,比如完全的面向對象、使用using和命名空間來載入庫(和java的import差不多)、垃圾收集器、編譯成位元組碼等等。

而且java很多反人類的設計C#並沒有,比如int的重包裝,在函數中聲明拋出的錯誤等,泛型和介面的設計也比java更合理。

當然最重要的就是函數式編程。C#的函數式編程是非常完善的,對閉包和匿名函數也支持的很好(沒有python的奇怪的問題)。C#的函數式編程簡直好用,很多時候它和你的思維是一致的,而且可以降低編碼的錯誤。

java1.8的stream我也用過了,我只能說int和Integer的不統一是java永遠的痛啊。。。

C#還有個什麼地方好用?當然是VS了。(下面是放地圖炮時間——)我至今用過的所有的IDE,就沒有碰到比VS更好用的。很多時候它會知道我想調用什麼方法,比如我在write函數里寫下一個對象名,然後按個點,之後彈出來的小窗口上就會自動定位到ToString()方法。

它的系統內部庫的功能也設置的十分直觀,而且如果我不明白怎麼調用,會有一個小標籤彈出來告訴我怎麼寫。可以說VS的強大讓開發C#的過程更加容易和方便了。

嗯,以上就是我喜歡C#的原因。

下面來說說缺點吧:第三方庫太少!如果我面向的是普通消費者,我並不介意跨平台。我不認為跨平台的java在Windows上比C#更有優勢。但是第三方庫太少這個就不一樣了,我之所以大部分時間還在用java開發的原因是:很多功能我只要去搜索一下,拖下一大段庫來,就能直接調用了。而C#就搜索不到這些東西,如果一定要我就要自己實現了。


Python也可以不用每一行都查文檔啊~~

比如:

1. import自動提示(boto這種自己安裝的第三方模塊也可以喲~~)

2. 函數參數:

3. 滑鼠懸停查看文檔:

嘿嘿嘿……

中國有句老話,叫做工欲善其事,必先利其器。別老抱著UNIX電傳打字機時代的那些化石級遺老遺少不放了。


正常,語言高級,庫又全,開發工具牛逼,文檔全而且還都有中文版,性能也夠,只要不是對性能要求特別苛刻的場景,例如遊戲引擎,後台又硬,各種支持也不錯,要是能支持Linux平台就好了


發現真的很多人埋怨VS很昂貴,和人力成本比起來大概真的很貴。當然,選擇非MS系的平台或者語言有很多原因。但是,如果一個企業真的因為VS很貴,MS-SQL,MS Server很貴就選擇了其他免費平台,而寧願砸錢僱傭更多人來維護的話,而你又是那一個,還是早點換公司吧——你老闆把你當替代VS和MS-SQL的工具使呢。。。

這麼想,我還挺感激我們公司的。我這麼水,公司還給我們買pluralsight 的賬號來讓我們下班後學習呢。。。

和題主問的沒關係噢。。。額,補一句,如果真的喜歡C3,關注Rx,F# 和typescript吧。


當初學生的時候我想做網站,面臨在php、java、c#中選個作為入門,開始選擇了php。在使用了類似於記事本的IDE一段時間之後一次偶然使用了visual studio 2010之後,我當時爆出一聲:這TM才是編程啊,爽! 當年那逗比樣現在還記得,從那開始一直使用c#到現在,覺得挺好,沒有什麼不合適的。當然入門之後可以向其他的拓展。


IDE和語言傻傻分不清,但是你從側面證明了VS是最好的IDE,沒有之一,哈哈


呵呵,你這程度也算「用慣了c#」,估計軟粉都覺得丟人呢。


微軟的ide確實是非常棒


c#是很好用的語言文檔很全但也不至於不用看在線文檔的地步 我過去項目兩年c# + wpf現在項目四個月c++ + qt,都用vs,語言層面c++11還是超出c#很多


以下評論請在PC端查看,移動設備上可能會出現格式不正確。

1.delphi好用吧?設計者被微軟挖過來設計C#,所以C#能不好用嗎?

2.C#發展晚,更新換代快,吸收了各種語言的優點,所以C#能不好用嗎?

3.太陽系最強收費IDE:VS,加上無腦滑鼠流的Windows,再加上故意對程序員做各種效率優化的MSSQL等等,所以C#用起來能不舒服嗎?

但上述只是它的優點罷了。

1.論開源組件、方案、使用率,比不過Java。

2.論整體成本,比不過Linux環境。

3.跨平台非常非常麻煩且不穩定。

談談Python。

1.Python真的是一門好語言。建議你找本書認真學學,然後就會發現它的趣味。

2.我用Python代替腳本。Win和Linux的腳本太操蛋了。

3.VS支持Python,但別高興,僅僅只是支持而已,用VS寫Python的舒適度並不高。建議試試別的IDE,說不定有驚喜!


這樣其實對職業發展不好的,只會一門語言也不好,我是從c#轉到python的,果斷丟棄的。感覺進去了一個全新的世界,一個新的樂園,有很多友好的朋友分享資料,接觸了好多新的知識,現在開發環境已經遷移到了linux下,因為windows下不支持或者支持的不好。建議多接觸新的知識。


Python IDE amp Django IDE for Web developers : JetBrains PyCharm


你說的是微軟的IDE很酷,而不是C# 語言本身,用慣了微軟的產品,確實會這樣,不過,建議你去嘗試一下其他IDE和其他平台,比如Mac OS上的Xcode , 比如 eclipse , Netbeans, 比如Linux/unix上的vim , 比如 Textmate ...

另外,c#是一個語言,除了它多看看其他不同類型語言,比如:Python , ruby, go, R ...

windows平台只是一個平台,不要把它當成全部


那是VS強大

其實其他IDE也有智能提示系統

但可能都沒有VS+VA那麼強大。


推薦閱讀:

要怎麼努力才能達到 vczh 那樣的層次?
在 C++ 入門之後,是堅持學完並熟悉 C++ 好,還是改學習其他語言好?
誰能通俗易懂的講解下C#中的集合?
這些書閱讀的先後順序是什麼?

TAG:程序員 | 軟體開發 | 編程 | C# |