目錄
- ? 安卓編程
- ? 智能手機
- ? 編程學校
- ? 為什么編程是21世紀的核心技能
- ? 編程能力有多大用處?
- ? 編程崗位需求有多大?
執行原理
計算機對除機器語言以外的源程序不能直接識別、理解和執行,都必須通過某種方式轉換為計算機能夠直接執行的機器語言。
這種將高級程序設計語言編寫的源程序轉換到機器目標程序的方式有兩種:解釋方式和編譯方式。
解釋方式下,計算機對高級語言書寫的源程序一邊解釋一邊執行,不能形成目標文件和執行文件。
編譯方式下,首先通過一個對應于所用程序設計語言的編譯程序對源程序進行處理,經過對源程序的詞法分析、語法分析、語意分析、代碼生成和代碼優化等階段將所處理的源程序轉換為用二進制代碼表示的目標程序,然后通過連接程序處理將程序中所用的函數調用、系統功能調用等嵌入到目標程序中,構成一個可以連續執行的二進制執行文件。調用這個執行文件就可以實現程序員在對應源程序文件中所指定的相應功能。
基本簡介
編程就是讓計算機為解決某個問題而使用某種程序設計語言編寫程序代碼,并最終得到結果的過程。為了使計算機能夠理解人的意圖,人類就必須要將需解決的問題的思路、方法、和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令一步一步去工作,完成某種特定的任務。這種人和計算機之間交流的過程就是編程。
語言沿革
1946
Konrad Zuse,一位德國工程師,他躲藏在巴伐利亞附近的阿爾卑斯山上時,獨立開發了Plankalkul。他把該項成果應用在其它的事物中,比如國際象棋。
1949
Short Code ,xxx種真正在電子計算設備上使用的計算機語言,盡管他是一個純手工編譯的的語言。
1951
Grace Hopper,為Remington Rand工作,是在xxx個著名的編譯器——A-o上開始設計工作。當Rand在1957年發布這個語言時,它被稱為MATH-MATIC。
1952
Alick E. Glennie ,他利用自己在曼徹斯特大學的課余時間,發明了一個名為AUTOCODE的編程系統,一個未能成型的編譯器。
1957
FORTRAN——數學公式轉換系統(FORmula TRANslating,FORTRAN名字的由來)——出現。開發隊伍的領導者是John Backus,并且他還為ALGOL的開發和巴柯斯范式(BNF)做出了貢獻。
1958
FORTRAN II出現,它能夠處理子程序和連接匯編語言。由M.I.T的John McCarthy在LISP-LISt Processing上開始設計工作。原始ALGOL規范出現。該規范并未描述數據的輸入輸出方式;這些問題都留給獨立的實現者。
20世紀六十年代末
Pascal 由瑞士Niklaus Wirth教授于設計并創立,具有簡潔的語法,結構化的程序結構,是結構化編程語言,在許多學校的計算機語言課上教授的都是Pascal語言。
創建COBOL
1959
LISP1.5出現。COBOL在數據系統和語言大會(Conference on Data System and Languages)上被創建了。
編譯器出現
1960
ALGOL 60 ,xxx種結構化語言出現。它是結構化語言家族樹中的根節點,并最終產生Pascal這樣的語言。ALGOL成為六十年代中期至末期歐洲最為流行的語言。
六十年代早期,Kenneth Iverson開始語言方面的工作,最終產生了APL-A編程語言。它使用專門的字符集,為了正確地使用,你還需要兼容APL的I/O設備。
1962
APL被寫入Iverson的《A Programming Language》一書中。
FORTRAN IV出現。
SNOBOL這個以“首字母拼詞命名”的產品,在工作的初期就取得了xxx的成功,SNOBOL——面向字符串符號(StriNg Oriented symBOlic Language)語言。它衍生了其他一些以首字母拼詞命名的產品:FASBOL,一個SNOBOL編譯器(1971年),還有SPITBOL——Speedy ImplemenTation of snoBOL——同樣在1971年。
1963
ALGOL 60進行修正。
PL/1的工作開始。
1964
APL360被實現。
在達特茅斯大學,John G.Kemeny和Thomas E.Kurtz教授發明了BASIC。最初的實現是一個編譯器。xxx個BASIC程序在1964年五月一日下午四點運行。PL/1發布。
1965
SNOBOL3出現。
1966
FORTRAN 66出現。
LISP 2出現。
在Bolt,Beranek和Newman開始了LOGO的工作。小組的頭是Wally Fuerzeig,而且還包括Seymour Papert。LOGO中最著名的便是“龜作圖”。
1967
SNOBOL4,功能獲得極大加強的SNOBOL,出現了。
1968
ALGOL 68,相對于ALGOL 60它是個怪物。一些規范委員會的成員——包括C.A.R.Hoare和Niklaus Wirth——卻贊同該計劃。事實證明ALGOL 68是難以實現的。
ALTRAN,一個FORTRAN的變種出現。
COBOL被ANSI正式定義規范。
Niklaus Wirth開始Pascal方面的工作。
1969
500人參加在紐約Armonk的IBM總部召開的APL會議。APL的分發需求如此之大,該活動此后被人們稱為“The March on Armonk”。
程序編寫
1970
70年代早期,Charles Moore在他的語言Forth中寫下了xxx個有意義的程序。
Prolog方面的工作大約在此時開始了。
同樣是在70年代早期的某一天,Xerox PARC由Alan Kay領導,開始了Smalltalk的設計工作。早期版本包括Smalltalk-72,Smalltalk-74和Smalltalk-76。
Pascal在CDC 6000-series電腦上的一個實現出現了。
Icon,SNOBOL4的一個后代產品問世。
1972
Konrad Zuse寫的關于Plankalkul(見1946年)手稿終于出版了。
Dennis Ritchie設計了C。但是最終的參考手冊卻是在1974年發布的。
Prolog的xxx個實現——Alain Colmerauer和Phillip Roussel的功勞。
1974
另一個COBOL的ANSI規范出現。
1975
Tiny BASIC,由Bob Albrecht和Dennis Allison設計(由Dick Whipple和John Arnold實現),運行在2KB內存的微型計算機上。一臺4KB的機器是較為合適的,它將有2KB的內存應用于這個程序上。
Bill Gates和Paul Allen編寫的一個BASIC版本以抽取每份拷貝版稅的形式銷售給MITS(Micro Instrumentation and Telemetry Systems)。MITS生產Altair,這是一種8080結構的微型計算機。
Scheme,一個LISP的“方言”,由G.L. Steele和G.J. Sussman設計。
Pascal用戶手冊和報告出版,Jensen和Wirth編寫。許多人至今都認為它是Pascal方面權威的參考書籍。
B.W. Kerninghan描述了RATFOR——RATional FORTRAN。它是預處理程序,并且允許在FORTRAN中使用類C的控制結構。RATFOR被應用到了Kernighan和Plauger的“Software Tools”中,它出現在1976年。
PostScript
1976
Design System Language出現,它被認為是PostScript的先驅。
1977
MUMPS的ANSI標準出現——麻省總醫院多用途程序設計系統(Massachusetts General Hospital Utility Multi-Programming System)。MUMPS最初被用來處理醫療記錄,它只能識別字符串類型。隨后被重新命名為M。
設計競賽將導致Ada的產生。由Jean Ichbiah帶領的Honeywell Bull隊伍,即將贏得比賽。
Kim Harris和其他人建立了FIG,一個FORTH興趣小組。他們開發了FIG-FORTH,售價大約為20美元。
70年代晚期的某天,Kenneth Bowles設計出了UCSD Pascal,它使得Pascal可以用在PDP-11和基于Z80 的電腦上。
Niklaus Wirth開始設計Modula,它Modula-2的先行者,Pascal的繼承者。
語言程序
1978
AWK——一個文本處理語言,以它設計者Aho、Weinberger和Kernighan的名字命名。
FORTRAN 77的ANSI標準出現。
1980
Smalltalk-80出現。
Modula-2出現。
Franz LISP出現。
Bjarne Stroustrup開發了一個語言集——被總稱為“C With Classes”——它成為C++的滋生土壤。
1981
Effort開始成為一個LISP的“公共方言”,常被人稱作Common LISP。
日本開始第五代電腦系統工程。主要語言是Prolog。
1982
ISO Pascal出現。
PostScript出現。
1983
Smalltalk-80公布:它由Goldberg等人完成。
Ada出現。他的名字來自Lovelace女伯爵Augusta Ada Byron,她是英國詩人拜倫的女兒。因其在巴貝奇分析機上設計了解伯努利方程的一個程序,而被譽為xxx位女程序員。在1983年,國防部指導的全新“任務評定”應用程序是使用該語言編寫的。
1983年的后期和1984年早期,微軟和Digital Research共同發布xxx個微型計算機的C編譯器。
七月,xxx個C++實現露面。該名稱是由Rick Mascitti取的。
11月,Borland的Turbo Pascal的“沖擊”猶如一場核風暴,這得益于《BYTE》雜志的廣告。
1984
APL2的參考手冊面世。APL2是APL的擴展,它允許嵌套數組。
1985
Forth控制著潛水器定位泰坦尼克號的殘骸。
Vanilla SNOBOL4之微機版發布。
Methods,PC上的面向行(line-oriented)的Smalltalk出現。
微機版本
1986
Smalltalk/V露面——xxx個廣泛應用于微機的Smalltalk版本。
Apple公司為Mac機器發布Object Pascal。
Borland發布Turbo Prolog。
Charles Duff發布Actor,一個開發微軟Windows應用程序的面向對象語言。
Eiffel,另外一個面向對象語言出現。
C++露面。
1987
Turbo Pascal 4.0發布。
1988
CLOS規范——公共LISP對象系統(Common LISP Object System)——發表。
Niklaus Wirth完成Oberon,這是他繼Modula-2的后續行動。
1989
ANSI C規范公布。
C++2.0形成了一個參考手冊的初稿。2.0版本增加了諸如多繼承和成員指針等特性。
1990
C++2.1,B.Stroustrup等作者的《Annotated C++ Reference Manual》一書出版。這個版本增加了模板和異常處理特性。
FORTRAN 90包含了眾多新元素比如case語句和派生類型。
Kenneth Iverson和Roger Hui在APL 90會議上提出了J語言。
1991
Visual Basic在COMDEX春展會上獲得《BYTE》雜志頒發的最佳表現獎。
1992
Dylan——以Dylan Thomas命名——由Apple公司發布的一個類似Scheme的面向對象語言。
1993
ANSI發布X3J4.1技術報告——面向對象的COBOL提議初稿。真正的標準預計在1997年完成。
1994
微軟將Visual Basic for Application整合到Excel中。
1995
二月,ISO接受Ada語言1995修訂版。它被稱為Ada95,其中包括OOP特性和支持實時系統。
1996
xxx個ANSI C++標準預發布。
語言目錄
* CSS Cascading Style Sheets 層疊樣式表
*.NET是微軟2002年,為開發應用程序創建的一個富有xxx性的新平臺
*ActionScriptActionScript是Flash的腳本語言,與JavaScript相似,ActionScript是一種面向對象編程語言。
*APL、A+和J
*匯編語言 匯編語言(Assembly Language)是面向機器的程序設計語言
*易語言是全中文語言編程中最為強大的一個編程語言
*AWKAWK是一種優良的文本處理工具
*Basic是一種設計給初學者使用的程序設計語言
oQBasicQBASIC是BASIC(Beginner's All-purpose Symbolic Instruction Code,初學者通用指令代碼)語言的一個變種,由美國微軟公司開發
oVisual BasicVisual Basic(VB)是一種由微軟公司開發的包含協助開發環境的事件驅動編程語言
*VBScriptVBScript是Visual Basic Script的簡稱,即 Visual Basic 腳本語言
*BrainfuckBrainfuck是一種極小化的計算機語言
*C、C++ 、C# C語言是一種面向過程的計算機程序設計語言; C++是一種靜態數據類型檢查的,支持多重編程范式的通用程序設計語言。它支持過程化程序設計、數據抽象、面向對象程序設計、制作圖標等等泛型程序設計等多種程序設計風格。C#是微軟公司發布的一種面向對象的、運行于.NET Framework之上的高級程序設計語言。
oObjective-C通常寫作ObjC和較少用的Objective C或Obj-C,是擴充C的面向對象編程語言
*ClipperClipper芯片主要用于商業活動的計算機通信網
*COBOL一種適合于商業及數據處理的類似英語的程序設計語言
*dBasedBASE是xxx個在微型計算機上被廣泛使用的數據庫管理系統(DBMS
E語言以簡體中文作為程序代碼進行編程操作。
*PASCAL、DelphiPascal是一種計算機通用的高級程序設計語言 ;Delphi是全新的可視化編程環境,是一種方便、快捷的Windows應用程序開發工具
*Forth由Charles H. Moore發展出來在天文臺使用的電腦自動控制系統及程序設計語言,允許使用者很容易組合系統已有的簡單指令,定義成為功能較復雜的高階指令。
* Fortran 譯為“公式翻譯器”,它是世界上最早出現的計算機高級程序設計語言,廣泛應用于科學和工程計算領域。
*FoxPro是由美國Fox Software公司于1988年推出的數據庫產品
*F#F#是由微軟發展的為微軟.NET語言提供運行環境的程序設計語言
*FavaFava語言是一個小型的解釋語言,它主要面向于系統測試領域及小型嵌入式設備。
*IDLIDL 是一種數據分析和圖像化應用程序及編程語言
*GoGo語言是谷歌2009發布的第二款開源編程語言。Go語言專門針對多處理器系統應用程序的編程進行了優化,使用Go編譯的程序可以媲美C或C++代碼的速度,而且更加安全、支持并行進程。
*JavaJava是由Sun Microsystems公司于1995年5月推出的Java程序設計語言,他是一種面向對象的跨平臺語言,可以在多種平臺上運行。支持開源。大量的類庫。大量的開源項目。是一種非常強大的編程語言!
*JavaScriptJavascript是一種由Netscape的LiveScript發展而來的腳本語言
*J#Visual J# 是一種工具,供 Java 語言程序員用于構建在 .NET Framework 上運行的應用程序和服務
*LuaLua 是一個小巧的腳本語言
*LOGO是一種早期的編程語言,也是一種與自然語言非常接近的編程語言,它通過“繪圖”的方式來學習編程
*Module在軟件工程中,指較高一級程序或模塊使用的一個單元或模塊
*NuvaNuva語言是一種面向對象的動態腳本語言 Nuva語言的設計目的是用于基于模板的代碼生成
*PerlPerl 一般被稱為“實用報表提取語言”(PracticalExtraction andReportLanguage),也做“病態折中垃圾列表器”(PathologicallyEclectic Rubbish Lister
*PHPPHP 是一種 HTML 內嵌式的語言
*PL/IPL/I是Programming Language One的簡寫。當中的“I”其實是羅馬數字的“一”。它是一只IBM公司在1950年代發明的第三代高級編程語言
*PrologProlog(Programming in Logic的縮寫)是一種邏輯編程語言
*Python是一種面向對象的解釋性的計算機程序設計語言,也是一種功能強大而完善的通用型語言
*RR是用于統計分析、繪圖的語言和操作環境
*RubyRuby,一種為簡單快捷面向對象編程(面向對象程序設計)而創的腳本語言
*SchemeScheme,一種系統設計語言,由LISP語言發展而來,屬于lisp的一種方言。與其他lisp不同的是,scheme是可以編譯成機器碼的。Scheme的一個主要特性是可以像操作數據一樣操作函數調用
* Smalltalk 一種面向對象的程序設計語言 一種程序設計環境 一個應用開發環境(ADE)
* Tcl/Tk 是一種 腳本語言
*Visual FoxProVisual FoxPro原名FoxBase,是美國Fox Software公司推出的數據庫產品
*快手(AAuto Quicker) AAuto是專用于桌面軟件快速開發的新一代混合型編程語言, 兼具動態、靜態語言優勢,語法更可兼容大部分流行語言,學習成本低,開發速度快,并xxx免費.
語言排行
2012年4月份前三語言分別為:C 、Java 和 C++
。
開發工具
關于C++的: CFREE(初學者適用),VC,MyC++,Magic C++,DevC++
關于JAVA的:JBuilder、Eclipse、NetBeans IDE、JCreator+J2SDK、JDK、Tomcat、Weblogic、JRun
關于C#的:VS Studio 系列(VS2003,VS2005,VS2008,VS2010,VS2011),SharpDevelop(開源的免費軟件)
關于Delphi的:delphi2005
關于C的:Turbo C 2
關于PHP的:Dreamweaver_CS5、Notepad++
關于VB的:visual basic 6.0
關于匯編的:VisualASM
關于VBS的:按鍵精靈2014
可視化
可視化編程也越來越重要,所謂的可視化程序設計和Visual Basic或Visual C++并不同,支持可視化程序設計的IDE可以讓開發人員直接移動程序單元來建立流程圖和結構圖,然后直接做編譯或解釋,這一類的流程圖通常是以UML為基礎。
這樣的界面因為樂高的Mindstorms開始普及,一些公司也開始透過瀏覽器Mozilla和分布式程序設計(LabVIEW)往這方面努力。從1980年xxx始,xxx個可視化程序設計系統—Max,就是以類比合成器的設計為榜樣,同時被用來開發即時音樂演出軟件。
這種方法也被用在專業軟件,例如Openlab,這類的使用者需要完整程序設計語言的彈性,并不想要傳統的學習曲線。
可視化程序設計語言有另一個半免費和開放源代碼的替代品-Mindscript,具有加密系統和連結數據庫等等。
移動編程
主要指android/iphone編程開發,主要是針對3G智能手機應用、游戲進行開發。根據市場研究公司ChetanSharmaConsulting的研究數據顯示,移動軟件市場總額2011年為41億美元,預計2012年將飆升到175億美元。這使得技術公司對應用程序開發人才的需求越來越大。那些能夠為蘋果iPhone操作系統、谷歌Android操作系統和RIM黑莓操作系統等移動平臺編寫應用程序的開發人員非常搶手。這種巨大的市場需求直接導致了招聘公司之間激烈的人才爭奪大戰,也無形中提高了開發人員的薪水。3G夢工場在全國最先開始3G專業。
安卓編程
從人才需求類型來看,目前對Android人才需求一類是偏向硬件驅動的Android人才需求,一類是偏向軟件應用的Android人才需求。從目前的招聘需求來看,后者的需求xxx,包括手機游戲、手機終端應用軟件和其他手機應用軟件的開發。據職酷網職位搜索庫統計顯示,目前企業對這類應用軟件的Android開發人才占總需求的72%。職業專家分析說,由于目前Android技術較新,無論是相關書籍、培訓還是大學教育,都處于初級階段,因此Android人才短期將供不應求。從長期來看,隨著各種移動應用和手機游戲等內容需求日益增加,也將激勵大中小型手機應用開發商加大對Android應用的開發力度,因此Android人才的就業前景也非常廣泛。
智能手機
應用程序開發行業中xxx的新熱潮是智能手機的應用程序。這種裝置通常需要開發人員使用一種可將裝置的功能發揮到極至的特定語言作為應用平臺,至少要以官方認可的方式進行。
智能手機開發體系的一個新興產業正在崛起,即允許開發人員用非智能手機平臺原生的其它語言編寫自己的代碼,然后轉化為原生語言的應用程序。 因為不需要學習任何特定的智能手機平臺的官方應用程序開發語言,Web應用程序也沾了光,成為智能手機應用程序開發的一種方法。選擇語言甚于平臺的另一個方案是使用像諾基亞的N900這樣的設備,它運行Debian發行的Linux系統,可以運行的軟件范圍很寬——包括很多不是為智能手機設計的軟件。隨著安卓和ios智能手機范圍的不斷擴大,安卓和ios編程人員企業急缺,3G夢工場軟件學院在華中地區最早開設了3G智能手機編程相關的課程,為對編程感興趣的人提供了一個學習平臺。
編程學校
3G夢工場軟件開發學校是湖北xxx3G軟件工程師人才實訓基地,由武漢四維創意教育科技有限公司公司承辦,2009年12月學校正式啟動,致力于打造中國高端3G應用開發領域集技術培訓、項目輔導、創業孵化為一體的服務品牌。致力于培養J2ME游戲開發工程師、3G前端應用開發工程師、iphone 軟件應用開發工程師、Android開發工程師、Windows Mobile開發工程師、Symbian初級、中級、高級開發工程師。
經過接近兩年的努力,成為國內知名的3G培訓品牌,并且已是國家工信部3G項目管理中心授權為湖北3G工程師指定考試中心,并且是3G工程師試題指定提供單位。并且和國內一些企業合作,開設了校企示范班,學員畢業后可進入合作企業進行工作。
3G夢工場采取小班授課、項目教學、商業項目開發的教學方式,通過企業定向培養,入學簽訂就業推薦協議等人才培養模式,吸引眾多大學生就讀。課程提供內容豐富、教材形式多樣,配圖教材,多媒體動畫PPT,清晰的授課思路以及隨時可以觀摩的在線咨詢。提高授課質量,降低學生學習難度。
3G夢工場地處湖北武漢廣埠屯(華中師范大學正北門),屬于武漢的中心地帶,對面武漢大學,西鄰武漢理工,東側華中科技大學,背后是湖北工業大學商貿學院,有強烈的教育文化和濃厚的學習氣氛!
為什么編程是21世紀的核心技能
在20世紀,最被看好教育科目是英語、數學、化學、物理,“學好數理化,走遍天下都不怕”。今天,編程技能變得越來越重要,很快就會變成21世紀生存技能中的核心競爭力。將在這個月上映的電影《The Internship》講的就是自學編程的技術牛人到谷歌工作的過程。
編程能力有多大用處?
無論是互聯網初創企業還是大企業,都需要建立自己的網站,需要通過網絡幫助自己增加利潤,編程人員需求量大增,這種需求迫使更多的人回到學校學習代碼,學習編程等計算機技能,這已經是一個無法回避的事實。
美國第二大團購網站LivingSocial的副總裁曾說“我們相信,智慧和激情是錢買不來的,招聘一個員工不一定要有具體的技術、技能,更重要的是要有足夠的DIY創作心態,也許這種人有點傲慢,但我們可以教他很多東西。”
新興技能培訓學校越來越多,各種各樣的技術、技能日益普及,尤其是編程技能迅速上升,有些地區甚至兒童都在學習代碼程序。通常情況下,編程人員的稀缺,誰擁有編程技能就意味著有更多的就業機會,企業也更容易招收會編程的新手。
編程崗位需求有多大?
隨著時間的推移預計編碼工作崗位有大幅增加。據美國勞工統計局,在2010年有91.3萬個計算機程序員職位,到2020年這一崗位預計將增長 30%, 同時,其他所有的非農就業崗位平均增幅預計只有14%。
以現在的大學教育現狀,偏重學術類人才培養,到時將沒有足夠的人來填補這些職位。很多優秀的互聯網公司、軟件開發公司創始人,大學都沒畢業,編程技能使他成為一個優秀的人。
內容由匿名用戶提供,本內容不代表www.gelinmeiz.com立場,內容投訴舉報請聯系www.gelinmeiz.com客服。如若轉載,請注明出處:http://www.gelinmeiz.com/2796/