軟體編程是什麼意思,可以自學嗎?

2020-12-13 工程師石啟錚

近期很多朋友都開始學習軟體編程了(常被教育機構宣傳為「編程學習」,「計算機編程」等),而且大部分報名學習的價格不菲。對於許多沒有接觸過電腦的讀者們來說可能感覺很陌生,那麼這個軟體編程到底是學習些什麼內容,是否可以自學呢?筆者作為以一名以軟體編程為工作的工程師,就這個問題來向大家大概介紹一下。

軟體工程師工作檯

先向大家介紹下軟體(英語:Software)的概念,是相對於硬體(英語:Hardware)翻譯過來的。硬體的概念就是我們看得見摸得著的東西,比如電腦顯示器,手機,打字用的鍵盤,操作電腦的滑鼠,平板電腦等等。而軟體則是看不見摸不著的一段數據的內容,比如一個優盤裡面的一些文件,手機裡面下載安裝的APP,以及遊戲程序等等。打個大概的比喻,硬體相當於我們聽歌用的手機,而軟體則是手機裡面的歌曲內容,或者手機裡面安裝的遊戲的文件內容;再打個不是很恰當的比喻,硬體相當於一個人,而軟體則是這個人腦子裡面的思想,控制力。

所以光有硬體,電腦和手機等電子產品是無法為我們工作的,只是一堆冰冷的塑料殼,電路板和線材。必須要由硬體裡面安裝運行的軟體來指揮這些硬體,按照預先設置的流程和條件去接受外部的輸入命令,經過運算之後把結果反饋給我們。而軟體編程,就是根據需要電腦和手機等要實現的功能,來編寫裡面需要的程序,來接收我們從手機觸控螢幕的輸入,或者電腦打字輸入的內容,進行內部的計算和處理,再把結果顯示到屏幕上,通過喇叭把聲音播放出來,或者把手機震動一下讓我們知道結果。比如編寫了一個打坦克的遊戲軟體,遊戲程序啟動之後會在屏幕上顯示幾臺坦克。玩家在屏幕上觸摸的時候,程序會感知到玩家手指觸摸的位置,這樣軟體內部計算坦克需要移動的距離,然後更新下坦克的位置再刷新顯示出來,這樣就實現了和玩家的互動。

坦克遊戲

要學習軟體編程,首先需要選擇一門程式語言。常用的高級語言有Python和Java等。程式語言就是用來把人可以容易看懂的語句,轉換為電腦,手機可以執行的機器語言(就是一堆的數字)。其次絕大部分程式語言都是使用英語作為基礎語言的,對於最入門的初學者只需要記住幾個以下三個簡單的英語單詞(英語/中文):

if / 如果

then / 那麼

else / 否則

程序裡面都是使用上面三個單詞組成的語句進行條件判斷來進行處理數據。類似於人在對外界的事情做出反應的時候,會根據自身的條件來選擇下一步執行的動作。比如一個人到了一個路口,如果他看到綠燈,那麼就通過路口,否則就停下來。程序運行的時候也是一樣的,比如有這樣一個流程:如果當前手機電池不足百分之五,那麼就彈出電量不足的提示。

信號燈

有了基本的了解之後一般可以在一個星期左右的時間內,對著例子編寫幾個簡單的算數字,列印結果的小程序。如果要再進一步學習編程,達到可以編寫一個小的軟體的水平(比如一個記事本,計算器軟體或者APP等),則需要進一步學習作業系統相關的圖形顯示,文件保存等編程接口等。再進一步編寫更加複雜的軟體的話,就需要學習數據結構,面向對象等知識,這些內容是大學一年級的課程。所以如果是兒童要完全從零學習編程,最好還是需要有經驗的老師入門指導下,然後循序漸進地根據年齡來選擇深度。因為編程是與數學,邏輯方面密切相關的,年齡太小很多地方(如算法)是無法理解的。成人如果從零自學,可以慢慢從基礎簡單的Python語言開始練習,一定要多在電腦上實際操作,這樣才能逐步提高。

