Visual Studio作為一款基本完整的開發(fā)工具集,包含了軟件開發(fā)生命周期中所需的大部分工具,加之其擁有微軟云服務及人工智能技術的支持,成為了現(xiàn)在很多程序員編程的首選工具。但是,總有年輕的程序員會在工作中被老程序員勸誡不要過度使用Visual Studio(當然,也可能是其他簡單方便的IDE)進行編程,而應該從使用記事本這類工具入手,這讓很多年輕程序員不理解其中的原因。
不僅僅是高度集成、代碼自動完成的各類IDE,隨著技術的發(fā)展,編程這件事正在變得越來越簡單:
1、編程開始從娃娃抓起,各類圖形化豐富、操作簡單、功能強大的工具出現(xiàn)。
2、人工智能時代,許多機器主動承擔起簡單編碼工作,成為程序員的得力助手。
3、人工智能時代,程序員的主要任務是訓練機器??上У氖?,這項工作,機器也可以完成。比如,谷歌最近公布的AutoML Vision,可以自動設計機器學習模型。
綜上,編程這件事正在變得越來越簡單,那程序員為什么不順應時代潮流,選用既省力又省時的編程工具,偏偏要用麻煩、費時費力的記事本呢?
倡導年輕人從記事本入手的老程序員的理由大體如下:
1、希望年輕的程序員(在他們眼中,這類人基本相當于初學者)能夠?qū)W會通過makefile、premake、gulp等build工具,自己搭建工程環(huán)境,生成用戶可用的模塊或者可執(zhí)行文件。這個過程,可以讓程序員理解整個項目軟件周期中每一步的具體意義,為日后的大型項目開發(fā)積累經(jīng)驗。
2、不要局限于現(xiàn)有的高度集成開發(fā)工具,比如Visual Studio。要具備學習掌握不同工具的能力。
3、由于這些老程序員年輕的時候基本都是從在命令行或記事本上敲代碼開始的,這些經(jīng)歷容易讓他們對現(xiàn)在年輕人直接從IDE開始編程的方式看不慣,他們認為年輕的程序員錯過了很多磨練和成長的機會。
但是,像Visual Studio這些工具之所以出現(xiàn)在我們的生活中,歸根結底還是滿足人類需要的,證明程序員需要這些工具。年輕的程序員對此有自己的看法,他們認為:
1、項目周期本來就短,選用方便、集成度高的工具可以盡可能縮短開發(fā)時間、減少錯誤率。
2、如果只是為了編兩行“hello world”,沒有誰會認為記事本不可選。但如果是大型項目,使用記事本簡直是“慘不忍睹”。
3、完成同樣一份工作,拿著同樣的薪水,沒有人會特意繞遠路選擇“不順手”的工具。
4、這種建議看起來就好像曾經(jīng)江湖上“真正的程序員用C++(MFC)”和“聰明的程序員用Delphi”之間的爭論一樣,看一件事情不應該夾雜太多情懷或者主觀臆斷,只看對錯是最簡單的方式。如果Visual Studio為代表的工具有效,那就應該被提倡。
5、年輕的時候不學會如何用各種IDE,老了根本就學不會了!
說到底,作為優(yōu)秀IDE的代表,Visual Studio具備的強大功能足以讓一個程序員完成想完成的事情,真正的王者不會被編程工具所困住,掌握代碼之間的邏輯關系才是重要的。這些工具既然已經(jīng)將底層封裝好了,就是希望程序員將更多的精力放在代碼本身。
你對此怎么看呢?你認為年輕的程序員是應該從記事本編程開始,還是選用Visual Studio一類強大的工具呢?