Visual Studio 是不是坑了一代人?為什麼?


不是。因為Visual Studio千秋萬代,一統江湖。

可以在Windows和Mac上,用C++/C#/F#/VB,開發Windows/Mac/Android/iOS/Linux/Web/Cloud的程序。這不叫耽誤,這叫入行。


插一句:題主這個問題,讓我想起 n 年前一個前大哥跟我說,現在的程序員根本不會調試,遇到問題就打斷點,這也叫調試?你要記住,盡量不要打斷點,對你有好處。

這位大哥,我好像有點模糊的理解您的邏輯……問題是我今天晚上得發布,不打斷點我搞不定啊……

--------

沒有,Visual Studio 雖然有很好用的 GUI,但是那些編譯參數還是要你自己調的,vsproj 和 sln 文件都是可以自己改的,什麼自動編譯腳本、多渠道、持續集成,用 VS 完全都能做而且很方便。

說什麼 IDE 讓人不接觸編譯過程,那不是 IDE造成的,那是因為他們沒用 IDE 干過活,做 toy project 用什麼工具都不用接觸底層過程,看看官網的 get started 就夠了。

不過 VS 在很長一段時間裡確實讓人有點為難。我不知道 c# 怎麼樣,對於 c++ 應用編程來說 VS2008 (加番茄插件)簡直是個登峰造極的版本。事實上從 VS2005 開始,世界上其他 c++ IDE 加起來都不如 VS 好用。但是就整體環境而言,windows 不如 *nix 系對開發者友好已經不是一年兩年的事了,尤其是包管理體系和開源軟體的支持程度(畢竟是代碼搬運工)。最終造成的局面是,工作當中我是 VS 忠實的擁躉,哪怕需要做 linux 開發,只要不涉及底層,果斷用 VS 加跨平台庫編寫跨平台版,在 windows 上調通了到 linux 上編譯打包完事兒。

但是生活中如果想寫點代碼或者學習一下別人的代碼,我寧願用 linux 或者 mac。首先是依賴庫不用自己編譯,yum 或者 apt-get 一下就解決了。而且好多軟體的 windows 支持特別爛,不改代碼都編不過。本來我這人就特別缺乏耐心,碰到那種和文檔里說的不一樣的情況,常常就不想玩了。

直到後來轉做 js 了,才結束了這種糾結。一開始是工作用 mac,回家 ubuntu,後來我發現 macbook 其實算起來比 thinkpad 划算,就都用 mac 了。

我之前的很多同事,現在還在使用 VS2008甚至2005在 win7 上寫程序(不是他們落後,這套環境真的包打天下),我後來使用過很多編程環境,說實話都找不到 VS 那種感覺,一個是入門的簡單性,一個是強大的可能性,這兩者協調起來其實很難。Android Studio 就有點難入門,比如說那個編譯腳本,而 XCode 怎麼說呢……整個就是個不好使,「手感」不好。再一個編程軟體本身的性能也是很重要的,sublime有很多好用的插件,但是太卡了,lint 一下幾百毫秒,實在忍不了。

直到最近換了 vscode,覺得 npm 加 git 加 vscode 這套工具好使,而且是那種很穩妥很簡單的好使。而 vscode 又是微軟搞得,不得不服。


明明是NIKE,NIKE的廣告天天說JUST DO IT,很多人以為就是做IT,然後就走上了不歸路。

直到我國普及英語教學後,大家英文水平好了,搞明白了just do it不是要你去做IT了,新一代人才沒有被坑。所以NIKE坑了整整一代人。

反觀Visual Studio這名字真心良心,很多人以為是視覺工作室,一看就是攝影窮三代的東西,從一開始就避免了讓人入坑……

谷歌權威翻譯認證:


《我才是真正的程序員》系列之一

  • 用標準qwerty鍵盤寫代碼的都是辣雞。
  • 用顯示器看輸入反饋的都是辣雞。
  • 我們牛逼程序員都是電報機+紙帶(牛逼閃閃臉)。
  • 不用高電平低電平寫代碼的都是辣雞。
  • 寫完代碼還要改的都是辣雞。
  • 用高電平低電平寫完居然要執行起來才知道有bug的更是辣雞。
  • 用高電平低電平重寫個windows 10操作系統你都搞不定,還當什麼程序員!
  • 什麼?你竟然不知道在二進位的windows10 14393和10586在哪些位上不一樣?我的天哪!還以為是盡人皆知。
  • 真以為我們也用瀏覽器刷知乎?我們用http請求紙帶,列印出二進位紙帶,人腦翻譯成html,人腦解析html,最後在大腦中浮現出整個頁面,還能動態載入,明白了嗎?在座的各位辣雞~
  • 我們牛逼程序員,一天時間,一捲紙帶,插進機器就是windows 10 15063。
  • 看我的頭像牛逼嗎?

-----------------------------------------

評論區泥萌。。。


並沒有。


工欲善其事必先利其器,猩猩都知道用工具


我在上中學的時候聽到的說法是這樣的,用了VS你就不知道編譯C++程序的時候的鏈接過程是怎麼樣的!VS當初就應該做成命令行工具:

