『壹』 如何學習編程,從什麼幾乎開始學
選定要學習的語言,通常是c語言,python等比較容易入門的語言。而最重要的是要有持之以恆的心,每天練習,學會自己思考。
學習編程的過程:
1、看書、看博客、學課程或者看視頻等。
2、模仿著書上或者博客的代碼,進行復現,復現不重要,思考才是關鍵。
3、思考學習別人思路後,脫離書本和博客,完全自己實現功能。
4、自己實現一些 DEMO,看別人項目代碼,與別人討論,提升代碼能力。
5、在別人的框架和要求下,寫代碼實現業務。
6、自己負責別人設計的模塊的實現。
7、獨立設計業務模塊並開發實現。
8、負責大項目框架設計和拆分,帶領別人進行開發。
9、其他高階的架構和管理工作。
(1)程序員學習指南擴展閱讀
重要訣竅
1、讓編程成為一個習慣
2、把工作拆分成小塊
3、閱讀別人的代碼
4、尋找良師益友
5、寫技術文章
6、保持耐心
『貳』 想自學編程求指南
python3 廖雪峰網站自學。編程是只適合自學的,如果需要視頻和培訓班才能學,那麼基本不適合干編程了。路線都是:基礎語法-》標准庫-》分支
分支1:web編程,django框架
分支2:爬蟲,各種爬蟲庫的使用。一般爬蟲要配合數據分析和數據可視化的。
分支3:人工智慧,艱難之路。還有其他分支等等。
基礎語法邊學邊練100例的題。標准庫就可以做些工具了,自動化運維、表格等等,可玩性非常高了,我就做個抓貴金屬價格每天簡訊通知的程序。學到分支就要邊學邊做自己的小項目,還要伴隨著看他人源碼,或庫源碼等。
『叄』 編程學習必看的書
一、《Web前端開發最佳實踐》
這本書是前端開發領域的經典之作,是一本扎實前端基本功,規范我們前端代碼的實踐性書籍。本書主要講解了HTML、CSS、javascript以及移動端開發的最佳實踐方案,能夠對缺乏良好指導的開發者產生很大的幫助。通過閱讀本書我們可以掌握如何編寫高可讀性、高維護性、高性能的HTML、CSS以及Javascript。
二、《CSS那些事兒》
內容介紹:《CSS那些事兒》是2009年電子工業出版社出版的圖書,作者是林小志。該書通過對CSS技巧實例進行講解,淺入深地分析了CSS相關知識。
通過頁面中的文字、圖片、表格、表單等常見元素的處理及各種頁面布局方式的使用,使讀者能深入了解到如何在頁面中更好地運用CSS布局。尤其是在頁面布局的部分中,全面分析了多種布局方式,著重分解了兩列等高和三列等高的幾種方式,並相應說明了等高布局的優缺點。
三、《CSS權威指南》
內容介紹:《CSS權威指南》通過諸多實例,詳細講解了如何做到僅在一處建立樣式表就能創建或修改整個網站的外觀,以及如何得到html力不能及的更豐富的表現效果。同時展示了如何遵循css最新規范(css2和css2.1)將層疊樣式表的方方面面應用於實踐。
七、HTTP權威指南
內容介紹:《HTTP權威指南》由古爾利所著,《HTTP權威指南》詳細解釋了如何用HTTP來開發基於Web的應用程序,核心的[網際網路協議,如何與架構構建塊交互,如何正確實現網際網路客戶和伺服器等。
《HTTP權威指南》的中心內容是HTTP,本質是理解Web的工作原理,以及如何將這些知識應用到Web編程和管理之中,主要涵蓋HTTP的技術運作方式、產生動機、性能和目標以及一些相關技術問題。 《HTTP權威指南》適合所有想了解HTTP和Web底層結構的人閱讀。
八、高性能網站建設指南
內容介紹:《高性能網站建設指南》結合Web2.0以來Web開發領域的最新形勢和特點,介紹了網站性能問題的現狀、產生的原因,以及改善或解決性能問題的原則、技術技巧和最佳實踐。重點關注網頁的行為特徵,闡釋優化Ajax、CSS、JavaScript、Flash和圖片處理等要素的技術,全面涵蓋瀏覽器端性能問題的方方面面。
『肆』 程序員能自學嗎
如果有一定的基礎,對編程、代碼有很強烈的興趣,並且有較強的自學能力,這樣是可以自學的。因為這個專業的實踐性和邏輯性特別強,不付出一定的時間和精力是學不好的。如果真的很想當一名程序員,報班培訓是一個不錯的選擇。
程序員職業要求:
一般的程序員都有四年的在專業領域的學習,需要一個在程序領域的學士學位獲得者,不論是數學方面的還是工程方面的都是可以的。
大約有20%的人在這一領域的計算機科學和工程學擁有更高的學位。還有很小一部分程序員是自學的,盡管一些專業性的學校或者綜合大學可以提供,但是也需要一些別的途徑來提供相關的人才。盡管學歷是比較重要的,但是公司經常把重點放在應聘者的工作經驗上,很多剛從大學畢業的大學生雖然有引人注目的學位證書,但是他們找不到工作是因為他們缺乏經驗。一個程序員雖然沒有正規的學歷,但是如果一個人擁有程序設計的深厚知識背景或者豐富的工作經驗的話,那麼他的機會要比有學歷的應屆畢業生大得多。所以要盡量抓住有用的工作和實習機會,這樣的話在畢業後你就會發現,多實習讓你有更多的經驗,在找工作的時候就有更多的機會。
對於職業程序員,另外一個重要的方面就是,程序員需要不斷提升自己的業務技術,他的技術必須一直保持在一個較高的水平,並且要不斷發展,程序員也要尋找貿易的機會,要參加研討會,在周刊上發表文章和接受職業教育,這些使程序員在自己的領域中分級或者不斷並排前進。
程序員-網路
『伍』 我准備考程序員要學什麼
1、Java
Java編程語言(第三版)---Java四大名著----James Gosling(Java之父)
Java編程思想(第2版)----Java四大名著----Bruce Eckel
Java編程思想(第3版)----Java四大名著----------------Bruce Eckel
JAVA 2核心技術 卷I:基礎知識(原書第7版)---Java四大名著-----Cay Horstmann
JAVA 2核心技術 卷II:高級特性(原書第7版)----Java四大名著-----Cay Horstmann
Effective Java中文版------Java四大名著--------Joshua Bloch
精通Struts:基於MVC的Java Web設計與開發---孫衛琴
精通Hibernate:Java對象持久化技術詳解---孫衛琴
Tomcat與Java Web開發技術詳解------------孫衛琴
Java與模式------------------------------閻宏
2、c#
C#程序設計-------Charles Petzold「windows編程泰山北斗」---C#語言「倚天屠龍雙劍」
C# Primer中文版--------Stanley B.Lippman---C#語言「倚天屠龍雙劍」
.NET框架程序設計(修訂版)--------Jeffrey Richter「windows編程泰山北斗」---.NET平台四大天王
c#Windows程序設計----------Charles Petzold「windows編程泰山北斗」------.NET平台四大天王
.NET程序設計技術內幕-------------Jeff Prosise---.NET平台四大天王
.NET本質論--第1卷:公共語言運行庫(中文版)--------Chris Sells---.NET平台四大天王
3、C++
C++程序設計語言(特別版)---c++八大金剛----Bjarne Stroustrup「C++之父」
C++ Primer (第3版)中文版----c++八大金剛---Stanley B.Lippman
C++ Primer (第4版)中文版----c++八大金剛---Stanley B.Lippman
C++標准程序庫—自修教程與參考手冊--c++八大金剛--Nicolai M.Josuttis
C++語言的設計和演化-----c++八大金剛----Bjarne Stroustrup「C++之父」
深度探索C++對象模型---c++八大金剛----Stanley B.Lippman
Essential C++中文版---c++八大金剛---Stanley B.Lippman
Effective C++中文版 2nd Edition-----c++八大金剛------Scott Meyers
More Effective C++中文版----c++八大金剛------Scott Meyers
C++編程思想(第2版) 第1卷:標准C++導引--------Bruce Eckel
C++編程思想(第2版)第2卷:實用編程技術 --------Bruce Eckel
C++程序設計--------------------------譚浩強
C++ 程序設計教程(第2版)--------------錢能
C++ Primer Plus(第五版)中文版---Stephen Prata
廣博如四庫全書The c++ programming language、c++ Primer 深奧如山重水復Inside the c++ object model 程序庫大全The c++ standard libray 工程經驗之積累Effective c++、More Effective c++、Exceptional c++
c++八大金剛: 1、Essentital c++---lippman---C++之父,旁枝暫略,主攻核心,輕薄短小,初學者
2、The c++ programming language----C++之父,技術權威,用詞深峻,思想深遠,c++網路全書代表,聖經。 3、c++ Primer----lippman---縱橫書市十數年,c++最佳教本,c++網路全書代表。 4、Inside the c++ object model-----lippman----揭示c++底層,非常好,非常難。 5、Effective c++-----通過50個編程實例,展示專家經驗,行文有趣,深處淺出。 6、More Effective c++----通過35個編程實例,展示專家經驗,行文有趣,深處淺出。 7、The c++ standard libray---c++標准庫的網路全書。 8、設計模式:可復用面向對象軟體的基礎------good!
4、c
C程序設計語言(第2版·新版)---C語言「倚天屠龍雙劍」---Brian W.Kernighan「C語言之父」
C Primer Plus中文版(第五版)--------C語言「倚天屠龍雙劍」---Stephen Prata
C程序設計(第三版)---------------------------譚浩強
C語言大全(第四版)---------------------------HERBERT SCHILDT
C語言介面與實現:創建可重用軟體的技術-------------DAVID R.HANSON
C語言參考手冊(原書第5版)--------------------------Samuel P.Harbison
C程序設計教程---------------------------------H.M.Deitel/P.J.Deitel
C陷阱與缺陷-----------------------------------Andrew Koenig
5、VB
Visual Basic .NET技術內幕-----VB編程三劍客-----------Francesco Balena「vb首席大師」
Windows程序設計-Visual Basic.NET語言描述--VB編程三劍客-----Charles Petzold「windows編程泰山北斗」---
.NET框架程序設計:Visual Basic.NET語言描述--VB編程三劍客--Jeffrey Richter「windows編程泰山北斗」---,Francesco Balena「vb首席大師」
Visual Basic 6編程技術大全------------------------Francesco Balena「vb首席大師」
Visual Basic.NET 從入門到精通-------------------------Petroutsos,E.
高級VISUAL BASIC編程-----------------------------------MATTHEW CURLAND
6、Delphi
Inside VCL(深入核心——VCL架構剖析)----------李維
Delphi 7高效資料庫程序設計--------------李維
面向對象開發實踐之路(Delphi版)----------李維
7、VC
Windows 程序設計(第5版)-----Charles Petzold「windows編程泰山北斗」---
Windows核心編程----------Jeffrey Richter「windows編程泰山北斗」---
Windows高級編程指南---------Jeffrey Richter「windows編程泰山北斗」---
深入淺出MFC(第二版)-----「MFC四大天王」-------侯捷
MFC Windows程序設計(第2版)---MFC四大天王」---------Jeff Prosise
Visual C++ 技術內幕(第4版)--MFC四大天王」--------David Kruglinski
深入解析MFC-------------MFC四大天王」-----------George Shepherd
Visual C++.NET 技術內幕(第6版)-MFC四大天王」------------David Kruglinski
8、VF
Visual Foxpro程序設計參考手冊-------------------張洪舉
專家門診——Visual FoxPro開發答疑160問-------------------張洪舉
Visual FoxPro 6.0/9.0解決方案與範例大全-------------------張洪舉
Visual FoxPro軟體開發模式與應用案例-------------------張洪舉
9、黑客
應用密碼學(協議演算法與C源程序-----------Bruce Schneier
網路信息安全的真相-----------Bruce Schneier
黑客大曝光:網路安全機密與解決方案(第5版)--------STUART MCCLURE
軟體加密技術內幕------------看雪學院
加密與解密——軟體保護技術與完全解決方案------------看雪學院
加密與解密(第二版)--------段鋼
10、匯編
Intel微處理器結構、編程與介面(第六版)---------Barry B. Brey
80*86、奔騰機匯編語言程序設計---------Barry B. Brey
Windows環境下32位匯編語言程序設計(第2版)-----------羅雲彬
IBM-PC匯編語言程序設計(第2版) 本書是國內優秀教材--------沈美明 溫冬嬋
IBM PC匯編語言程序設計(第五版) 這本書籍是國外優秀教材-------PETER ABEL著,沈美明 溫冬蟬譯
11、驅動開發
Windows WDM設備驅動程序開發指南------------------------------------ Chris Cant
Windows 2000/XP WDM設備驅動程序開發(第2版)--------------------------武安河
WINDOWS 2000/XP WDM設備驅動程序開發-------------------------------- 武安河
12、網路
計算機網路第四版中文版----網路編程三劍客--------------Andrew S.Tanenbaum
TCP/IP詳解3卷本--------------------Richard Stevens----網路編程三劍客
UNIX網路編程2卷本--------------------Richard Stevens----網路編程三劍客
用TCP/IP進行網際互聯-----------Douglas E. Comer
高級TCP/IP編程-------------------Jon C. Snader
C++網路編程-----------------------Douglas Schmidt
UNIX環境高級編程(第2版)--------------------Richard Stevens
13、演算法
計算機程序設計藝術-------Donald.E.Knuth----------演算法「倚天屠龍」雙劍
演算法導論-----------------Thomas H. Cormen--------演算法「倚天屠龍」雙劍
離散數學及其應用----------Kenneth H.Rosen
具體數學—計算機科學基礎--------Donald.E.Knuth
14、圖形編程 Windows 圖形編程----------------FENG YUAN --圖形編程界的Charles Petzold之書
15、數據結構
數據結構 C++語言描述》58.00(Data Structures C++) William Ford,William Topp 劉衛東 沈官林
數據結構演算法與應用-C++語言描述》49.00Sartej Sahni 汪詩林 孫曉東等機械工業出版社
16、軟體工程
設計模式--可復用面向對象軟體的基礎
重構—改善既有代碼的設計
17、操作系統
深入理解計算機系統(修訂版)-------RANDAL E.BRYANT
18、Unix
UNIX 網路編程 卷I 套接字聯網API(英文版第三版 UNIX 編程藝術 UNIX環境高級編程(英文影印第2版-----UNIX編程「聖經 UNIX環境高級編程(英文影印版)(第2版) 99-UNIX環境高級編程(第2版) UNIX環境高級編程(第2版)---UNIX編程「聖經 UNIX網路編程 第1卷:套介面API(第3版) UNIX網路編程卷2:進程間通信(第2版)(英文影印版) UNIX 網路編程(第二版)第2卷:進程間通信 UNIX編程環境 UNIX 網路編程 卷I 套接字聯網API(英文版第三版 UNIX系統編程 UNIX環境高級編程 UNIX環境高級編程(英文影印版 88-linux內核分析及編程 UNIX 網路編程 卷I 套接字聯網API(英文版第三版) UNIX網路編程 第1卷:套介面API(第3版) UNIX 網路編程(第二版)第2卷:進程間通信 UNIX網路編程卷2:進程間通信(第2版)(英文影印版) UNIX 網路編程(第2版)第1卷:套介面API和X/Open 傳輸介面API UNIX網路編程(卷1):連網的APLS:套接字與XTI(第二版)(英文影印版) UNIX環境高級編程 UNIX 環境高級編程(英文版) UNIX環境高級編程(第2版) Unix技術手冊
19、Linux
Linux內核設計與實現 Linux內核完全注釋 LINUX內核分析及編程 GNU/Linux 編程指南(第二版) Linux設備驅動程序(第三版)嵌入式設計及Linux驅動開發指南——基於ARM 9處理器 Linux設備驅動程序 第三版(英文影印版) Linux內核設計與實現(第2版) Linux內核設計與實現(英文影印版)(第2版) linux技術手冊
20、游戲編程
Windows游戲編程大師技巧(第二版游戲之旅--我的編程感悟 OpenGL超級寶典:第三版 OpenGL編程指南(第四版) Java 游戲高級編程 J2ME手機游戲編程入門 游戲之旅——我的編程感悟游戲開發中的人工智慧(英文影印版) 3D游戲:卷2 動畫與高級實時渲染技術面向對象的游戲開發 Java 游戲高級編程 3D游戲編程大師技巧游戲編程精粹面向對象的游戲開發 3D游戲 卷1:實時渲染與軟體技術 3D游戲:卷2 動畫與高級實時渲染技… J2ME手機游戲編程入門 Direct3D游戲編程入門教程(第二版…
21、移動開發
Windows Mobile手機應用開發 SYMBIAN OS C++手機應用開發 68-Windows Mobile手機應用開發--傅曦 齊宇 徐駿 48-SYMBIAN OS C++手機應用開發 (第2卷)------------------RICHARD HARRISON著,周良忠 王伯欣譯 68-SYMBIAN OS C++手機應用開發---------------RICHARD HARRISON著,周良忠譯 Windows CE.net內核定製及應用程序開發---------周毓林 寧楊 陸貴強 付林林 嵌入式系統Windows CE 開發技巧與實例--傅曦 Palm OS編程實踐---絕版
22、單片機
單片機輕松入門----------------------------------周堅(平凡老師)
單片機典型模塊設計實例導航-----------------------求是科技
例說8051----------------------------------------張義和 陳敵北
KEIL CX51 V7.0單片機高級語言編程與ΜVISION2應用實踐-----徐愛鈞
單片機應用程序設計技術(修訂版)--------------------周航慈
8051單片機實踐與應用-------------------------------吳金戎
MCS-51系列單片機實用介面技術---------------------李華
23、串並口通訊
Visual C++/Turbo C串口通信編程實踐------------------龔建偉
VISUAL BASIC與RS-232串列通信控制(最新版)----------范逸之
24、電子
無線電識圖與電路故障分析輕松入門(第二版) -------------------胡斌
無線電元器件檢測與修理技術輕松入門(第二版) -------------------胡斌
圖表細說電子技術識圖-------------------胡斌
圖表細說電子元器件-------------------胡斌
圖表細說元器件及實用電路-------------------胡斌
『陸』 編程入門學習指導JAVA
建議你這樣學
先看中文API文檔,JDK裡面也有例子的,入門必看
然後開始
類型/類/對象/數組/字元串 -- swing/awt -- 多線程 -- 異常處理 -- 單元調試
學到這里語言就掌握得差不多了,IDE用NETBEANS或者是ECLIPSE。
就可以轉方向了..
ME 的:無非就是游戲開發,還有一些s40,S60,藍牙,PDA 的API要學,3d建議也學學
EE 的: jsp -- javabean -- struts -- webwork -- hibernate -- jndi --
ejb 3.0 -- jsf -- spring2.0 -- jax api
EE的學習曲線陡,但好找工作,你自己也決定好...別三心兩意哦...
記得加我分就是了..
『柒』 當java程序員應該學什麼,並且學的順序是什麼
入門(1-2 個月)
目標:參與簡單的項目開發。
技能:
熟練使用一種 IDE。Intellij IDEA或者 Eclipse 都可以,推薦使用前者。至少熟悉常用的快捷鍵,會 debug(包括遠程 debug)項目。
熟悉一種編輯器。比如 Vim/Emacs/Sublime Text,至少學會搜索/替換/代碼補全。
掌握 Java。經典的《Java 核心技術:卷1 基礎知識》(或者《Java 編程思想》)必看,跳過其中的圖形和 applet 章節。習慣查閱 Java API Doc。為了保證代碼的質量,《Effective Java》、《Clean Code》和《重構》也需要至少通讀一遍。
熟悉 Linux 開發環境和 bash shell。Linux 是我們的開發和部署環境,你最好盡快熟練它。Linux 的基本使用可以通過《鳥哥的Linux私房菜:基礎學習篇(第三版)》學習,開發 bash shell 腳本可以參考《Linux Shell腳本攻略》。
掌握開發工具
掌握 JDK 以外的常用類庫和工具包。JDK 原生 API 在很多場景下使用並不方便。你需要掌握社區貢獻的優秀類庫和工具包,比如 apache commons、google guava 等,具體可以翻閱 服務端技術選型 的Utility 篇。
掌握 Web 開發框架。我們使用 Spring(或Rose) + Ibatis(或Jade) 開發 web 服務,你需要熟練掌握它們。
學習代碼規范。我們大致上遵循 oracle 的 Java 語言編碼規范,你可以先閱讀並熟悉它。Code Formatting 文件在 git@xxx/coding-standard.git,在編寫代碼之前,請把它導入到 IDE 中。另外,確認 IDE 已經安裝 Findbugs 和 CheckStyle 插件。
熟悉開發流程。我們的開發流程大致如下:功能開發->單元測試->功能測試->Code Review->集成測試->發布。確保你熟悉其中的每個環節。
其他。需要熟練使用版本控制工具 Git(閱讀:《Git 權威指南》),以及項目構建工具 Maven(閱讀:《Maven 實戰》)。另外,在這個階段可以嘗試 TDD 開發。
『捌』 程序員入門:如何自學編程
1、選定方向
編程的世界是多元紛繁的,大的方向就分前端開發、後端開發、移動開發、雲計算、數據處理、智能硬體、物聯網、虛擬現實等等,光編程語言都幾十種。如果沒有做過功課,貿然進入只會分分鍾懵逼。所以最好是根據自己的興趣愛好再結合市場前景,先選定一個方向,再選擇一門語言,然後頭也不回的深深扎進去。
2、優化學習方式
做好筆記,記錄經驗,我們大多數人並沒有過目不忘的神技,很多時候我們學了也不一定馬上掌握,需要過後花時間慢慢領悟,而且還有忘掉的風險,所以對於重要的知識點都要做好筆記。
3、多看官方文檔,外文資料
互聯網是一個更新迭代很快的行業,所有編程語言都會不斷的更新新功能和修復舊Bug,網上查的資料很有可能是舊的解決方案,現在已經不適用了。所以最好最快的方法就是查看官方文檔。
4、動手做項目
我們學習編程的最終目的就是用所學的做出具有一定功能的項目,而做項目又是最好的學習和鞏固知識的方式。如果前期能力不足就先做一些簡單的功能模塊,一步一步慢慢來,不要一開始就要實現各種酷炫炸天功能,遇到不會的就在網上查, 現在互聯網這么發達,獲取資源也及其方便。
『玖』 程序員101:如何自學編程
你也許曾經想過要學習如何開發軟體或只是想臨時的寫出一個腳本但不知道如何入手。 幸運的是,現在的互聯網上到處都有豐富的學習資源讓你能在短時間里成為一個程序員。因為互聯網的出現,使程序員們可以通過它討論軟體開發技術,發布學習指導,以及共享代碼實例讓其他人可以在線學習。 如果你感興趣如何才能成為一個程序員,從網上這些大量的優秀的培訓資料、學習向導入手將會是個不錯的開始。首要之首:不要急於選擇一種語言新手們有一個常見的錯誤就是猶豫於判斷哪種編程語言是做好的、最該先學的。 我們有很多的選擇,但你不能說那種語言最好。 我們應該理解:說到底,什麼語言並不重要。 重要的是理解數據結構、控制邏輯和設計模式。任何一種語言甚至一種簡單的腳本語言都會具有所有編程語言都共有的各種特徵,也就是說各種語言是貫通的。 我正在攻讀我的計算機學學位,我編程使用Pascal,匯編,和C語言,事實上我從來沒有把它當成職業以求獲得回報。 我一直在自學編程,工作上用不到它,我使用現有的知識,參考各種文檔和書本,學習它們的用法。 因此,不要急於選擇何種編程語言。 找出你想要開發的東西,使用一種能夠完成這項任務的語言,這就可以了。根據各種開發平台的不同,有很多不同的軟體開發形式可供你選擇:從網站應用到桌面軟體到智能手機軟體到命令行腳本工具。 這篇文章里,我將重點介紹一些很受歡迎的入門教程和資源,它們能幫助你學會如何在各種主流的平台上編程開發。 我先假設你是一個悟性很強的讀者,但對於新手,當我談論程序代碼時還是要按照入門級的水平。 因為即使是你自己看一篇編程入門 手冊,如果發現都能理解時,心情自然會很高興,這樣利於你進一步學習。桌面腳本想要動手在Windows里或蘋果系統里編程,最簡單的方法是從一種腳本語言或宏語言開始,例如AutoHotkey (Windows) 或 Automator (蘋果系統)。 如今一些硬體程序員沖著他們的屏幕大喊大叫,說AHK和AppleScript並不是真正的編程語言。 也許他們說的是對的技術上,這些種類的語言只能做一些上層的編程。 但是對於那些只是想來脫盲、想在他們的電腦里實現一些能自動運行的程序的新手來說,這些語言會是一個絕妙的入門入口而且你會吃驚於它們豐富的功能。例如,大家都喜愛的Texter就是Adam使用AutoHotkey開發的能獨立運行的Windows應用程序,所以說這種腳本語言遠不是只能開發小規模腳本軟體。 如果你想從AutoHotkey入手,可以參考Adam的指導: how to turn any action into a keyboard shortcut using AutoHotkey(然後,你可以下載 Texter源代碼 看看這個功能齊全的使用AHK開發的Windows應用程序的內部結構)。Web開發除了把自己約束在特定的編程語言和特定的操作系統上,你還可以在瀏覽器里開發你的殺手鐧程序,讓它在互聯網上運行,這就是webapp。 歡迎來到奇妙的web編程世界。HTML 和 CSS:開發網站,你第一件要知道的事情就是HTML(網頁就是由它組成的)和CSS(一種讓外觀更好看的樣式標記)。 HTML 和 CSS 並不是編程語言它們只是頁面的結構和樣式信息。 然而,在開始開發web應用程序之前你必須要學會如何手工的編寫簡單的HTML和CSS,web頁面是任何webapp的前端顯示部分。 這個 HTML 指導 是你入手的好地方。JavaScript:當你可以通過HTML和CSS構建一個靜態頁面後,事情就開始變得有趣了因為到了該學JavaScript的時候了。 JavaScript是一種web瀏覽器上的編程語言,它的魔力就是能在頁面里製造一些動態效果。 JavaScript可以做bookmarklets, Greasemonkey 腳本, 和 Ajax, 所以它是web上各種好東西的關於因素。 學習JavaScript從這里開。伺服器端腳本:一旦你學會了網頁里的知識,你就要開始對它添加一些動態伺服器操作為了實現這些,你需要把目光轉移到伺服器端腳本語言,例如PHP, Python, Perl, 或 Ruby。 舉個例子,如果想要製作一個網頁形式的聯系方式表單,根據用戶的輸入發送郵件,你就需要使用伺服器端腳本來實現。 像PHP這樣的腳本語言可以讓你跟web伺服器上的資料庫進行溝通,所以如果你想搭建一個用戶可以登錄注冊的網站,這樣的語言正是你需要的。 Webmonkey 是一個優秀的web開發資源網站,裡面有大量的各種web編程語言的指導手冊。 閱讀一下他們的 PHP 初學者指南。 當你感覺差不多了的時候,看看WebMonkeys PHP and MySQL tutorial 學習如何使用PHP跟資料庫交互。 網上最好的要數PHP語言官方的在線文檔和函數參考了。 每個知識點上 (例如strlen function這個)都在後面列出來用戶的評論注釋,這些對於文檔的本身是非常有價值的。 (我很喜歡PHP,但還有很多其他種伺服器端的腳本語言你們都可以選擇。)Web框架:過去數年裡,web開發人員在開發動態網站的過程中不得不一遍又一遍的針對重復遇到的問題寫出重復的代碼。 為了避免這種每次開發一些新網站都會重復勞動一次的問題,一些程序員動手搭建了一些框架,讓框架替我們完成重復性的工作。 非常流行的 Ruby on Rails 框架,作為一個例子,它利用Ruby編程語言,為我們提供了一個專門面向web的架構,普通的web應用程序都能使用它來完成。 事實上,Adam使用Rails開發了他的第一個正式的(而且是嘆為觀止的!)web應用程序,MixTape.me。這就是 他的如何在沒有任何經驗的情況下搭建一個網站。還有一些其他的web開發框架包括 CakePHP (針對 PHP 編程者), Django (針對 Python 編程中), 以及 jQuery (針對 JavaScript).Web APIs: API (應用層序編程介面) 是指不同的軟體之間相互交換的程序途徑。 例如,如果你想在你的網站上放一個動態的地圖,你可以使用Google Map,而不需要開發自己的地圖。 The Google Maps API 可以輕松的讓你通過JavaScript在程序中引入一個地圖到你的頁面上。 幾乎所有的現代的你所知道的和喜愛的web服務都提供了API,通過這些API你可以獲取到他們的數據和小工具,在你的應用程序里就可以使用這些交互過來的東西了,例如Twitter, Facebook, Google Docs, Google Maps, 這個列表遠不止這些。 通過API把其他web應用集成到你的web應用里是現在富web開發的前沿地帶。 每個優秀的主流的web服務API都附帶有完整的文檔和一些快速入手的指導(例如,這個就是 Twitter的)。 瘋狂吧。命令行腳本如果你想開發一個程序,讓它讀取文字或文件、輸入輸出一些有用的東西,那麼,命令行腳本語言將是個不錯的選擇。 然而它並不像web應用程序和桌面應用程序那樣有吸引力和好看的外觀,但是作為快速開發的腳本語言,你卻不能忽視它們。很多的在linux平台上運行的web腳本同樣能以命令行模式運行,例如Perl,Python和PHP,所以如果你學會了使用它們,你將能在兩種環境中使用它們。 我的學習道路一直沒離開Peal太遠,我自學Python使用的是這本優秀的在線免費書Dive into Python。如果成為一個Unix高手也是你學習的目標,那麼你絕對要精通bash這個腳本語言。 Bash是Unix和Linux環境下的一種命令行腳本語言,它能夠為你做所以的事情:從自動備份資料庫腳本到功能齊全的用戶交互程序。 起初我沒有任何使用bash腳本的經驗,但最終我用bash開發了一個全功能的個人代辦任務管理器: Todo.txt CLI。插件(Add-ons)如今的web應用程序和瀏覽器都可以通過一些擴展軟體來豐富自己的功能。 由於一些現有的軟體,例如Firefox、WordPress越來越受到開發人員的關注,插件的開發也日益流行,人們都在說But if only it could do THIS只要你掌握了HTML,JavaScript和CSS,你就可以在任何的瀏覽器里開發你想要的很多東西。 Bookmarklets, Greasemonkey user scripts, 和 Stylish user styles這些軟體都是用的更普通頁面一樣的語言寫成的, 這幾個東西都值得你去研究一些。更高級的瀏覽器擴展程序,例如Firefox的擴展,它們可以幫助你很多。 開發Firefox的擴展,舉個例子,需要你精通JavaScript和XML(一種標記語言,類似HTML,但具有更嚴格的格式)。 早在2007年我就寫下來 how to build a Firefox extension, 這是我在笨手笨腳的研究網上的一些學習資料後獲得的成果。很多免費的、受歡迎的web應用程序都提供了擴展框架,例如WordPress 和 MediaWiki。 這些應用程序都是用PHP寫成的,所以只有對PHP熟悉你才能做這些事情。 這個就是 如何編寫WordPress插件。 而想駕馭Google Wave前沿技術的開發人員可以從使用HTML, JavaScript, Java, 和 Python 寫小組件和小工具開始。 我寫的第一個Wave bot是跟著這個 一個下午時間的快速入門指導開始的。開發桌面上的Web應用程序學習編程最好的結果是你在一個環境下學的東西可以應用到另外的環境中。 先學習開發web應用程序的好處就是我們有一些方法可以讓web應用程序直接在桌面上運行。 例如, Adobe AIR 是一個跨平台的即時運行平台,它能讓你編寫的程序運行在任何裝有AIR的操作系統的桌面上。 AIR應用程序都是由HTML, Flash, 或 Flex 寫成的,所以它能讓你的web程序在桌面環境中運行。 AIR是開發部署桌面應用程序的一個優秀的選擇,就像我們提到過的 10個讓你值得去安裝AIR的應用程序。移動應用開發能在iPhone或者Android智能手機上運行的手機應用程序的開發如今正呈現井噴之勢,所以你也可以夢想一下如何在iTunes應用商店裡通過你的天才程序大賺一筆。 但是,作為一個編碼新手,直接奔向移動開發所經歷的學習曲線可能會很陡,因為它需要你熟悉高級的編程語言,例如Java和Objective C。 然而,你當然應該看看iPhone 和 Android 編程究竟是什麼樣子的。 閱讀這個 簡單的iPhone應用開發例子 可以初步認識一下iPhone程序的開發過程。 Android 程序都是由Java寫成的,這有一個 簡單的視頻教程教你如何開發第一個Hello Android程序(註:可能需要代理才能看這個視頻)。耐心,刻苦,嘗試,失敗好的程序員都有一個不達目的誓不罷休的品質,他們會驚喜於通過長期推敲和失敗換來的一點成績。 學會編程會有很好的回報的,但是學習的過程可能會是飽受挫折和孤獨的。 如果有可能,最好找個伴一起陪你做這件事。 想精通編程,這和其他事情一樣,需要堅持,反復嘗試,獲得更多的經驗。這篇文章里的內容就是對那些想通過自我研究達到學會編程目的的新手們的一些重要建議。 編程老手們:我有什麼遺漏嗎? 不論你的水平如何,請留下你的想法。