国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

學習編程語言是在學什么

C語言編程學習基地 ? 來源:博客園 ? 作者:鍋叔 ? 2022-04-28 11:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

“想入門編程,應該學那種語言?” 這類問題在五湖四海,世界各地,應當都是比較常見的。給出的回答呢。

有的會直接告訴你去學Python

有的呢會給一些比喻,說編程語言就像畫家手里的筆,有毛筆,鋼筆……;

有的會給出一個技術棧的圖表,告訴你如果你要做XXX,那就學XXX,如果做XXX就學XXXX;

感覺呢這些建議,也都不錯,但是通常都比較簡略,結果明確,但緣由一般不會展開太多解釋。純新手可能似懂非懂,將信將疑。

自上而下,由整體到具體的理解一個事物,效率往往比從具體到整體要高,更容易明白自己所處的位置, 更容易入門。

可惜,對于程序員在開發領域歸納總結,融匯貫通來說, 可能是十幾,二十年后的事情了。所以在分析編程語言優劣,或者選一個語言寫具體的Hello World之前, 我們最好對“編程語言”有一個更整體全面的了解。

一、學習編程語言是在學什么

百度百科——編程語言(programming language)可以簡單的理解為一種計算機和人都能識別的語言。一種計算機語言讓程序員能夠準確地定義計算機所需要使用的數據,并精確地定義在不同情況下所應當采取的行動。

維基百科——編程語言是一種規則, 這種規則,可以把文字, 或者圖形元素(可視化編程語言)轉化為機器碼。編程語言是一種計算機語言,用于在計算機上實現各種算法

百度的定義顯然說了啥但好像又啥都沒說。-_-|| 。維基百科的則準確了很多。編程其實就是把你寫的一段文字(代碼)按照特定的規則,

轉換成機器碼(機器能夠運行的指令),用于在計算機上實現算法(如顯示2個輸入數字中最大的)。你要學習的其實就是這種規則,比如當我需要在屏幕上顯示

Hellow World時。按照不同語言的規則,我需要這樣寫出這樣的文字。

c語言:printf(" hello world!");

php語言:echo"hello world!";

java語言:System.out.println("Hello World!");

看上去有些差別,但又有些相似。實際上目前主流的高級語言如Java ,C#,javascript,Python他們的基礎語法規則是非常近似的。無論先學哪個入門,后面的切換成本,基本是幾小時搞定。當你學會一門語言,除了學會了具體關鍵字,語法之外,更主要的是你會沉淀下來一種對編程語言模式的理解。當你理解了一種語言中的 變量,函數,控制結構(順序,分支,循環),遷移其他語言時,你會發現在其他語言中,這些概念也是存在且完全適用的。

偽代碼是一種脫離具體語言的,體現編程思維的描述方式, 相同層次的語言,編程思維是共通的。如顯示2個輸入數字中最大的問題的編程思路。

變量A等于輸入的第一個數字

變量B等于收入的第二個數字

如果 變量A大于 變量B

屏幕顯示變量A

否則

屏幕顯示變量B

上面的算法思想, 在各種語言中都是可以實現的。僅僅變量定義的方式,判斷分支的書寫方式略有差別。所以,對于入門來說,學習一門編程語言,通常都狹義的指編程語言本身(基本不涉及第三方類庫框架等), 你所學到的語法細節切換成本是很低的,各個語言差不太多,而真正沉淀的是你在編寫過程中逐漸熟悉領會的,編程思路。即組合使用,變量,函數,控制結構(如果/那么/循環)等要素,解決具體的算法問題的能力。

二、IDE與編譯原理

在糾結良久終于選定了學哪一門語言之后,可能開始接觸到的第一個東西是IDE,例如學Python可能是用PyCharm,我之前學Basic用的是Visual Basic。IDE的含義是“集成開發環境”, 名字雖然很準確,但當時還是小白的我其實是非常困惑的,壓根搞不清楚IDE與編程語言之間的關系。也搞不清楚,寫完代碼后在IDE中一點那個綠色的小三角(運行)過程中到底發生了什么。IDE可以方便程序的開發,但是對于新手會影響他對編程語言的理解認識,很難理解IDE的確實含義,“集成開發環境”到底集成了什么。

