簡單來說,就是編寫編定程序,讓計算機代碼解決某個問題,對某個計算體系規定一定的運算方式。
所謂編程,就是:讓計算機根據你設定好的流程去做事。
計算機又俗稱爲電腦。這樣的稱呼,其實就是把計算機當做人類類比了。
那我們人類是怎麼樣讓別人來做事情?用嘴、寫信、發短信、發微信、這些使用什麼?語言!!!
同樣,只有特定的計算機能聽懂的語言,就是編程語言
爲什麼先學python?
編程語言有這麼多種,我們爲什麼需要講解編程基礎入門選擇Python呢?
容易學
Python語言本身簡單易學(相比其他:如C C++ java編程語言),可以很快上手
首先,因爲它的抽象級別更加高級,更加接近我們人類的自然語言和平常的思維方法。相對容易學習
其次,Python語言具有豐富的'內置庫和海量的第三方庫。使得我們不需要重新先開發各種應用庫,站在巨人的肩膀上,拿來就用,有時候就像搭積木一樣。
有人說:很多情況下完成同樣的事情,C語言需要1000行代碼,java需要200行,而python呢?僅僅只需要50行代碼,可能略顯誇張,但是這個也從一個方面反映了python相對容易上手
目前國內外好多學校已經逐漸普及python教學
學習這門語言之後,能夠做些什麼呢?
例如:
1、工具開發(包括工具開發)
IT行業的工作人員,有大量的重複性工作。我們可以使用python開發出一些工具,來幫我們完成。例如:代碼打包,部署生產環境,備份數據
從網站抓取數據進行分析等。
對測試人員來說,測試工具是不可獲取的,很多情況下都可以使用Python快速的開發
2、web服務
現在web服務的需求已經非常的'普遍,對網站的開發量需求也在不斷增加,有了python語言的基礎,再去學習一些web框架,成爲初級web後端開發人員問題不大
常見的python web服務應用框架有:
Django、Flask、Torndo、Pyramid、Bottle
有人說python不適合開發大型網站。那麼是不是這樣,實際上請看下面網站,有些事億級用戶的
他們的後端應用框架都是基於python的
youtube、豆瓣、知乎
編譯型語言和解釋型語言
程序語言有很多種,大家或許聽說過彙編,C、C++、java、Ruby、python、C#、JavaScript等等
其實對於計算機CPU來說,上面的語言它一個也聽不懂。那它懂得是什麼?其實是二進制機器碼(機器語言),有和1組成的代碼串。
而且不懂得架構cpu懂得的二進制機器碼是不同的。比如ARM和x86的CPU
早期的程序員,真的就是通過帶有孔洞的卡帶來讓遠古計算機幹活的。有孔的地方爲1,無孔的地方爲零
回到我們上面一個問題,像彙編,C,C++這樣的語言,最終是通過編譯器編譯鏈接成了機器代碼(可執行文件)直接說給cpu聽
而python、Ruby這樣的語言,則通常由一個叫做解釋器的軟件,翻譯過來給CPU聽。
1、簡單的說,“編程就是指導計算機執行任務的行爲”。編程通常被認爲是編碼。
2、當我們使用智能手機的時候,有部分代碼運行的在後臺不可見的。再比如在電腦上將鼠標從一個地方移動到另一個地方,看起來很簡單,但實際上,這需要運行很多行代碼。
3、在Google Docs上輸入文字這樣一個看似簡單的操作,在後臺也需要運行相當多的代碼。代碼隨處可見。
4、就像人類一樣,機器也有屬於他們的自然語言。但計算機無法理解人類的'語言。計算機的自然語言實際上是二進制代碼(binary code)——1和0。它們代表了兩種狀態:有(1)和無(0)。
5、爲了和這些只講二進制語言的機器交流,我們需要一種與我們的自然語言(比如英語、法語、阿拉伯語或斯瓦希里語。)比較接近的語言。程序設計語言就是一種和人類語言相近的語言。但是它們跟加結構化而且必須完全學會才能夠使用它們。
6、程序設計語言可能是高級程序設計語言或是低級程序設計語言。高級語言與機器語言的差別要比低級語言更大。
7、計算機程序通常也被叫做應用程序(Apps)。我們經常會把程序和它們所運行的、或者設計運行的平臺或者環境聯繫起來。
機器語言
在計算機系統中,一條機器指令規定了計算機系統的一個特定動作。一個系列的計算機在硬件設計製造時就用了若干指令規定了該系列計算機能夠進行的基本操作,這些指令一起構成了該系列計算機的指令系統。
在計算機應用的初期,程序員使用機器的指令系統來編寫計算機應用程序,這種程序稱爲機器語言程序。使用機器語言編寫的程序,由於每條指令都對應計算機一個特定的基本動作,所以程序佔用內存少、執行效率高。
缺點也很明顯,如:編程工作量大,容易出錯;依賴具體的計算機體系,因而程序的通用性、移植性都很差。
彙編語言
文件系統驅動編程流程
爲了解決使用機器語言編寫應用程序所帶來的一系列問題,人們首先想到使用助記符號來代替不容易記憶的機器指令。這種助記符號來表示計算機指令的語言稱爲符號語言,也稱彙編語言。在彙編語言中,
每一條用符號來表示的彙編指令與計算機機器指令一一對應;記憶難度大大減少了,不僅易於檢查和修改程序錯誤,而且指令、數據的存放位置可以由計算機自動分配。用匯編語言編寫的程序稱爲源程序,
計算機不能直接識別和處理源程序,必須通過某種方法將它翻譯成爲計算機能夠理解並執行的機器語言,執行這個翻譯工作的程序稱爲彙編程序。
彙編程序
彙編程序。使用匯編語言編寫計算機程序,程序員仍然需要十分熟悉計算機系統的硬件結構,所以從程序設計本身上來看仍然是低效率的、繁瑣的。但正是由於彙編語言與計算機硬件系統關係密切,在某些特定的場合,
如對時空效率要求很高的系統核心程序以及實時控制程序等,迄今爲止彙編語言仍然是十分有效的程序設計工具。