來(lái)源:程序猿 2018-06-18 13:10:50
入手。 幸運(yùn)的是,現(xiàn)在的互聯(lián)網(wǎng)上到處都有豐富的學(xué)習(xí)資源讓你能在短時(shí)間里成為一個(gè)程序員。
因?yàn)榛ヂ?lián)網(wǎng)的出現(xiàn),使程序員們可以通過(guò)它討論軟件開(kāi)發(fā)技術(shù),發(fā)布學(xué)習(xí)指導(dǎo),以及共享代碼實(shí)例讓其他人可以在線學(xué)習(xí)。 如果你感興趣如何才能成為一個(gè)程序員,從網(wǎng)上這些大量的優(yōu)秀的培訓(xùn)資料、學(xué)習(xí)向?qū)胧謱?huì)是個(gè)不錯(cuò)的開(kāi)始。
首要之首:不要急于選擇一種語(yǔ)言
新手們有一個(gè)常見(jiàn)的錯(cuò)誤就是猶豫于判斷哪種編程語(yǔ)言是做好的、最該先學(xué)的。 我們有很多的選擇,但你不能說(shuō)那種語(yǔ)言“最好”。 我們應(yīng)該理解:說(shuō)到底,什么語(yǔ)言并不重要。 重要的是理解數(shù)據(jù)結(jié)構(gòu)、控制邏輯和設(shè)計(jì)模式。 任何一種語(yǔ)言—甚至一種簡(jiǎn)單的腳本語(yǔ)言—都會(huì)具有所有編程語(yǔ)言都共有的各種特征,也就是說(shuō)各種語(yǔ)言是貫通的。 我正在攻讀我的計(jì)算機(jī)學(xué)學(xué)位,我編程使用Pascal,匯編,和C語(yǔ)言,事實(shí)上我從來(lái)沒(méi)有把它當(dāng)成職業(yè)以求獲得回報(bào)。 我一直在自學(xué)編程,工作上用不到它,我使用現(xiàn)有的知識(shí),參考各種文檔和書(shū)本,學(xué)習(xí)它們的用法。 因此,不要急于選擇何種編程語(yǔ)言。 找出你想要開(kāi)發(fā)的東西,使用一種能夠完成這項(xiàng)任務(wù)的語(yǔ)言,這就可以了。
根據(jù)各種開(kāi)發(fā)平臺(tái)的不同,有很多不同的軟件開(kāi)發(fā)形式可供你選擇:從網(wǎng)站應(yīng)用到桌面軟件到智能手機(jī)軟件到命令行腳本工具。 這篇文章里,我將重點(diǎn)介紹一些很受歡迎的入門(mén)教程和資源,它們能幫助你學(xué)會(huì)如何在各種主流的平臺(tái)上編程開(kāi)發(fā)。 我先假設(shè)你是一個(gè)悟性很強(qiáng)的讀者,但對(duì)于新手,當(dāng)我談?wù)摮绦虼a時(shí)還是要按照入門(mén)級(jí)的水平。 因?yàn)榧词故悄阕约嚎匆黄幊倘腴T(mén)手冊(cè),如果發(fā)現(xiàn)都能理解時(shí),心情自然會(huì)很高興,這樣利于你進(jìn)一步學(xué)習(xí)。
桌面腳本
想要?jiǎng)邮衷赪indows里或蘋(píng)果系統(tǒng)里編程,最簡(jiǎn)單的方法是從一種腳本語(yǔ)言或宏語(yǔ)言開(kāi)始,例如AutoHotkey (Windows) 或 Automator (蘋(píng)果系統(tǒng))。 如今一些硬件程序員沖著他們的屏幕大喊大叫,說(shuō)AHK和AppleScript并不是“真正”的編程語(yǔ)言。 也許他們說(shuō)的是對(duì)的—技術(shù)上,這些種類的語(yǔ)言只能做一些上層的編程。 但是對(duì)于那些只是想來(lái)脫盲、想在他們的電腦里實(shí)現(xiàn)一些能自動(dòng)運(yùn)行的程序的新手來(lái)說(shuō),這些語(yǔ)言會(huì)是一個(gè)絕妙的入門(mén)入口—而且你會(huì)吃驚于它們豐富的功能。
例如,大家都喜愛(ài)的Texter就是Adam使用AutoHotkey開(kāi)發(fā)的能獨(dú)立運(yùn)行的Windows應(yīng)用程序,所以說(shuō)這種腳本語(yǔ)言遠(yuǎn)不是只能開(kāi)發(fā)小規(guī)模腳本軟件。 如果你想從AutoHotkey入手,可以參考Adam的指導(dǎo): how to turn any action into a keyboard shortcut using AutoHotkey(然后,你可以下載 Texter源代碼 看看這個(gè)功能齊全的使用AHK開(kāi)發(fā)的Windows應(yīng)用程序的內(nèi)部結(jié)構(gòu))。
Web開(kāi)發(fā)
除了把自己約束在特定的編程語(yǔ)言和特定的操作系統(tǒng)上,你還可以在瀏覽器里開(kāi)發(fā)你的殺手锏程序,讓它在互聯(lián)網(wǎng)上運(yùn)行,這就是webapp。 歡迎來(lái)到奇妙的web編程世界。
HTML 和 CSS:開(kāi)發(fā)網(wǎng)站,你第一件要知道的事情就是HTML(網(wǎng)頁(yè)就是由它組成的)和CSS(一種讓外觀更好看的樣式標(biāo)記)。 HTML 和 CSS 并不是編程語(yǔ)言—它們只是頁(yè)面的結(jié)構(gòu)和樣式信息。 然而,在開(kāi)始開(kāi)發(fā)web應(yīng)用程序之前你必須要學(xué)會(huì)如何手工的編寫(xiě)簡(jiǎn)單的HTML和CSS,web頁(yè)面是任何webapp的前端顯示部分。 這個(gè) HTML 指導(dǎo) 是你入手的好地方。
JavaScript:當(dāng)你可以通過(guò)HTML和CSS構(gòu)建一個(gè)靜態(tài)頁(yè)面后,事情就開(kāi)始變得有趣了—因?yàn)榈搅嗽搶W(xué)JavaScript的時(shí)候了。 JavaScript是一種web瀏覽器上的編程語(yǔ)言,它的魔力就是能在頁(yè)面里制造一些動(dòng)態(tài)效果。 JavaScript可以做bookmarklets, Greasemonkey 腳本, 和 Ajax, 所以它是web上各種好東西的關(guān)于因素。 學(xué)習(xí)JavaScript從這里開(kāi)。
服務(wù)器端腳本:一旦你學(xué)會(huì)了網(wǎng)頁(yè)里的知識(shí),你就要開(kāi)始對(duì)它添加一些動(dòng)態(tài)服務(wù)器操作—為了實(shí)現(xiàn)這些,你需要把目光轉(zhuǎn)移到服務(wù)器端腳本語(yǔ)言,例如PHP, Python, Perl, 或 Ruby。 舉個(gè)例子,如果想要制作一個(gè)網(wǎng)頁(yè)形式的聯(lián)系方式表單,根據(jù)用戶的輸入發(fā)送郵件,你就需要使用服務(wù)器端腳本來(lái)實(shí)現(xiàn)。 像PHP這樣的腳本語(yǔ)言可以讓你跟web服務(wù)器上的數(shù)據(jù)庫(kù)進(jìn)行溝通,所以如果你想搭建一個(gè)用戶可以登錄注冊(cè)的網(wǎng)站,這樣的語(yǔ)言正是你需要的。 Webmonkey 是一個(gè)優(yōu)秀的web開(kāi)發(fā)資源網(wǎng)站,里面有大量的各種web編程語(yǔ)言的指導(dǎo)手冊(cè)。 閱讀一下他們的 PHP 初學(xué)者指南。 當(dāng)你感覺(jué)差不多了的時(shí)候,看看WebMonkey’s PHP and MySQL tutorial 學(xué)習(xí)如何使用PHP跟數(shù)據(jù)庫(kù)交互。 網(wǎng)上最好的要數(shù)PHP語(yǔ)言官方的在線文檔和函數(shù)參考了。 每個(gè)知識(shí)點(diǎn)上 (例如strlen function這個(gè))都在后面列出來(lái)用戶的評(píng)論注釋,這些對(duì)于文檔的本身是非常有價(jià)值的。 (我很喜歡PHP,但還有很多其他種服務(wù)器端的腳本語(yǔ)言你們都可以選擇。)
Web框架:過(guò)去數(shù)年里,web開(kāi)發(fā)人員在開(kāi)發(fā)動(dòng)態(tài)網(wǎng)站的過(guò)程中不得不一遍又一遍的針對(duì)重復(fù)遇到的問(wèn)題寫(xiě)出重復(fù)的代碼。 為了避免這種每次開(kāi)發(fā)一些新網(wǎng)站都會(huì)重復(fù)勞動(dòng)一次的問(wèn)題,一些程序員動(dòng)手搭建了一些框架,讓框架替我們完成重復(fù)性的工作。 非常流行的 Ruby on Rails 框架,作為一個(gè)例子,它利用Ruby編程語(yǔ)言,為我們提供了一個(gè)專門(mén)面向web的架構(gòu),普通的web應(yīng)用程序都能使用它來(lái)完成。 事實(shí)上,Adam使用Rails開(kāi)發(fā)了他的第一個(gè)正式的(而且是嘆為觀止的!)web應(yīng)用程序,MixTape.me。這就是 他的如何在沒(méi)有任何經(jīng)驗(yàn)的情況下搭建一個(gè)網(wǎng)站。還有一些其他的web開(kāi)發(fā)框架包括 CakePHP (針對(duì) PHP 編程者), Django (針對(duì) Python 編程中), 以及 jQuery (針對(duì) JavaScript).
Web APIs: API (應(yīng)用層序編程接口) 是指不同的軟件之間相互交換的程序途徑。 例如,如果你想在你的網(wǎng)站上放一個(gè)動(dòng)態(tài)的地圖,你可以使用Google Map,而不需要開(kāi)發(fā)自己的地圖。The Google Maps API 可以輕松的讓你通過(guò)JavaScript在程序中引入一個(gè)地圖到你的頁(yè)面上。 幾乎所有的現(xiàn)代的你所知道的和喜愛(ài)的web服務(wù)都提供了API,通過(guò)這些API你可以獲取到他們的數(shù)據(jù)和小工具,在你的應(yīng)用程序里就可以使用這些交互過(guò)來(lái)的東西了,例如Twitter, Facebook, Google Docs, Google Maps, 這個(gè)列表遠(yuǎn)不止這些。 通過(guò)API把其他web應(yīng)用集成到你的web應(yīng)用里是現(xiàn)在富web開(kāi)發(fā)的前沿地帶。 每個(gè)優(yōu)秀的主流的web服務(wù)API都附帶有完整的文檔和一些快速入手的指導(dǎo)(例如,這個(gè)就是 Twitter的)。 瘋狂吧。
相關(guān)推薦:
小升初試題、期中期末題、小學(xué)奧數(shù)題
盡在奧數(shù)網(wǎng)公眾號(hào)
歡迎使用手機(jī)、平板等移動(dòng)設(shè)備訪問(wèn)幼教網(wǎng),幼兒教育我們一路陪伴同行!>>點(diǎn)擊查看