相關焦點

  • 0基礎如何自學軟體編程開發
    0基礎如何自學軟體編程開發?學習軟體編程首先需要選擇一門程式語言,如C或JAVA語言,作為基礎程式語言學習,掌握語言的邏輯,學習語法,其實編程實質上就是思路的運用,編程思路有了再想學習其他的程式語言就會變得順風順水。軟體編程開發,對於現在的學生來講到底有多重要呢?
  • 自學軟體測試,得學到什麼程度才能找到工作?
    圖片來源於第三方招聘平臺這張圖是霸哥從第三方招聘平臺上截取來的,可以看出企業對於軟體測試工程師的要求都少不了要「懂程式語言、掌握資料庫、會用主流測試工具、有接口測試/性能測試經驗」等等,並不是一家企業這樣,而是招聘企業無一例外,可見企業對於軟體測試工程師的要求有多高。
  • 谷歌空間推薦:如何自學編程,有哪些實用輔助學習軟體?
    他們發現全世界1萬名相關學生裡面,接近三分之二都在自學編程。IT業發達的美國,更是有五分之四的學生靠自學掌握技術。出現這種情況並不值得奇怪。計算機領域,學校教授的知識雖然經典,但這個行業變化飛快、類似Go、kotlin這種企業需要的新技術、學校經常沒法跟上。學習程序開發、提升技能水平,「自學」是必經之路。
  • 自學編程和計算機科班出身差在哪?
    自學編程的程式設計師,似乎都處於鄙視鏈的底端,而計算機專業的畢業生,似乎天然存在著一種優越感。 有的人就會說了,科班生在學校會學習計算機底層邏輯,算法等等,而自學的很多沒有接觸這方面知識。 那到底自學編程和科班程式設計師差距會很大嗎?今天,小千幫你分析一下。
  • 高三學生自學編程研發「黑客軟體」被提起公訴
    高三學生自學編程研發「黑客軟體」自學軟體編程技術,研發黑客軟體利用網站註冊漏洞瘋狂盜取公民個人信息上億條,在境內外網絡公開售賣……剛滿18歲的在校學生,竟構想出一個非法「數據帝國」的夢!記者8月29日從無錫市惠山區人民檢察院(下稱:惠山檢察院)獲悉,該院近日依法以侵犯公民個人信息罪對犯罪嫌疑人劉某某提起公訴。
  • 中博軟體學院IT教育:零基礎可以學編程嗎?
    在如今這個網際網路+的時代,軟體工程師人才需求旺盛,薪資高,具有較大的人才缺口,很多IT企業開出高薪卻很難招聘到合格的軟體開發人員,軟體工程師就業前景可謂一片大好!學會程式語言,可以從事軟體工程師。程式語言較多,語法複雜,對於0基礎的人來講,自學是有一定難度的,沒有人引導,容易卡在某一個問題上,長久得不到進展,或者進展緩慢,這個時候選擇一所可靠的IT職業培訓院校很重要!
  • 千裡之行始於足下,我的 10 年自學編程之路
    還有多種變化,例如「學習」替換「自學」,「天」替換「小時」。結論:要麼大家都特別匆忙地在學習編程,要麼編程在某種程度上令人難以置信地比其他任何東西都更容易學習。Felleisen等人在他們《How to Design Programs》這本書中對這種趨勢表示了贊同——「寫出不好的程序很容易。傻瓜也可以在21天時間內學習編程。即使他們毫無基礎。」
  • 自學語言編程製作外掛軟體牟利
    經查,這款軟體可實現幫助網約車車主隨意更改自身地理位置,並擁有選單權和優先搶單權,直接幹擾滴滴公司正常業務派單邏輯規則。通過走訪,專案組迅速明確「小白玉工作室」的真實身份為滴滴網約車駕駛員胥某,成功了解到「紫蝴蝶」外掛搶單軟體的鏈條關係。
  • 我是如何用 10 天自學編程,改變一生的?
    學習使用各種軟體或者學編程唄。就這樣,萌生了系統地自學編程的想法。在商學院畢業前,也沒有經過面試,我卻糊裡糊塗的,進入了一家老牌大型上市軟體公司(並且還是小時候曾經那個憧憬嚮往的公司),成為了一名程式設計師。這一切,都起源於2009年的那系統地自學編程的10天。2.基礎
  • 學習程式語言,自學還是培訓?
    學習程式語言,不管你是培訓還是自學這都不是關鍵,最關鍵在「編程」這兩個字,說白了就是實踐,親自動手在計算機上把代碼寫出來,調試通過。我是非計算機科班畢業,從事軟體編程工作已經八年有餘,一路過來都是自學,而且不論是大一自學C語言通過計算機二級考試,還是為了賺廣告費自學Android Java開發,以及工作需求學了C#,到後來長期做的C++,都始終遵循一個學習原則「學寫結合」,且寫的時間要遠大於學。
  • 我是如何用10天自學編程,改變一生
    學習使用各種軟體或者學編程唄。就這樣,萌生了系統地自學編程的想法。在商學院畢業前,也沒有經過面試,霖哥卻糊裡糊塗的,進入了一家老牌大型上市軟體公司(並且還是小時候曾經那個憧憬嚮往的公司),成為了一名程式設計師。這一切,都起源於2009年的那系統地自學編程的10天。2.基礎
  • 自學編程:C語言的概述
    資料庫:SQL Server、Oracle、MySQL、DB2②應用軟體開發 辦公軟體:WPS。 圖形圖像多媒體:Photoshop、Mediaplayer。 嵌入式軟體開發:嵌入式軟體開發說得簡單點就是晶片編程,比如我們以後學習在單片機和 ARM 上進行的開發都屬於嵌入式軟體開發。 遊戲開發:2D、3D 遊戲。CS 整個遊戲的引擎全部是用純C寫的。
  • 自學編程學什麼語言比較好,編程學習建議
    自學編程學什麼語言比較好,編程學習建議 自學編程受到入門基礎知識的限制,不建議學習一些底層語言,比如C,C++,這兩門語言涉及到的指針,內存的知識非常抽象,很容易反措,並且這兩門語言與底層硬體密切相關,如果沒有系統的學過計算機體系結構的知識,不容易深入。
  • 黑馬程式設計師教你自學編程的最優方法
    說起來自學編程的話,很多人走了很多彎路。只有學過來之後才知道什麼是最高效的方法。下面黑馬程式設計師就以十多年的教學經驗總結給大家自學編程的最好的方法。1.選擇目標首先就是編程環境的搭建,很多人自學第一步就卡在這裡了。但是先不用著急去配置環境,在這之前我們要做的是選定方向。大的方向就是:前端、後端、移動開發、雲計算、數據處理、智能軟體、物聯網等等。有關這些方向的程式語言就很多種。要先來選定一個方向,再從方向選擇一個語言。
  • 程式設計師必讀經典長文:用十年時間自學編程
    Felleisen 等人在他們的書《How to Design Programs》中提到,「糟糕的編程很容易,即便是白痴都可以在 21 天內學會」時,請對這一觀點表示贊同。讓我們來分析一下在 24 小時內學會 C++意味著什麼:自學:24 小時內,你將沒有時間寫幾個重要的程序,並從成功和失敗中吸取教訓。
  • 風變編程的Python這麼火,零基礎可以自學嗎?
    而對處於數位化時代的人們而言,除了基本應用外,也要通過學習基本編程調用智能科技產品的API接口。毫無疑問,Python編程在現階段擔此重任,而以風變編程為代表的Python學習產品也應運而生。那麼,Python編程這麼火,零基礎「小白」可以自學嗎?在此之前,我們先來了解一下Python到底是怎樣的一種程式語言。
  • 我英語基礎不好,可以學編程嗎?
    最近有人問我,我英語不好能學編程嗎?由於大多數語言的母語都是英語,很多對編程感興趣的人,在下定決心學編程之前,都會在心裡打鼓,一遍一遍地問自己,編程好學嗎?我英語基礎不好,可以學編程嗎?答案是可以的。在編程當中,你只要知道基本的英語知識就可以了,重要的是你要了解那幾個單詞有什麼作用,比如簡單的for next 循環,你可以不知道for和next是什麼意思 ,但是你要知道這是一個循環,還要知道怎麼用。說直白一點,英語不能決定你學習編程的好壞。
  • 什麼是計算機編程?
    國外的一位前端開發工程師寫了一篇科普介紹的文章,發布在 freeCodeCamp 專欄(https://www.freecodecamp.org/news/),帶大家認識什麼是計算機編程,什麼是軟體開發。文章很不錯,一起編程將它翻譯成中文,希望更多人讀到,從而有勇氣跨入編程的大門!
  • 為啥自學工業機器人編程很難找到工作?
    通過自學順利找到機器人行業相關的工作可謂鳳毛麟角。下面,談談自學工業機器人編程為啥那麼難,筆者根據十幾年的機器人編程經驗,總結了以下幾點原因。一、沒有學習大綱,亂學一通,最後沒有繼續學下去的勇氣。網上搜工業機器人編程的學習教程多如牛毛,各種編程軟體納入眼帘,壓根不知道該學哪種,也不清楚常用的工業機器人一般用哪種編程比較多,所以從萬千教程裡提煉出對自己有用的資料並不是一件容易的事兒。於是開始焦慮,也沒落實自學的大綱,就一股腦看教程,結果左右碰壁,所謂:知己知彼,百戰不殆,首先要了解工業機器人的學習框架。然後根據教程再全力以赴。
  • 自學編程該看什麼書?
    接下來,一起來看看「自學編程看什麼書」吧。Python 系列(3本)如果你之前一點編程經驗都沒有,先看如下兩本:1、《簡明 Python 教程》(A Byte of Python)入門Python的絕佳Tutorial,從書的目錄便可以了解到作者Swaroop C H清晰的行文思路,