編程入坑指南

前言

又是一年開學(xué)季,回想去年,還是新生的我踏入校園,雖然腳下的路走得踏實(shí),但是夢想的路,卻很迷茫。

熱愛編程,卻不知道如何入門,這大概是很多新生共同的疑惑,距離開學(xué)已沒多久,我?guī)У膶W(xué)弟學(xué)妹一只手已經(jīng)數(shù)不過來,總是給他們講著一樣的東西,突然想到,為何不直接把經(jīng)驗(yàn)寫下來,讓他們慢慢看,既能培養(yǎng)他們的自學(xué)能力,也可省下我的一些時間

編程其實(shí)并不難,先理解下面幾組概念

概念

文件、文件夾、路徑

很多同學(xué)使用的電腦都使用的是Windows系統(tǒng),文件是依據(jù)后綴名分類的,不同后綴名代表不同類的文件,雖然這樣理解沒有錯誤,但其實(shí)是條彎路,沒必要這么麻煩,文件就只簡單的分為兩類,文本(字符)文件 和 二進(jìn)制文件,雖然文本文件也是二進(jìn)制儲存的,但是它的內(nèi)容是人類能看懂的字符,比如英文,中文,或者其他有意義的符號集,這些符號雖然人類能看懂,但是電腦不認(rèn)識,電腦只知道電路的開閉,也就是1和0,二進(jìn)制文件就是人類看不懂但是電腦看得懂的文件,也就是全是010101的文件。

文件夾顧名思義就是用來裝文件或文件夾的,這個很好理解。

路徑,文件和文件夾儲存在硬盤中,硬盤可以理解為一座大城市,文件和文件夾就視作房屋,想要在一座城里找到具體的某一間房,當(dāng)然要知道這間房的具體地址才行,不然一間一間地去排查嗎,這個地址,也就是所說的路徑,想要在硬盤中找到某個文件或文件夾,就需要知道它們的路徑才行。

編輯器、編譯器、編程語言

前面說了文件分兩類,一類是人能看懂但是電腦不能看懂的,一類是電腦能看懂人看不懂的。寫代碼,其實(shí)就是在編輯一個文本文件,會使用到編輯器,我們寫的代碼當(dāng)然能看懂是什么意思,但是電腦不懂代碼是什么意思,那么想要讓電腦知道代碼具體的意思,就需要一個“中間人”來做翻譯,這個“中間人”就是編譯器

所以,編輯器是用來編輯文本文件的(也可以編輯二進(jìn)制文件)

編譯器是用來將文本形式的代碼轉(zhuǎn)換成對應(yīng)的機(jī)器碼的(轉(zhuǎn)換過程就叫做編譯)

編程語言有很多種,如 C/C++、 Golang、 Java 等等,但實(shí)際都是殊途同歸,不同語言適用的場景不同罷了,不同語言之間的根本區(qū)別,其實(shí)就是對應(yīng)的編譯器(靜態(tài)語言是編譯器,動態(tài)語言是解釋器)不同,所以想使用一門語言進(jìn)行編程,只需要有語言對應(yīng)的編譯器(解釋器)就行了

圖解

一些簡單的概念講了,可能會有些難以理解,下面就配合圖片來解釋,形象一點(diǎn)

后綴名不同的三個文件

但其實(shí)都是文本文件

二進(jìn)制文件

有意義的執(zhí)行結(jié)果

編輯器打開二進(jìn)制文件(為了方便,二進(jìn)制碼通常用十六進(jìn)制簡短表示)

文件夾

文件和文件夾的區(qū)別,前面有d的表示directory,即文件夾

路徑

使用編輯器編輯文本文件

甚至編輯二進(jìn)制文件(通常意義不大)

PS:好用的編輯器推薦,Sublime TextVS CodeAtom,非圖形界面編輯器Vim(神器,強(qiáng)推)
編譯器一般都是命令行調(diào)用,圖示為調(diào)用gcc編譯C代碼

調(diào)用Go編譯器編譯Go代碼

PS:經(jīng)常聽到的IDE這個詞,其實(shí)是 Integrated Development Environment(集成開發(fā)環(huán)境)的縮寫,也就是 編輯器 + 編譯器 + 許多提高效率的小工具

完整流程圖示

Mac

先找到自帶終端(任何shell應(yīng)用都可以)并打開

打開后看到類似窗口
  1. 輸入cd Desktop 并敲一下enter鍵
  2. 輸入touch hello.c并敲一下enter鍵,可以發(fā)現(xiàn)桌面上多了一個叫做test.c的文件
    hello.c
  3. 使用文本編輯器打開這個文件
    當(dāng)然,用其他的編輯器也都是可以的
  4. 在打開的編輯窗口里面輸入下面圖示內(nèi)容
    注意其中的符號都是半角符號
  5. 輸入完成后,保存(command + S),然后關(guān)閉窗口
  6. 在剛才的終端窗口中輸入gcc -Wall hello.c -o hello并敲一下enter鍵
    可以發(fā)現(xiàn)桌面上出現(xiàn)了一個hello文件,就是剛才用gcc編譯出來的可執(zhí)行文件
  7. 再在終端中輸入./hello并敲一下回車鍵
    可以看到,終端中輸出了Hello World字樣

    如果上面這些步驟都能夠理解,那么相信你應(yīng)該知道如何在Mac上進(jìn)行簡單的編程了