C:Koad&>devenv.exe F5 myproject.vcxproj

這樣就可以讓大家明白C++是怎麼鏈接出來的了(逃

==================================

說來,我來說一下2017年的新言論

  • 傻逼才debug,bug應該靠肉眼閱讀來解決——某著名內地程序員
  • 傻逼才測試


最後大部分人還不是知道了怎麼編譯鏈接的呀,知道就行了,幹嘛要命令行每次都輸一遍呢,會更爽?用命令行的相當於說你看我是怎麼脫衣服的,直接用ide的則說,哦,我都是讓她自己脫。有區別嗎,最後不都...關鍵還是技術好不好。


就是會很多命令行工具,懂了一些xx原理的一幫老鳥,對剛入門的只會按按鈕運行程序菜鳥的不忿。

大概心理真正的那句話是:「你也配寫程序」……


對,坑了一代沒用過它的人,浪費了這些程序員好多時間。

visual studio,誰用誰知道(趙本山臉),一般人我不告訴他(范偉臉)。


題主喜歡用命令行編程么?

如果沒有Visual Studio,不知道會有多少項目轉投其他陣營,整個行業格局會被改寫。


送你知乎上的一句老話:先問是不是,再問為什麼


VS 最大的惡就是用過後就再也回不去了,之後用什麼 IDE 都不順手。期待很久的 VSCODE 發布後就連我這個前端都再不用 webstorm 了。


一個IDE怎麼也談不到坑人,坑人的往往是自己。說VS坑人的大概就是放下筷子罵娘那種人。


不知道題主問的是哪一點,vs上其他語言用得少,姑且說vc的幾點

1 調試和提示方便,這個其實是一種開發方式選擇,人家選擇IDE和選擇vi只是習慣問題,沒有高下之分(當然在一個比較low的環境下,習慣後者的人會適應一些)

2 vc6的問題,這個分兩方面看,如果是這個版本本身,是有一些問題的(比如析構的調用時機的坑就被我曾經的項目踩過),當然你換了新版本會好一些,不過很多項目為了「兼容」老代碼而繼續使用vc6,可能就真的是一個問題了

3 C標準實現的問題,即便到了vs2013,有些特性還是跟標準規定得不同(比如integer literal的類型問題),這個的確有點坑

4 cl.exe的老式實現的問題,因為歷史原因,有類似「掃描一次」的做法,有些語法下可能跟其他編譯器有些區別

5 在win下干久了導致認知狹窄(拒不承認或難以理解C語言特性可能有N多不同實現,或ub)或養成可能不太好的習慣(匈牙利命名法的辯思),貌似這主要是程序員自己的鍋,雖然的確有不少這類人,但其他平台也有類似情況,只不過,用其他平台的人也會同時用win辦公娛樂,所以情況會好些


不知道多少人盼望vs出全平台啊。


顯然是沒有的。

vs是成熟IDE的代表之作,也是IDE流派的重要開創者。IDE其實並沒有降低開發或者技術的門檻,相反,IDE的作用是大大的提高了軟體工程師的開發效率。軟體工程師和計算機科學家是不一樣的,他們完全可以用記事本寫程序,但是現代的軟體工程師就不行,他們必須考慮成本和效率。

IDE的開發效率雖然高,但不意味著技術的門檻和難度降低了。比如VS中基本有完善的UI窗體設計功能,但是做複雜的UI窗體,也不僅僅是托拉拽就能解決的。

IDE是現代軟體工程的產物,最早誕生的IDE我認為應該是早期 borland (感謝網友

可口的大橘子)公司的Pascal 語言開發IDE( Turbo Pascal),基於字元窗口。

人的技術沒有進步,怎麼能夠去責怪工具太好用,太順手了呢?其實你如果熟悉vs,那麼切換到其他語言的開發IDE上,其實也不會有太大的難度。

說白了,我認為,軟體領域裡面有太多不合格的從業人員,因為在軟體行業出現的早期,軟體開發人員十分的匱乏,導致大量不合格的人流入到這個行業之中。他們不思進取,不努力提高自己的能力,不能認識到軟體行業本身就是一個快速發展的行業,故步自封,然後居然責怪是因為IDE的緣故。明顯是本末倒置嘛。


給你說這個的是想坑你吧。Visual Studio是這個星球上最好的IDE。唯一有可能和它比肩的只有JetBrain全家桶。


早上吃了個早餐之後肚子疼,結果肯德基廁所又排長隊,可能是因為Visual Stuido的原因(手動滑稽


VC + MFC + 國內部分流行教材在坑人

尤其是最後一者,當時有 Borland 但是國內用的不多...可能是國內教材的緣故


推薦閱讀:

Visual Studio Community 2013在編譯和運行時與Visual Studio Professional 2013有什麼區別?
VS2015編寫的C++程序發布到全新的Win7系統需要什麼條件?
公司必須用vs2005生產,可是我想用vs2013來編寫,然後用vs2005編譯,有什麼好辦法嗎?

TAG:MicrosoftWindows | 編程 | MicrosoftVisualStudio | 編譯器 |