第一章 編程語言及電腦介紹

来源:https://www.cnblogs.com/cgwang/archive/2020/04/25/12775492.html
-Advertisement-
Play Games

編程語言及電腦介紹 一、編程語言是什麼 語言其實就是人與人之間溝通的介質/工具,比如英語、法語等 而編程語言則是人與電腦之間溝通的介質,常見的編程語言有python、java、php、.net等 二、為什麼要編程 編程就是人把自己想電腦做的事,也就是自己的思維邏輯,用編程語言表達出來 編程的目 ...


編程語言及電腦介紹

一、編程語言是什麼

	語言其實就是人與人之間溝通的介質/工具,比如英語、法語等

	而編程語言則是人與電腦之間溝通的介質,常見的編程語言有python、java、php、.net等

二、為什麼要編程

	編程就是人把自己想電腦做的事,也就是自己的思維邏輯,用編程語言表達出來

	編程的目的:就是讓電腦按照人類的思維邏輯去工作,從而解放人力

三、電腦組成部分

  1. 電腦是什麼
    電腦又叫“電腦”,包含人對電腦的終極期望,希望能夠像人類的大腦一樣去工作
  2. 存在電腦的目的
    為了執行人類的程式,從而解放人力
  3. 電腦的五大組成部分
    • 控制器
      # 作用:是電腦的指揮系統,負責控制電腦所有其他組件如何工作的
      # 類比:控制器可以看成是“人類的大腦”

    • 運算器
      # 作用:運算包括數學運算與邏輯運算
      # 類比:運算器也可以看成是“人類的大腦”
      重點:控制器+運算器=CPU,cpu相當於人的大腦

    • 存儲器、I/O設備
      # 作用:是電腦的記憶功能,負責數據的存取
      # 分類:
      # 記憶體(基於電工作):存取數據都快,斷電數據丟失,只能臨時存取數據
      # 外存(硬碟,基於磁工作):存取速度都慢,斷電數據也不丟,可以永久保存數據

      # 類比:
      #   記憶體相當於“人類的大腦的記憶功能”
      #   外存相當於“人的筆記本”
      
    • 輸入設備
      # 輸入設備是計算接收外界輸入數據的工具,如鍵盤、滑鼠
      # 類比:
      # 輸入設備相當於“人的眼睛或耳朵”

    • 輸出設備
      # 輸出設備是電腦向外輸出數據的工具,如顯示器、印表機
      # 類比:
      # 輸出設備相當於“人說的話,寫出的文章”

四、一個程式的運行與三大核心硬體的關係

# 我們編寫的程式一定是要運行於電腦硬體之上,而站在硬體的角度,與運行程式有關的三大核心硬體為CPU、記憶體、硬碟。
# 程式最先是存放於硬碟中的,程式的運行是先從硬碟把代碼載入到記憶體中,然後cpu是從記憶體中讀取指令運行。

五、操作系統概述

操作系統的功能就是幫我們把複雜的硬體的控制封裝成簡單的介面,對於開發應用程式來說只需要調用操作系統提供給我們的介面即可

大前提:我們編程目的就是為了奴役電腦,讓電腦硬體自發地運行起來,然而硬體畢竟是”死的“,硬體的運行都是由軟體支配。

六、電腦系統的三成架構

開發應用程式本質是在控制硬體,但是我們直接打交道的是操作系統,應用程式都是通過操作系統來間接地操作硬體的,所以一套完整的電腦系統分為三層:
(1) 應用程式
(2) 操作系統
(3) 電腦硬體

作用:
	1、控制電腦硬體的基本運行 
	2、把使用硬體的複雜操作封裝成簡單的功能,給上層的應用程式使用
例如:文件就是操作系統提供給應用程式/用戶操作硬碟的一種功能

七、程式的劃分

硬體以上運行的都是軟體,而軟體分為兩類:

