- 編程可以很簡單
- (美)尼基爾·亞伯拉罕
- 2347字
- 2021-03-19 11:04:35
前 言
就像“書中自有黃金屋”這句話所形容的一樣,懂得編程這件事從來沒有像今天一樣那么重要、有用。只是如今這句話中的“書”恐怕要改成“編程”了。計算機(jī)程序深遠(yuǎn)地改變著我們的生活。很多人甚至已經(jīng)到了那種無比依賴電子設(shè)備的程度。而這些電子設(shè)備的“靈魂”又都是由形形色色的程序所構(gòu)建起來的。但即便是這樣,對于很多人而言編程這件事情仍然那么高高在上,難以企及。可能你參加了一場以技術(shù)為主題的會議,聽著嘉賓們口若懸河、侃侃而談,而你卻如墜云霧,不知所云。可能你想為家人編寫一個主頁,卻遇到了那些不知道該如何解決的問題,比如圖片顯示不出來、文本對不齊等。也可能你常常被那些冠以“HTML、CSS、JavaScript、Python、Ruby”等計算機(jī)名詞的圖書嚇到,不知道這些奇怪的名詞都是在講述誰家的故事。
如果你是上面所列的這些人中的一分子,那么本書正是為你準(zhǔn)備的。這本書里對那些基本的概念做了通俗易懂的解說,讓你擺脫在技術(shù)會議上常常上演“徐庶進(jìn)曹營”的尷尬,可以在聽懂的同時也積極地參與討論。在這本書里,我會把各位讀者作為編程的初學(xué)者來對待,針對每一個概念做相對清晰的說明。這本書的讀者甚至可以是那些完全不知道編程為何物的人。我不會毫無選擇地在這本書里導(dǎo)入過多的內(nèi)容。此外,我鼓勵大家邊學(xué)邊做,一邊讀書,一邊自己編寫程序。你可以想象自己不是在編寫一個網(wǎng)站,而是在搭建一個房子。你既可以先花8年的時間學(xué)習(xí)如何成為一個建筑架構(gòu)師,也可以今天就著手學(xué)習(xí)如何打地基、建框架。快慢優(yōu)劣大家自有體會。無論如何,這本書都將會帶你開啟編程之旅。
編程技能在高度信息化的今天正在變得越來越重要。業(yè)內(nèi)知名作家、資深工程師道格拉斯·洛西科夫(Douglas Rushkoff)曾說過一句名言:“去做程序的主人,否則做程序的奴隸。”(Program or be programmed.)當(dāng)人類發(fā)明了語言和數(shù)字后,人們就學(xué)著去聽和說,隨后就是讀和寫。在這個數(shù)字化的世界里,只知道如何使用軟件是不夠的,也應(yīng)該知道該如何設(shè)計軟件。例如在過去的一個多世紀(jì)里,唱片公司決定了什么樣的歌曲能夠出版和發(fā)行,只有這些歌曲才能走進(jìn)千家萬戶。然而在2005年,3個程序員創(chuàng)立了舉世聞名的YouTube網(wǎng)站,它使得每一個人都擁有了成為“歌手”的機(jī)會,任何人都可以在YouTube上發(fā)布歌曲。今天在YouTube上發(fā)布的歌曲數(shù)量甚至超過了過去一個世紀(jì)發(fā)行歌曲的總和。在Codecademy網(wǎng)站上發(fā)布的一系列示例程序是這本書的“忠誠伴侶”,每一章中提到的各種練習(xí)也是學(xué)習(xí)編程非常有效的方式。大家可以很容易地做這些練習(xí),而不用去額外安裝或下載任何軟件。Codecademy網(wǎng)站上提供了本書提到的示例和練習(xí),希望這些能夠與其他的項(xiàng)目和示例程序一道作為讀者額外的練習(xí)內(nèi)容,幫助讀者更好地掌握編程技巧。
本書介紹
這本書適合那些沒有或者只有少量編程經(jīng)驗(yàn)的人閱讀。本書用一種通俗易懂的方式向那些“外行”展示了什么是編程。這本書用平實(shí)的語言,介紹了代碼是如何被運(yùn)用在程序中的,一些“知名”的程序是由什么人開發(fā)出來的,這些人采用什么樣的流程完成了程序的開發(fā)工作等。這本書的主題包括:
解釋什么是編程,并回答了一些有關(guān)編程的常見問題;
使用3種常用的編程語言(HTML、CSS、JavaScript)編寫一個簡單的網(wǎng)站;
比較幾種常見的編程語言——Ruby和Python;
使用本書所教授的知識點(diǎn)構(gòu)建一個應(yīng)用。
當(dāng)你閱讀本書時,請注意以下事項(xiàng)。
你可以從頭至尾閱讀本書,也可以任意跳過其中的一些章節(jié),直接從最感興趣的部分開始閱讀。當(dāng)然在必要時也可以隨時回去參考前面的章節(jié)。
有時你會被某些意想不到的問題所阻礙。如果編寫的程序不能如預(yù)想的一樣運(yùn)行,請不要害怕,因?yàn)橛泻芏噘Y源可以幫到你,如技術(shù)支持論壇、有相關(guān)經(jīng)驗(yàn)的網(wǎng)友甚至是我本人。你可以使用推特(Twitter)向我發(fā)送消息與我取得聯(lián)系。(使用@Nikhilgabraham找到我,并用#codingFD向我發(fā)消息。)
本書中的代碼都將以類似于<h1>Hi there!</h1>的字體顯示。
內(nèi)容“傻瓜化”
我不會先入為主地為讀者的技術(shù)水平、理解能力等做過多的假設(shè)。但是我會假設(shè)各位讀者具有以下特點(diǎn)。
各位讀者沒有編程經(jīng)驗(yàn)。因此你們只需跟著本書的進(jìn)度閱讀、輸入程序并根據(jù)書中的指示行事即可。我會盡量多地通過你們耳熟能詳?shù)睦雍皖惐葋斫榻B編程的概念。
假設(shè)讀者的計算機(jī)上安裝了最新版本的Google Chrome瀏覽器。本書中的程序示例都在最新版本的Google Chrome瀏覽器上測試和優(yōu)化過。此外,本書中的所有示例也可以在最新版本的Firefox瀏覽器上運(yùn)行。不推薦使用Internet Explorer運(yùn)行本書示例。
讀者的計算機(jī)可以訪問互聯(lián)網(wǎng)。本書中的一些示例可以在沒有網(wǎng)絡(luò)的環(huán)境下使用,但是大多數(shù)示例需要網(wǎng)絡(luò)連接。你也可以在Codecademy網(wǎng)站上完成這些練習(xí)。
本書用到的各種圖標(biāo)
以下是本書中用到的圖標(biāo)。這些圖標(biāo)用來標(biāo)注書中的段落,旨在引起讀者的注意或者告知讀者可以跳過某些段落。
TIP圖標(biāo)提示某段說明很有用或者是有助于理解某一概念的簡短說明。
TECHNICAL STUFF圖標(biāo)進(jìn)一步揭示了某個概念的細(xì)節(jié),可能是告知性的信息也可能是逸聞趣事,但對于理解某一概念并不是必要的。
REMEMBER圖標(biāo)提醒讀者記住某些內(nèi)容。它意味著這個概念或者流程是非常重要的,需要牢記。
WARNING圖標(biāo)提醒讀者留神!這個圖標(biāo)表示需要注意可能出現(xiàn)的問題或錯誤。
本書之外
很多在本書中沒有提到的內(nèi)容可以訪問Dummies網(wǎng)站進(jìn)行查找。Dummies網(wǎng)站為大家準(zhǔn)備了以下內(nèi)容。
本書提到的示例源代碼、一個指向Codecademy網(wǎng)站“習(xí)題”頁面的鏈接和按照章節(jié)整理的源代碼。一次性下載某一章節(jié)的源代碼,并隨著這一章的閱讀來實(shí)際動手操作是最好的方法。
簡易說明。在Dummies網(wǎng)站上大家可以找到一系列關(guān)于基本HTML、CSS和JavaScript常用關(guān)鍵字的簡易說明。
可以訪問Dummies網(wǎng)站,并搜索“Coding For Dummies Cheat Sheet”來查找本書相關(guān)的簡易說明。
附加內(nèi)容:Dummies網(wǎng)站為大家準(zhǔn)備了本書每一部分提到的參考內(nèi)容。
更新:各種編程語言的代碼和手冊都在不停地更新?lián)Q代,常常是今天能用的命令和語法,或許明天就過時了。因此,關(guān)于本書的更新、更正會隨時上傳到Dummies網(wǎng)站上。
接下來
好了,閑話少敘進(jìn)入正題。相信自己可以在編程這條路上走得更遠(yuǎn)。現(xiàn)在恭喜大家,已經(jīng)為編程事業(yè)邁出了第一步。
- Java Web開發(fā)學(xué)習(xí)手冊
- Vue.js快跑:構(gòu)建觸手可及的高性能Web應(yīng)用
- Data Analysis with IBM SPSS Statistics
- 網(wǎng)店設(shè)計看這本就夠了
- 微信小程序項(xiàng)目開發(fā)實(shí)戰(zhàn)
- Raspberry Pi Robotic Projects(Third Edition)
- 多模態(tài)數(shù)據(jù)分析:AGI時代的數(shù)據(jù)分析方法與實(shí)踐
- Docker:容器與容器云(第2版)
- Python無監(jiān)督學(xué)習(xí)
- Mastering Unity Scripting
- 開源網(wǎng)絡(luò)地圖可視化:基于Leaflet的在線地圖開發(fā)
- The Python Apprentice
- Prezi Cookbook
- ASP.NET開發(fā)技巧精講
- Abaqus GUI程序開發(fā)指南(Python語言)