- 電腦開機, 從硬盤中(外部存儲設備)加載操做系統(系統軟件)到內存(內部存儲設備), 並運行操做系統
- 下載QQ軟件(網絡請求)到本地電腦磁盤中(外部存儲設備), 安裝後, 雙擊運行(加載到內存, 並基於操做系統經過CPU執行程序內的指令)
- 經過QQ發送語音或視頻: 使用麥克風採集音頻或者連同攝像頭採集視頻(輸入設備), 發送給對方(網絡請求)
- 因此, 基於以上, 咱們編程主要指的是根據需求, 使用某一種編程語言, 編寫出不一樣的功能代碼(網絡請求, 數據處理, GUI界面展現等等), 最後結合各類文檔素材(程序圖標圖片, 音頻, 配置文件等等) 組成一個完整的"應用軟件"; 打包好相關的執行環境, 供他人運行使用.
首先搞清楚, 一個項目開發的部門組成, 大體以下:
(1) 產品經理
負責制定需求, 產品原型圖的設計, 和程序員幹架等
就是, 我們作的到底都是啥玩意, 哪些功能要作, 哪些不要作, 好比, 讓手機殼隨着用戶心情變色; 這都是極品產品經理;
還有一個可怕的就是, 像一些小公司, 啥都不懂的老闆也會跟着提需求; 和老闆合做的其餘老闆, 也會提一些神奇的建議(誰讓別人是甲方呢); 此時, 有節操的產品經理還會反抗, 沒節操的, 哎, 都轉移給了開發人員... 去作吧, 老闆說的, 一句話, 咱們開發人員就想着法弄吧
(2) 項目經理(有的兼任開發人員);
根據原型圖負責將需求轉換成實施步驟, 搭建好基本的項目結構, 並配置好源代碼環境; 分配給不一樣的小弟去作; 還會調度其餘部門, 好比美工, 來提供相關素材; 並且, 項目經理會跟進項目開發進度, 就是看着你幹活, 天天作的啥玩意; 有的技術難點小弟搞不定, 就得本身上;
(3) 各角色開發人員
職責就是根據分配的需求, 進行代碼實現, 簡稱"碼農", "碼畜"...
一般除下編寫代碼外, 還須要背鍋
開發大體分爲前端和後端, 無論你處於哪一端, 都須要和另一端人溝通; 好比後端, 須要提供接口, 編寫好接口文檔; 前端根據接口文檔發送請求, 獲取和上傳數據;
二者之間, 相親相愛, 一塊兒調Bug, 一塊兒和提出惡意需求的產品幹架;
因此, 除下敲代碼外, 鍛鍊好身體也很重要;
(4) 和隊友打交道
通常咱們開發, 不多一我的獨立開發, 根據項目大小不一樣, 分配的人員也大概在3-5人最爲常見; 與他們溝通是最多見的事;
並且通常項目任務劃分, 是模塊化, 組件化, 或者先後端分離等等方式, 儘量保證你們都能同步開發, 而互相不干擾; 否則倆人作同一個功能, 那就亂套了;
此時, 最須要注意的問題, 實際上是在於代碼合併的問題; 也就是源代碼管理工具(git/svn); 你能夠這麼理解, 咱們你們寫不一樣功能的代碼, 最終確定要合到一個地方組成一份完整的, 可執行的程序代碼;
但由於一個項目代碼, 無論怎麼劃分, 都確定有一些公共部分代碼, 那此時, 你們的對公共部分的代碼修改就可能在提交時產生衝突;
此時, 要求咱們如下幾點:
(1) 修改公共代碼時, 說一聲;
(2) 天天開始編寫代碼前, 儘量先從服務器下載最新代碼;
(3) 別亂刪別人東西, 也別改別人代碼, 讓別人本身改; 切記
(4) 沒事多寫點註釋, 否則你們無法溝通, 特別是寫SDK的; 否則很容易被打, 雖然每一個程序員本身都不想寫, 但都要求別人寫的;
(5) 儘量寫完一部分代碼就提交, 避免產生大量衝突; 並且要先提交, 一旦產生衝突留給隊友解決; 你回家吃飯;
(6) 多作測試, 提交正確代碼
(7) 測試時, 單獨開一個分支(理解爲單獨一份代碼); 別直接在正式項目那份代碼中作
(8) 對新人好點好伐? 你們都是這麼過來的前端
機器語言
- 所有都是由0和1的二進制代碼組成, 能夠由計算機直接執行, 效率最高;
- 但由於人看不懂, 很差理解, 因此不適合編程使用;
例如
1+1 對應代碼以下
0000000000000001 1101100100 0000000000000001git
彙編語言
- 使用了一些助記符來代替0和1, 相對來講更好理解一些;
例如
1+1 對應代碼以下
mov ax,1
add ax,ax
- 最終仍是要轉換爲機器語言執行, 多了一層轉換, 因此效率低於機器語言;
- 通用性依然不強,理解較差,學習曲線大, 編寫大型程序繁雜;
- 但由於其效率高, 因此在某些特殊行業中,仍是有很多使用;程序員
高級語言
- 接近於人類天然語言的單詞和符號來表述低級語言(機器和彙編);
例如
1+1 對應代碼就是 1+1
- 可閱讀性, 可移植性較高
- 缺點就是效率不如機器語言和彙編語言高;編程
- 定位
一門解釋型的高級編程語言
也能夠說先編譯後解釋
由於無法嚴格的劃定編譯和解釋的概念
- 做者
Guido van Rossum(吉多·範羅蘇姆), 人稱「龜叔」
荷蘭人
1991年初,Python發佈了第一個公開發行版
- 特色
簡單
語法簡單
豐富的庫支撐
優雅
可移植性
代碼規範性
膠水語言
- 應用領域
Web全棧開發
圖形界面開發
大數據
人工智能
爬蟲
系統網絡運維
雲計算系統管理
...
- Python版本
目前流行版本兩個
Python2.x
Python3.x