# 一、應用軟體(例如qq、word、暴風影音,我們學習python就是為了開發應用軟體的)
# 二、操作系統,操作系統應用軟體與硬體之間的一個橋梁,是協調、管理、控制電腦硬體與應用軟體資源的控製程序。

八、一個非常重要的基礎概念:平臺

應用程式都是運行於操作系統之上,而操作系統則是運行於硬體之上的,所以承載應用程式的是一臺運行有操作系統的電腦,稱之為應用程式的運行平臺,即:硬體 + 操作系統 == 平臺

常見的平臺有:windows系統+某款硬體、linux系統+某款硬體、ubuntu+某款硬體等,我們在開發應用程式時就需要考慮到應用程式的跨平臺性,如果能開發出一款可以在任意平臺運行的應用程式,那對於開發者來說真是極大的福音。而決定應用軟體的跨平臺性的關鍵因素往往是編程語言的選擇,python恰好是一款跨平臺性語言,這也是我們學習它的原因之一。

重點: 軟體的跨平臺性指的是:一款軟體可以任意平臺上運行,是衡量軟體質量高低的一個非常重要的指標


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 公司有一項儲值卡充值業務:客戶在微信公眾號開通儲值卡服務,通過微信支付往卡裡面充值,充值成功後客戶可收到消息通知,併進行消費。 看起來是一項很簡單的業務,最初我們儲值卡團隊的實現也確實很簡單。我們看看最初的實現: 相信聰明的你一眼就能看出問題: 1. 壓根沒有考慮分散式事務一致性,比如第 12 步根 ...
  • JavaScript 入門 1 JavaScript 概述 JavaScript 是一門世界上最流行的腳本語言。 一個合格的 後端 程式員,必須要精通 JavaScript 。 2 ECMAScript ECMAScript 是 JavaScript 的一個標準。 目前廣泛使用的版本為 ES6。 3 ...
  • 【目錄】 一、 threading模塊介紹 二 、開啟線程的兩種方式 三 、在一個進程下開啟多個線程與在一個進程下開啟多個子進程的區別 四、 線程相關的其他方法 五、守護線程 六、Python GIL(Global Interpreter Lock) 八、同步鎖 九、死鎖現象與遞歸鎖 十、線程que ...
  • Golang中存在一個Sync.Pool 對象,從名字上看像是對象池,但他本質上和實際上的對象池有著很大的區別,下麵將詳細介紹該對象。 Sync.Pool對象可伸縮、併發安全; 數據結構 sync.Pool對外暴露Get、Put、New三個方法,Get返回Pool中的對象,當沒有取得到對象時調用Ne ...
  • 直接進入主題需求: (1) 獲取你對象chrome前一天的瀏覽記錄中的所有網址(url)和訪問時間,並存在一個txt文件中 (2)將這個txt文件發送給指定的郵箱地址(你的郵箱) (3)建立例行任務,每天定時自動完成這些操作,你就可以通過郵件查看你對象每天看啥了 這裡要註意:不管你是為了Python ...
  • 定時任務 每天定時執行任務可以使用springboot裡面提供的@Schelduled註解加上cron表達式,但是有一些特殊的任務,比如幾分鐘之後執行,像這類定時任務可以使用Spring Cloud Stream+RabbitMQ來實現 這個首先要下載rabbitmq "插件" 創建boot工程,需 ...
  • Python爬蟲為什麼受歡迎 如果你仔細觀察,就不難發現,懂爬蟲、學習爬蟲的人越來越多,一方面,互聯網可以獲取的數據越來越多,另一方面,像 Python這樣的編程語言提供越來越多的優秀工具,讓爬蟲變得簡單、容易上手。 利用爬蟲我們可以獲取大量的價值數據,從而獲得感性認識中不能得到的信息,這裡要註意: ...
  • python入門介紹 一、編程語言的分類 分類: 機器語言: 用二進位代碼0和1描述的指令稱為機器指令,由於電腦內部是基於二進位指令工作的,所以機器語言是直接控制電腦硬體 彙編語言: 彙編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶 高級語 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...