簡介
技術永無止境,編程方向現在越來越廣了,你還在迷茫地選擇方向么?
本篇將簡單描述編程各個方面,以及編程之路會遇到的生活問題。
問題與解答
1、編程分為幾個階段?
高手箴言中把編程分為六個階段:
1、熟練地使用某種語言(java)。
2、精通基于某種平臺的開發(Android)。
3、深入地了解某個平臺系統的底層(Android 底層)。
4、直接在平臺上進行比較深層次的開發(Android NDK 開發)。
5、系統體系結構開發。
6、想啥就實現啥。
2、JAVA 技術
3、JavaScript 技術
4、C/C++ 技術
5、PHP技術
6、C#技術
7、Python技術
8、Ruby
9、Go語言
10、DLL
11、組件 控件 插件
12、框架
java框架
php框架
JavaScript框架
13、Perl技術
14、XML
可擴展標記語言,標準通用標記語言的子集,一種用于標記電子文件使其具有結構性的標記語言。
它可以用來標記數據、定義數據類型,是一種允許用戶對自己的標記語言進行定義的源語言。 它非常適合萬維網傳輸,提供統一的方法來描述和交換獨立于應用程序或供應商的結構化數據。
15、CSS
它是一種用來表現HTML(標準通用標記語言的一個應用)或XML(標準通用標記語言的一個子集)等文件樣式的計算機語言。
CSS目前最新版本為CSS3,是能夠真正做到網頁表現與內容分離的一種樣式設計語言。相對于傳統HTML的表現而言,CSS能夠對網頁中的對象的位置排版進行像素級的精確控制,支持幾乎所有的字體字號樣式,擁有對網頁對象和模型樣式編輯的能力,并能夠進行初步交互設計,是目前基于文本展示最優秀的表現設計語言。CSS能夠根據不同使用者的理解能力,簡化或者優化寫法,針對各類人群,有較強的易讀性。
16、HTML
標準通用標記語言下的一個應用,也是一種規范,一種標準, 它通過標記符號來標記要顯示的網頁中的各個部分。網頁文件本身是一種文本文件,通過在文本文件中添加標記符,可以告訴瀏覽器如何顯示其中的內容(如:文字如何處理,畫面如何安排,圖片如何顯示等)。瀏覽器按順序閱讀網頁文件,然后根據標記符解釋和顯示其標記的內容,對書寫出錯的標記將不指出其錯誤,且不停止其解釋執行過程,編制者只能通過顯示效果來分析出錯原因和出錯部位。但需要注意的是,對于不同的瀏覽器,對同一標記符可能會有不完全相同的解釋,因而可能會有不同的顯示效果。
HTML文件是可以被多種網頁瀏覽器讀取,產生網頁傳遞各類資訊的文件。從本質上來說,Internet( 互聯網)是一個由一系列傳輸協議和各類文檔所組成的集合,html文件只是其中的一種。
HTML5是HTML下一個主要的修訂版本,現在仍處于發展階段,其實是包括HTML、CSS和JavaScript在內的一套技術組合。它希望能夠減少瀏覽器對于需要插件的豐富性網絡應用服務(plug-in-based rich internet application,RIA),如Adobe Flash、Microsoft Silverlight,與Oracle JavaFX的需求,并且提供更多能有效增強網絡應用的標準集。
17、ASP
18、Delphi
19、Scala
20、Groovy
一種基于JVM(Java虛擬機)的敏捷開發語言,它結合了Python、Ruby和Smalltalk的許多強大的特性,Groovy 代碼能夠與 Java 代碼很好地結合,也能用于擴展現有代碼。由于其運行在 JVM 上的特性,Groovy 可以使用其他 Java 語言編寫的庫。
用于Java虛擬機的一種敏捷的動態語言,它是一種成熟的面向對象編程語言,既可以用于面向對象編程,又可以用作純粹的腳本語言。使用該種語言不必編寫過多的代碼,同時又具有閉包和動態語言中的其他特性。
應用:1、groovyShell 腳本語言運用 2、在Java中動態加載和運行Groovy代碼 3、groovy 腳本引擎
21、Lua
一個小巧的腳本語言,該語言的設計目的是為了嵌入應用程序中,從而為應用程序提供靈活的擴展和定制功能。
Lua腳本可以很容易的被C/C++ 代碼調用,也可以反過來調用C/C++的函數,這使得Lua在應用程序中可以被廣泛應用。
應用:
Minecraft中的電腦插件
所有的為電腦和turtle(機器人)的代碼都是基于Lua的,你可以用它們與有(無)線路由器、打印機、磁盤驅動器、(黃金)顯示器互動。
魔獸世界插件開發
游戲腳本
22、SQL
結構化查詢語言是一種數據庫查詢和程序設計語言,用于存取數據以及查詢、更新和管理關系數據庫系統;同時也是數據庫腳本文件的擴展名。
結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數據結構上工作。
它不要求用戶指定對數據的存放方法,也不需要用戶了解具體的數據存放方式,所以具有完全不同底層結構的不同數據庫系統, 可以使用相同的結構化查詢語言作為數據輸入與管理的接口。
結構化查詢語言語句可以嵌套,這使它具有極大的靈活性和強大的功能。
開源項目:sqlite 一款輕型的數據庫,是遵守ACID的關系型數據庫管理系統,它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它占用資源非常的低,在嵌入式設備中,可能只需要幾百K的內存就夠了。
23、Flash
一種動畫創作與應用程序開發于一身的創作軟件。
Flash動畫設計的三大基本功能是整個Flash動畫設計知識體系中最重要、也是最基礎的,包括:繪圖和編輯圖形、補間動畫和遮罩。這是三個緊密相連的邏輯功能,并且這三個功能自Flash誕生以來就存在。
Flash廣泛用于創建吸引人的應用程序,它們包含豐富的視頻、聲音、圖形和動畫。
24、WPF
微軟推出的基于Windows Vista的用戶界面框架,屬于.NET Framework 3.0的一部分。它提供了統一的編程模型、語言和框架,真正做到了分離界面設計人員與開發人員的工作;同時它提供了全新的多媒體交互用戶圖形界面。
Flash廣泛用于創建吸引人的應用程序,它們包含豐富的視頻、聲音、圖形和動畫。
由兩個主要部分組成:引擎和編程框架:
1、Windows Presentation Foundation引擎。Windows Presentation Foundation 引擎統一了開發人員和設計人員體驗文檔、媒體和 UI 的方式,為基于瀏覽器的體驗、基于窗體的應用程序、圖形、視頻、音頻和文檔提供了一個單一的運行時庫。
2、Windows Presentation Foundation 框架。Windows Presentation Foundation 框架為媒體、用戶界面設計和文檔提供的解決方案遠遠超過開發人員現在所擁有的。
25、Shell
在計算機科學中,Shell俗稱殼(用來區別于核),是指“提供使用者使用界面”的軟件(命令解析器)。它類似于DOS下的command和后來的cmd.exe。它接收用戶命令,然后調用相應的應用程序。
26、Objective-C
擴充C的面向對象編程語言。
作用:編寫iOS操作系統(如:iPhone、iPod touch、iPad 等蘋果移動終端設備 )應用程序。
27、QT
一個跨平臺的C++圖形用戶界面應用程序框架。它提供給應用程序開發者建立藝術級的圖形用戶界面所需的所有功能。Qt很容易擴展,并且允許真正地組件編程。基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等圖形界 面庫和 Windows 平臺上的 MFC,OWL,VCL,ATL 是同類型的東西。
Qt支持下述平臺:
MS/Windows - 95、98、NT4.0、ME、2000、XP 、 Vista、Win7、win8、win2008
Unix/X11 -Linux、SunSolaris、HP-UX、CompaqTru64 UNIX、IBMAIX、SGI IRIX、FreeBSD、BSD/OS和其它很多X11平臺
Macintosh -Mac OS X
Embedded - 有幀緩沖(framebuffer)支持的嵌入式Linux平臺,Windows CE
Symbian Symbian^3 Symbian Anna Symbian Belle
28、嵌入式
嵌入式系統是一個控制程序存儲在ROM中的嵌入式處理器控制板。
嵌入式設計是企業電子產品設計的重要組成,目前國內外中小型企業內部都建立了自己的嵌入式開發團隊。團隊所需的人員職位構成包括:(1)系統設計工程師 (2)硬件工程師 (3)底層驅動工程師 (4)Linux系統工程師 (5)應用設計工程師等。
29、逆向開發
逆向是編譯的反過程,一般用戶破解用戶加密等數據。
主要語言:匯編。
主要工具:IDA
主要應用:破解加密、游戲輔助等。
30、初級程序員和高級程序員的區別
同樣一個項目,初級程序員想的是實現功能,達到效果,高級程序員想的是架構,如何更理想、更高效率完成。
31、程序員是青春的代表么?
決定程序員之路的元素有很多--------時間、身體、家庭。
如果可以很好衡量這三者,相信你會超越喬布斯。
總結
人生之路漫漫,選擇一個自己喜歡的專業很重要,全面了解專業決定了專業水平的寬度,深入某一方面決定了水平的高度。
文章列表