5832c6de-bef0-11ec-9e50-dac502259ad0.png

——上面是Python的 Hello World。IDE為PyCharm

IDE大概集成這樣幾種東西。

1.文本編輯器是一個用于編寫文本的工具,像上圖寫print Hello World 的地方。編程其實就是在編寫一段文字,保存成一個文件。常見的簡單文本編輯器比如windows中的記事本,也是一個文本編輯器。理論上記事本完全可以用來編程,但IDE中的文本編輯器會提供很多額外功能,如文本著色,智能提示(敲pr會自動提示 print),這些快捷功能是語言相關的。當然也會提供文本編輯器的常見功能, 保存,查找,替換等。

2.編譯器連接器 對于非腳本語言(最終生成獨立的可執行程序)如C,編寫好的程序文件是無法被運行的。例如在windows中,系統層次,典型的可執行文件擴展名為EXE,這是一種特定的文件格式PE文件格式。編譯器與連接器的作用是,將編寫好的程序文件最終轉化為EXE文件。編譯器針對不同的CPU將程序文件,編譯為對應的CPU指令。鏈接器是平臺相關的,將編譯后的中間文件組裝成約定格式,如 Windows ExE。

3.解釋器對于腳本語言,解釋器能夠直接執行,文編編輯器編寫完成的程序文件。如點擊上圖的運行。實際是運行了python ./a.py其中的 python 可以理解為解釋器。

4.調試器為你提供了一個可視化的調試器,你可以直接點擊按鈕,進行調試操作,而不是在黑洞洞的命令行上敲命令。

5849f7e6-bef0-11ec-9e50-dac502259ad0.png

——gdb 調試界面

5.其他工具插件通常會具有集成其他插件的能力,如集成版本管理。可以直接把你的代碼上傳云端,進行版本控制。或者統計分析,寫了多少代碼,是否編寫規范等。

通過以上對IDE 的介紹可以看出, 編程語言是一種規則,準確的說是一種規范。舉例來說其中可能存在一條,

當你寫了一行printf(hello),之后就在屏幕上顯示hello。所以規則是穩定不變的。而你過程中要到的工具,IDE的各個組成部分都是可以替換的。只要編譯器符合語言的標準規范即可,因此會有多種編譯器存在,其性能特點可能會有一些差異。

三、廣義的編程語言

想入行的同學經常會說,我想學Java 該怎么學, 我想學Python該怎么學。這其實通常來說不太準確。狹義來說,你只需要花幾天,老手可能是幾小時幾十分鐘,去看下這個語言的語法規則,如何定義變量,如何寫判斷,循環,如何調用方法。然后做一些算法問題練習,比如對10個數字排排序。寫個猜數字的游戲,基本就算學會了。但這可能跟你的期望不一致,你說的學Java 可能是覺得你學會了Java 就可以寫出一個像WOW那樣的游戲 :-),或者像QQ那樣的聊天工具,或者像淘寶那樣的網站,而學會了語言之后你仍然會覺得無從下手,只會在命令行控制臺中做點簡單的輸入輸出。那么這中間的gap究竟在哪里呢?是因為:

5861d154-bef0-11ec-9e50-dac502259ad0.png

——圖片來源于知乎回答“互聯網”技術棧

就是說,要規范專業的做一個能支持一定訪問量的互聯網站點(如淘寶),會涉及上面大部分的技術內容。這遠超“編程語言”定義的范圍。其中很大一部分是語言無關的,例如運維,工具,中間件中的分支內容。其中后端中的語言分支之下是語言相關的,而前端中如果不考慮移動端Android Ios, 對于Web來說其實只有HTML,CSS,Javascript三種語言,angularjs以及VUE,屬于屬于Javasciprt語言中的不同框架,但差異較大。

綜合以上涉及的語言類型主要分為以下幾類

命令式

