不該該脫離開發環境空談程序設計語言

當談到程序設計語言,一些網民會發一些「隨便」 「掌握了本質」「IDE不重要,語言和程序設計方法重要」等等假大空的言論,這種言亂流傳很廣,每當有人想學點編程,這些人便會出來大放厥詞。編程

我以爲有必要對這個問題作一個澄清,好比C語言開發環境,Windows上是Visual Studio C++,集成開發環境,所謂的集成,意思是程序編輯,編譯、運行、調試都集成在一個圖形界面下,Visual Studio C++是一個不可分割的總體。網絡

若是,你在Unix/Linux系統上作開發,可能多數人選擇VIM/Emacs做爲程序文本編輯使用,使用gcc/g++或者clang做爲C編譯器,也許會用gdb命令行調試程序。若是你使用LInux做爲桌面系統,也是有IDE讓你使用的。可是,Linux下的開發彷佛不太鼓勵使用IDE,而是讓你有所選擇,合適的文本編輯程序,合適的編譯器。工具

中國學生學C語言,一般都是Turbo C -- 其實,這是一個Dos下的開發環境,16位的,Windows 32上也可運行。Turbo C下沒法使用C++,不能使用WIndows API。性能

若是說Turbo C和VC++使用的是兩種不一樣程序設計語言-- C和C++,那麼VC+++和QT、Dev C++則都是使用C++,而這些有什麼區別呢?除了圖形界面能看得見的地方不一樣外,最大的多是支持不一樣的編譯器和程序庫。學習

這三者的編譯器都支持標準C++,都能使用WIndows API。不一樣之處,VC++固然大可能是使用微軟本身開發的程序庫了,QT則用了跨平臺的QT庫,方便你寫出跨平臺的程序,Dev C++則是一個開源的IDE,除了Windows版本,也有其餘系統的版本。網站

總之,當你編寫程序要完成具體的任務時,你去找相關的程序庫,會發現不一樣的IDE默認會提供不一樣的程序庫。有些IDE支持你從網站下載其餘的一些擴展庫。命令行

由於這種差別,致使即便是相同的C/C++,完成編程任務的差別很是巨大的。不要輕視IDE自帶庫這種行爲,IDE應當選擇哪些最好的庫,程序性能最好,文檔最好,最方便跨平臺... 可是這些指標不少時候是矛盾的,當你要求跨平臺時,要求性能最好,彷佛有點難。翻譯

商業IDE一般是文檔最好的,中文文各類版本,好比MSDN。而開源IDE彷佛差一些,全靠愛好者自願編寫翻譯。設計

當你使用Visual Studio C++編寫圖形程序,你一般使用微軟提供的圖形庫。難道還有其餘選擇麼?幾乎沒有。基本上,不會有人自找麻煩,想跨平臺,使用QT,而後又跑去使用VSC,不是嗎?Visual C下可使用gtk圖形庫,但不是默認安裝的,須要本身下載庫,作不少工做。3d

IDE及其重要,由於語言特性實際上是不多的,一般語言關鍵字不超過100個,而庫則有千萬種。僅僅知道語言關鍵字、語言特性,其實你什麼事情都作不了。

當你編寫圖形程序時,要使用圖形庫,網絡庫、3d庫、可視化庫...

IDE除了針對某些特定程序設計語言、更重要的是庫,可能還包括虛擬機以及其餘工具。

即便是語言自己,不一樣的編譯器也支持不一樣的特性。難道,你不應學習各類特定編譯器的特性嗎?我想任何一個有追求的程序設計者都但願瞭解不一樣的編譯器的特性,寫出該系統上最佳的程序。

語言、庫、各類工具以及IDE。實際上,學校裏學習程序設計語言就比如咱們學語文,寫做文,可是你學了語文,不表示你能寫各類大部頭,三國演義,水滸傳。而真正的軟件,特別是商業軟件,即便是小規模的軟件,字數都要比文學名著多。

語言是基礎,是任何人都能掌握的。而構建於語言之上的各類庫纔是更加劇要的。特別是對於開發者。

相關文章
相關標籤/搜索