Windows

  1. 安裝編譯器
  2. 新建文件
  3. 編輯文件
  4. 編譯生成可執(zhí)行文件
  5. 測試運(yùn)行

Linux

Linux 和 Mac 都是有強(qiáng)大的終端的,操作基本一致,參照Mac

編程語言特點(diǎn)介紹

學(xué)校開設(shè)

咋們系大一上學(xué)期開設(shè)C++的基本語法課程,只講 類和對象(不包括) 之前的內(nèi)容,但推薦自己把全書看完,全書因?yàn)閮?nèi)容淺顯易懂,對自己要求高的同學(xué),建議一周閱讀完,能力有限的同學(xué),建議兩周讀完,讀完后進(jìn)行自學(xué)(如果不知道讀完之后學(xué)什么,可以聯(lián)系你們的學(xué)長)。
大一下學(xué)期開設(shè)Java課程,講的內(nèi)容也只是基礎(chǔ)語法。
學(xué)習(xí)完一門語言的基礎(chǔ)語法后推薦學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法

C

  • 接近底層,可以在裸機(jī)上跑
  • 高級語言中效率最高,達(dá)到匯編的80%
  • 面向過程
  • 沒有GC,很多指針需要自己釋放,需要程序員很細(xì)心

C++

  • 萬能的
  • 面向?qū)ο?/li>
  • 標(biāo)準(zhǔn)庫
  • 大量的三方庫

Java

  • 完備的類庫
  • 優(yōu)秀的生態(tài)
  • Apache、Alibaba 等優(yōu)秀公司
  • 用戶基數(shù)大
  • JVM 各種配置
  • 運(yùn)行在虛擬機(jī)上,跨平臺

PHP

  • 動態(tài)編程語言
  • 編程范式難以統(tǒng)一
  • 面向?qū)ο蟛糠衷O(shè)計(jì)過于復(fù)雜
  • 對 MySQL 支持好
  • 解釋執(zhí)行,需要單元測試覆蓋率保證

JavaScript

  • 優(yōu)秀的生態(tài)
  • 全棧
  • EggJS/Ant Design/Element UI
  • 函數(shù)第一,相對不易理解
  • 語言規(guī)范仍在快速發(fā)展

Python

  • 科學(xué)計(jì)算
  • 數(shù)據(jù)分析
  • 人工智能
  • 動態(tài)語言

Golang

  • 靜態(tài)類型
  • 編譯完成的二進(jìn)制對系統(tǒng)零依賴
  • 代碼規(guī)范統(tǒng)一
  • 簡化到極致的并發(fā)模式,內(nèi)建的 HTTP 支持
  • 促進(jìn) Docker、云的發(fā)展
  • 面向接口

書籍推薦

編程語言入門

《The C Programming Language》

數(shù)據(jù)結(jié)構(gòu)與算法

《算法導(dǎo)論》《大話數(shù)據(jù)結(jié)構(gòu)》《算法》(第四版)《算法競賽入門》(第一二版)

計(jì)算機(jī)理論

《深入理解計(jì)算機(jī)系統(tǒng)》《計(jì)算機(jī)組成原理》《編譯原理》

網(wǎng)絡(luò)

《TCP/IP詳解》(卷一二)《計(jì)算機(jī)網(wǎng)絡(luò)(自頂向下)》《圖解HTTP》

數(shù)據(jù)庫

《數(shù)據(jù)庫系統(tǒng)概論》

Linux

《鳥哥的Linux私房菜》《深入理解Linux內(nèi)核》《Linux內(nèi)核源碼解析》

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)自http://blog.csdn.net/xugangwen/article/details/44811783...
    扎Zn了老Fe閱讀 12,827評論 1 142
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,466評論 25 708
  • 身邊總有些人火氣很大,精力旺盛的沒地方用了一樣,看到一點(diǎn)不順心,就開始發(fā)脾氣。 可是,有沒有想過,因?yàn)槟愕钠猓瑢?..
    大鳴白閱讀 662評論 0 4
  • 此刻, 2016年12月2號15點(diǎn)18分 我在成都,天空有點(diǎn)暗,太陽早也不知道躲去了哪里。第一次打開簡書,想要嘗試...
    木呆帶閱讀 214評論 0 1
  • 桃花塢里桃花庵,桃花庵下桃花仙。 桃花仙人種桃樹,又摘桃花換酒錢。 酒醒只在花前坐,酒醉還來花下眠。 半醉半醒日復(fù)...
    木筱茜閱讀 333評論 5 1