關注步驟細節, 如查詢一堆數字中最大的一個, 需要寫循環、判斷、 定義變量進行比較,最終得到結果。計算機的算法過程完全由你定義。通常學習的Java javascrfipt PHP C都可以理解為這一類語言。

結構化查詢——聲明式

多用于結構化數據庫查詢(“數據庫”是為了解決程序存儲,查詢數據問題,想象一個圖書管理程序),SQL語言。取得最大數字如下, 你并不需要關心它的具體算法。

SELECTmax(num)FROMtable

標記語言

HTML,XML,CSS等屬于標記語言,用于定義布局,沒有邏輯。嚴格來說不屬于編程語言。如HTML標記語言規定

表示一個表格 ,其中的表示表格的一行,編寫人按照HTML的標準編寫,瀏覽器按照HTML的標準處理渲染, 最終就會在屏幕上顯示一個表格。

回到寫一個淘寶上,淘寶需要有web頁面,所以你要學習HTMLCSS,JS,需要有數據庫存儲商品, 所以需要學習數據庫工具如MYSQL,并能夠編程使用他,能夠增刪改查數據。需要有后臺服務器,用于給頁面提供動態內容, 動態的生成HTML,所以需要學習Web服務器如何編寫,可以選擇的語言有很多, 如果選擇了一種如Java, 也不需要從頭造輪子, 那就要接著學習Java 的Web框架,如Spring。如果你選擇用PHP語言寫Web服務器, 那就無法使用Java 的Spring框架了。對應的PHP也會有自己的Web框架。所以特定語言第三方框架的學習成本才是切換語言的最主要成本。

總結

如果你是想入門學一門語言,那具體學哪種其實真的不算是個重大抉擇,主要是為了建立編程思想。

如果你是想進行特定領域的開發, 那你一定要首先搞清楚技術棧, 在該領域中使用的主流語言,工具。然后針對性的學習。如果你志向于開發游戲客戶端,那學習互聯網的技術棧,就是南轅北轍了。

先到這里, 希望對初入門的同學能有所幫助!

原文標題:想入門編程,應該學那種語言?

文章出處:【微信公眾號:C語言編程學習基地】歡迎添加關注!文章轉載請注明出處。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • IDE
    IDE
    +關注

    關注

    0

    文章

    365

    瀏覽量

    49056
  • 編程語言
    +關注

    關注

    10

    文章

    1964

    瀏覽量

    39558
  • python
    +關注

    關注

    57

    文章

    4876

    瀏覽量

    90024

原文標題:想入門編程,應該學那種語言?

文章出處:【微信號:cyuyanxuexi,微信公眾號:C語言編程學習基地】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    手把手教你學51單片機-C語言

    更多信息),手把手地帶領大家來學習單片機技術,給單片機初學者帶來福音,讓大家一步一個腳印的掌握單片機技術。 《手把手教你學51單片機-C語言版》(第3版)這本書除了講解簡單的實驗和編程語法、由淺入深
    發表于 03-05 11:47

    如何調試和編程CW32F030C8T7?支持哪些調試工具和編程語言

    了解如何調試和編程CW32F030C8T7是開發過程中的重要環節。它支持哪些調試工具(如JTAG、串口調試等)和編程語言(如C、C++等)?如何設置和使用這些工具來加速開發過程?
    發表于 12-05 06:48

    為什么單片機還在用C語言編程

    最適合單片機開發的編程語言實在太過晦澀難懂,學習起來非常的不方便,并且每一種單片機的匯編指令有很大區別,所以想把一個程序從這種單片機移植到另一種單片機簡直是癡心妄想,重新寫一遍程序還來得輕松,時間還快
    發表于 11-28 07:37

    C語言編程技巧

    設計,分層開發代碼,便于理解和維護。 ?8、避免使用GOTO語句?:盡管GOTO語句在某些情況下仍然有用,但現代編程更傾向于使用函數和循環控制結構,以提高代碼的可讀性和維護性。 ?9、利用C語言的靈活性
    發表于 11-27 06:46

    2025年最佳的嵌入式編程語言有哪些呢?

    嵌入式系統是現代科技不可或缺的一部分。它們存在于家用電器、汽車、住宅、醫院、商店等各個領域。它們與我們的社會緊密相連。選擇合適的語言來構建嵌入式系統對于成功至關重要。那么,2025年最佳的嵌入式編程
    的頭像 發表于 11-14 10:27 ?1410次閱讀
    2025年最佳的嵌入式<b class='flag-5'>編程</b><b class='flag-5'>語言</b>有哪些呢?

    一文了解Mojo編程語言

    Mojo 是一種由 Modular AI 公司開發的編程語言,旨在將 Python 的易用性與 C 語言的高性能相結合,特別適合人工智能(AI)、高性能計算(HPC)和系統級編程場景。
    發表于 11-07 05:59

    開發單片機需要學習什么?軟件編程的 4 個關鍵層次

    ? ? ? ? ? ? ? ? ? ? 開發單片機需要學習什么?軟件編程的 4 個關鍵層次 單片機的 “智能” 全靠軟件實現,編程技能需從基礎語法逐步進階到復雜邏輯,每個層次對應不同的開發需求
    的頭像 發表于 08-25 11:32 ?845次閱讀

    在學習D13的芯片配置,為什么我vscode,一堆爆紅,看著好煩,有沒有解決辦法

    在學習D13的芯片配置,為什么我vscode,一堆爆紅,看著好煩,有沒有解決辦法
    發表于 08-22 20:02

    梯形圖語言補充編程說明書

    電子發燒友網站提供《梯形圖語言補充編程說明書.pdf》資料免費下載
    發表于 07-09 14:14 ?3次下載

    C語言精彩編程百例-364頁

    和低級語言的優點,因此,在工程計算及應用程序開發中得到了廣泛的應用。 眾所周知,學習新的程序設計語言的最佳途徑是編寫程序,而本書正是通過了對100個典型實例的分析和講解,來幫助讀者掌握這門語言
    發表于 06-13 17:28

    零基礎學習LuatOS編程:快速上手開發實戰教程!

    無論你是剛接觸物聯網編程的新手,還是希望拓展技能的技術愛好者,本教程將為零基礎的讀者提供一條清晰的LuatOS學習路徑。從安裝開發工具到編寫第一個程序,我們將通過實例講解核心概念,助你快速實現從理論
    的頭像 發表于 06-13 17:27 ?618次閱讀
    零基礎<b class='flag-5'>學習</b>LuatOS<b class='flag-5'>編程</b>:快速上手開發實戰教程!

    單片機c語言編程實例大全

    單片機c語言編程實例大全_18
    發表于 04-30 16:11 ?7次下載

    迅為RK3568開發板helloworld 驅動實驗-驅動編寫

    在學習 C 語言或者其他語言的時候,我們通常是打印一句“helloworld”來開啟編程世界的大門。學習驅動程序
    發表于 04-01 15:20

    如何在 樹莓派 上編寫和運行 C 語言程序?

    在本教程中,我將討論C編程語言是什么,C編程的用途,以及如何在RaspberryPi上編寫和運行C程序。本文的目的是為您介紹在RaspberryPi上進行C編程的基礎知識。如果您想深入
    的頭像 發表于 03-25 09:28 ?1155次閱讀
    如何在 樹莓派 上編寫和運行 C <b class='flag-5'>語言</b>程序?

    為什么學了C語言,卻寫不出像樣的項目?

    在學習編程的路上,C語言幾乎是每個程序員的“必修課”。不管你是打算從事嵌入式開發、系統編程,還是想要深入理解操作系統的底層原理,C語言都是一
    的頭像 發表于 03-14 17:37 ?917次閱讀
    為什么學了C<b class='flag-5'>語言</b>,卻寫不出像樣的項目?
  • <big id="ycwdi"></big>
  • <dd id="ycwdi"></dd>
    <table id="ycwdi"><wbr id="ycwdi"><noframes id="ycwdi"></noframes></wbr></table>
    <table id="ycwdi"><em id="ycwdi"><span id="ycwdi"></span></em></table>
      <label id="ycwdi"><small id="ycwdi"><em id="ycwdi"></em></small></label>