人類編程者
Ⅰ 什麼叫編程
編程即編定程序,就是讓計算機解決某個問題。
編程是編定程序的中文簡稱,是讓計算機代為解決某個問題,對某個計算體系規定一定的運算方式,使計算體系按照該計算方式運行,並最終得到相應結果的過程。
為了使計算機能夠理解人的意圖,人類就必須將需解決的問題的思路、方法和手段通過計算機能夠理解的形式告訴計算機,使得計算機能夠根據人的指令去工作,完成某種特定的任務。這種人和計算體系之間交流的過程就是編程的本質。

(1)人類編程者擴展閱讀
學習編程有很多好處:
1、學習編程, 不僅可以提升個人的未來的社會競爭力, 也可以為當下的升學競爭添加籌碼。
2、編程不僅可以提升外在的競爭力, 也可以增強人們內在的邏輯思維能力和自信心。
3、編程是鍛煉邏輯思維能力的重要"載體",學習編程可以讓思維變得嚴謹和縝密。
4、學習編程可以增強對現實問題進行抽象、對復雜問題進行分解、對解決方案進行推演、對程序進行測試的能力。
Ⅱ 程序員真的需要高智商嗎
絕大多數程序員都被問過這種被直接帶有肯定的問題。自己即使嘴上回答 「不是啦」,可是心裡還是很驕傲。
我以前也這樣,現在變成熟後就不這么認為了。
程序員真的需要高智商嗎?
我認為不需要。人類發明編程,就是想用編程來彌補人類的大腦缺陷。
在編程技術剛被發明時,程序是用來幫大學教授做科學計算的。隨著硬體的發展,程序的應用越來越廣泛,除了科學計算外,還可以在辦公、醫療、航天等多個領域發揮其價值。
人類要開發大量具體的應用程序,編程語言從機器語言往高級語言發展就成了必然趨勢。編程語言越接近高級語言,就越符合人類的思維方式。
從簡易程度的角度來看,編程語言發展到高級語言後,編程這件事情就變得更容易了。
隨著近些年開源軟體的發展,大量優秀的開源軟體把創造應用程序這件事情變得更簡單,甚至可以說是 「傻瓜式」。如果你在今天想創建一個 Web App,一分鍾就可以搞定。
編程過程變簡單了,用編程方式來創造應用也變簡單了,程序員的工作是不是也就變簡單了呢?答案是肯定的。
我剛參加工作時,參與開發一個通訊錄(BREW 操作系統上的應用),公司投入了 30 多個工程師。
如今,在 Android 操作系統上開發通訊錄(甚至功能更完善),只需要投入 2-3 個高級工程師即可。這種變化並不是說以前的工程師比現在的工程師能力差,而是現在的開發過程變得更簡單了。
在日新月異的技術發展過程中,我在招聘工程師的態度上也發生了變化。
我以前比較注重項目經驗(很多公司在招聘時會應聘有過類似項目經驗的候選人),現在我更看重面試者的謙虛和處理細節的能力。
Ⅲ 人類和動物的大腦可以像計算機一樣編程嗎
現有的人工智慧不具備自我學習功能。
所謂的自我學習,用的是模擬法(Modeling approach),它不僅要看效果,還要求實現方法也和人類或生物機體所用的方法相同或相類似。如遺傳演算法(Generic Algorithm, 簡稱GA)和人工神經網路(Artificial Neural Network,簡稱ANN)均屬後一類型。遺傳演算法模擬人類或生物的遺傳-進化機制,人工神經網路則是模擬人類或動物大腦中神經細胞的活動方式。
編程者設計一個智能系統(一個模塊),這個智能系統(模塊)開始什麼也不懂,就像初生嬰兒那樣,但它能夠學習,能漸漸地適應環境,應付各種復雜情況。這種系統開始也常犯錯誤,但它能吸取教訓,下一次運行時就可能改正,至少不會永遠錯下去,用不到發布新版本或打補丁。利用這種方法來實現人工智慧,要求編程者具有生物學的思考方法,入門難度大一點。但一旦入了門,就可得到廣泛應用。由於這種方法編程時無須對角色的活動規律做詳細規定,應用於復雜問題,通常會比前一種方法更省力。
Ⅳ 編程是什麼
編程 是個動詞,編程==寫代碼,寫代碼為了什麼? 為了讓計算機干你想要乾的事情,比如,馬化騰想跟別人聊天,於是寫了個聊天軟體,這個軟體就是一堆代碼的集合,這些代碼是什麼?這些代碼是計算機能理解的語言。
那計算能理解的語言是什麼呢? 之前,我們已經了解到,它只能理解2進制,0101010…,你總不能人肉輸一堆二進制給計算機(雖然最原始的計算機就是這么乾的)讓它工作吧,這樣開發速度太慢了。所以最好的辦法就是人輸入簡單的指令,計算機能把指令轉成二進制進行執行,舉例如下:
假如 程序員想讓計算機 播放一首 歌曲 , 只需要輸入指令 ,
open "老男孩.mp3"
play
[ op | rs | rt | address/immediate]
353868decimal
binary
; hello.asm
section .data ;數據段聲明
msg db "Hello, world!",0xA;要輸出的字元串
len equ $ - msg ;字串長度
section .text ;代碼段聲明
global _start ;指定入口函數
_start:;在屏幕上顯示一個字元串
mov edx, len ;參數三:字元串長度
mov ecx, msg ;參數二:要顯示的字元串
mov ebx,1;參數一:文件描述符(stdout)
mov eax,4;系統調用號(sys_write)
int0x80;調用內核功能
;退出程序
mov ebx,0;參數一:退出代碼
mov eax,1;系統調用號(sys_exit)
int0x80;調用內核功能
計算機的CPU接收到這樣的指令後,會把它轉成一堆 只有cpu可以理解的指令,然後再將指令變成各種對應的如下類似二進制
最終cpu 去調用你的硬碟上這首歌,通過音箱播放。
上面cpu那段指令太難理解了,如果讓你天天寫這樣的代碼,大家非得自殺不可。還好,偉大的計算機先驅們,開發了各種編程語言,讓我們只需要通過寫一些簡單的規則,就能操作計算機工作啦。
有哪些編程語言?
編程語言總體分以為機器語言、匯編語言、高級語言,如下
機器語言
由於計算機內部只能接受二進制代碼,因此,用二進制代碼0和1描述的指令稱為機器指令,全部機器指令的集合構成計算機的機器語言,用機器語言編程的程序稱為目標程序。只有目標程序才能被計算機直接識別和執行。但是機器語言編寫的程序無明顯特徵,難以記憶,不便閱讀和書寫,且依賴於具體機種,局限性很大,機器語言屬於低級語言。
用機器語言編寫程序,編程人員要首先熟記所用計算機的全部指令代碼和代碼的涵義。手編程序時,程序員得自己處理每條指令和每一數據的存儲分配和輸入輸出,還得記住編程過程中每步所使用的工作單元處在何種狀態。這是一件十分繁瑣的工作。編寫程序花費的時間往往是實際運行時間的幾十倍或幾百倍。而且,編出的程序全是些0和1的指令代碼,直觀性差,還容易出錯。除了計算機生產廠家的專業人員外,絕大多數的程序員已經不再去學習機器語言了。
機器語言是微處理器理解和使用的,用於控制它的操作二進制代碼。
盡管機器語言好像是很復雜的,然而它是有規律的。
存在著多至100000種機器語言的指令。這意味著不能把這些種類全部列出來。
以下是一些示例:
指令部份的示例
0000 代表 載入(LOAD)
0001 代表 存儲(STORE)
…
暫存器部份的示例
0000 代表暫存器 A
0001 代表暫存器 B
…
存儲器部份的示例
000000000000 代表地址為 0 的存儲器
000000000001 代表地址為 1 的存儲器
000000010000 代表地址為 16 的存儲器
100000000000 代表地址為 2^11 的存儲器
集成示例
0000,0000,000000010000 代表 LOAD A, 16
0000,0001,000000000001 代表 LOAD B, 1
0001,0001,000000010000 代表 STORE B, 16
0001,0001,000000000001 代表 STORE B, 1[1]
匯編語言
匯編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。匯編程序的每一句指令只能對應實際操作過程中的一個很細微的動作。例如移動、自增,因此匯編源程序一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識,但匯編語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能夠實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。
匯編的hello world,列印一句hello world, 需要寫十多行,也是醉了。
高級語言
高級語言是大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令,並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由於省略了很多細節,編程者也就不需要有太多的專業知識。
高級語言主要是相對於匯編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,像最簡單的編程語言PASCAL語言也屬於高級語言。
高級語言所編制的程序不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可將它們分為兩類:
編譯類:編譯是指在應用源程序執行之前,就將程序源代碼「翻譯」成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行(編譯後生成的可執行文件,是cpu可以理解的2進制的機器碼組成的),使用比較方便、效率較高。但應用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標文件(* .obj,也就是OBJ文件)才能執行,只有目標文件而沒有源代碼,修改很不方便。

編譯後程序運行時不需要重新翻譯,直接使用編譯的結果就行了。程序執行效率高,依賴編譯器,跨平台性差些。如C、C++、Delphi等
解釋類:執行方式類似於我們日常生活中的「同聲翻譯」,應用程序源代碼一邊由相應語言的解釋器「翻譯」成目標代碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的可執行文件,應用程序不能脫離其解釋器(想運行,必須先裝上解釋器,就像跟老外說話,必須有翻譯在場),但這種方式比較靈活,可以動態地調整、修改應用程序。如Python、java、PHP、Ruby等語言。
總結
機器語言
優點是最底層,速度最快,缺點是最復雜,開發效率最低
匯編語言
優點是比較底層,速度最快,缺點是復雜,開發效率最低
高級語言
編譯型語言執行速度快,不依賴語言環境運行,跨平台差
解釋型跨平台好,一份代碼,到處使用,缺點是執行速度慢,依賴解釋器運行
主流編程語言介紹(10分鍾)
世界上的編程語言有600多種,但真正大家主流在使用的最多二三十種,不同的語言有自己的特點和擅長領域,隨著計算機的不斷發展,新語言在不斷誕生,也同時有很多老舊的語言慢慢無人用了。有個權威的語言排名網站,可以看到主流的編程語言是哪些
TIOBE發布編程語言排行榜已經快6年的時光了,在這六年中我們見證了不少語言的起起落落。雖然國內有很多大牛說,關注這語言的排名沒有多少意義。但仍可以看出那些語言日漸興盛,哪些日漸沒落,我們從Objective-C的上升過程中,還是能看到移動設備端,特別是iOS應用開發方面的黃金潛力。
下面介紹下幾個主流的編程語言:
c語言:
C語言是一種計算機程序設計語言,它既具有高級語言的特點,又具有匯編語言的特點。它由美國貝爾研究所的D.M.Ritchie於1972年推出,1978年後,C語言已先後被移植到大、中、小及微型機上,它可以作為工作系統設計語言,編寫系統應用程序,也可以作為應用程序設計語言,編寫不依賴計算機硬體的應用程序。它的應用范圍廣泛,具備很強的數據處理能力,不僅僅是在軟體開發上,而且各類科研都需要用到C語言,適於編寫系統軟體,三維,二維圖形和動畫,具體應用比如單片機以及嵌入式系統開發。
C++:
C++是C語言的繼承的擴展,它既可以進行C語言的過程化程序設計,又可以進行以抽象數據類型為特點的基於對象的程序設計,還可以進行以繼承和多態為特點的面向對象的程序設計。C++擅長面向對象程序設計的同時,還可以進行基於過程的程序設計,因而C++就適應的問題規模而論,大小由之。
C++不僅擁有計算機高效運行的實用性特徵,同時還致力於提高大規模程序的編程質量與程序設計語言的問題描述能力。
JAVA:
Java是一種可以撰寫跨平台應用軟體的面向對象的程序設計語言,是由Sun Microsystems公司於1995年5月推出的Java程序設計語言和Java平台(即JavaSE, JavaEE, JavaME)的總稱。Java 技術具有卓越的通用性、高效性、平台移植性和安全性,廣泛應用於個人PC、數據中心、游戲控制台、科學超級計算機、行動電話和互聯網,同時擁有全球最大的開發者專業社群。在全球雲計算和移動互聯網的產業環境下,Java更具備了顯著優勢和廣闊前景。
PHP:
PHP(外文名:PHP: Hypertext Preprocessor,中文名:「超文本預處理器」)是一種通用開源腳本語言。語法吸收了C語言、Java和Perl的特點,利於學習,使用廣泛,主要適用於Web開發領域
Ruby:
Ruby 是開源的,在Web 上免費提供,但需要一個許可證。[4]
Ruby 是一種通用的、解釋的編程語言。
Ruby 是一種真正的面向對象編程語言。
Ruby 是一種類似於 Python 和 Perl 的伺服器端腳本語言。
Ruby 可以用來編寫通用網關介面(CGI)腳本。
Ruby 可以被嵌入到超文本標記語言(HTML)。
Ruby 語法簡單,這使得新的開發人員能夠快速輕松地學習 Ruby
GO:
Go 是一個開源的編程語言,它能讓構造簡單、可靠且高效的軟體變得容易。
Go是從2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持開發,後來還加入了Ian Lance Taylor, Russ Cox等人,並最終於2009年11月開源,在2012年早些時候發布了Go 1穩定版本。現在Go的開發已經是完全開放的,並且擁有一個活躍的社區。
由其擅長並發編程
Python:
Python是一門優秀的綜合語言, Python的宗旨是簡明、優雅、強大,在人工智慧、雲計算、金融分析、大數據開發、WEB開發、自動化運維、測試等方向應用廣泛,已是全球第4大最流行的語言。
Ⅳ 想成為編程高手,都要學習什麼知識
答:成為高手沒有捷徑,唯有實踐+思考!
我想說的是,所有計算機語言都只是實現目的的工具而已,不同的是C面向過程,C++和Java面向對象;與C相比,C++更適合做大型項目;Java的兼容和擴展性能更好;
如何成長為編程高手,下面是一個資深人士的一點看法:
1、扎實的基礎
數據結構、離散數學、編譯原理、演算法、計算機組成原理、操作系統,這些是所有計算機科學的基礎,如果不掌握它們,很難寫出高水平的程序。程序人人都會寫,但當你發現寫到一定程度很難再提高的時候,就應該想想是不是要回過頭來學學這些最基本的理論。不要一開始就去學OOP,即使你再精通OOP,遇到一些基本演算法的時候可能也會束手無策。因此多讀一些計算機基礎理論方面的書籍是非常有必要的。
2、豐富的想像力
不要拘泥於固定的思維方式,遇到問題的時候要多想幾種解決問題的方案,試試別人從沒想過的方法。豐富的想像力是建立在豐富的知識的基礎上,除計算機以外,多涉獵其他的學科,比如天文、物理、數學等等。開闊的思維對程序員來說很重要。
3、最簡單的是最好的
這也許是所有科學都遵循的一條准則,復雜的質能轉換原理在愛因斯坦眼裡不過是一個簡單得不能再簡單的公式:E=mc2。簡單的方法更容易被人理解,更容易實現,也更容易維護。遇到問題時要優先考慮最簡單的方案,只有簡單方案不能滿足要求時再考慮復雜的方案。
4、不鑽牛角尖
當你遇到障礙的時候,不妨暫時遠離電腦,看看窗外的風景,聽聽輕音樂,和朋友聊聊天。當我遇到難題的時候會去玩游戲,當負責游戲的那部分大腦細胞極度亢奮的時候,負責編程的那部分大腦細胞就得到了充分的休息。當重新開始工作的時候,我會發現那些難題現在竟然可以迎刃而解。
5、對答案的渴求
人類自然科學的發展史就是一個渴求得到答案的過程,即使只能知道答案的一小部分也值得我們去付出。只要你堅定信念,一定要找到問題的答案,你才會付出精力去探索,即使最後沒有得到答案,在過程中你也會學到很多東西。
6、多與別人交流
三人行必有我師,也許在一次和別人不經意的談話中,就可以迸出靈感的火花。多上上網,看看別人對同一問題的看法,會給你很大的啟發。
7、良好的編程風格
注意養成良好的習慣,代碼的縮進編排,變數的命名規則要始終保持一致。大家都知道如何排除代碼中錯誤,卻往往忽視了對注釋的排錯。注釋是程序的一個重要組成部分,它可以使你的代碼更容易理解,而如果代碼已經清楚地表達了你的思想,就不必再加註釋了,如果注釋和代碼不一致,那就更加糟糕。
8、韌性和毅力
這也許是「高手」和一般程序員最大的區別。高手們並不是天才,他們是在無數個日日夜夜中磨煉出來的。成功能給我們帶來無比的喜悅,但過程卻是無比的枯燥乏味。你不妨做個測試,找個10000以內的素數表,把它們全都抄下來,然後再檢查三遍,如果能夠不間斷地完成這一工作,你就可以滿足這一條。
Ⅵ 什麼是編程員
這個很有用的
希望對你有幫助
簡單的說,編程就是為了藉助於計算機來達到某一目的或解決某個問題,而使用某種程序設計語言編寫程序代碼,並最終得到結果的過程。
計算機雖然功能十分強大。可以供你上網、打游戲、管理公司人事關系等等,但是沒有程序,它就等於是一堆廢鐵,不會理會我們對它下達的「命令」。於是,我們要馴服它,只有通過一種方式——程序,這也是我們和計算機溝通的唯一方式。
那程序到底是什麼呢?
程序也就是指令的集合,它告訴計算機如何執行特殊的任務。
打個比方說,它好比指導你烹調菜品的菜譜或指揮行駛一路到達目的地的交警(或者交通路標)。沒有這些特殊的指令,就不能執行預期的任務。計算機也一樣,當你想讓計算機為你做一件事情的時候,計算機本身並不能主動為我們工作,因此我們必須對它下達指令,而它根本不會也不可能聽懂人類自然語言對事情的描述,因此我們必須使用程序來告訴計算機做什麼事情以及如何去做?甚至對最簡單的任務也需要指令,例如如何取得擊鍵,怎樣在屏幕上放一個字母,怎樣在磁碟中保存文件等等。
這么麻煩,連這些東西編程都要考慮!怪不得人家說編程好難!你錯了,其實許多這樣的指令都是現成的,包含在處理晶元中內置於操作系統中,因此我們不必擔心它們工作,他們都是由處理器和操作系統來完成的,並不需要我們來干預這些過程。
上面講到的計算機本身不會主動的做任何事情。因此我們要通過程序的方式來讓計算機為我們「效勞」。而這個過程就是我們「編」出來的。編程可以使用某一種程序設計語言來實現,按照這種語言的語法來描述讓計算機要做的事情。
我們這里所講的語法和外語中的語法完全兩碼事,這里講的語法只是讀你的程序書寫做出一寫規定而已。
寫出程序後,再由特殊的軟體將你的程序解釋或翻譯成計算機能夠識別的「計算機語言」,然後計算機就可以「聽得懂」你的話了,並會按照你的吩咐去做事了。因此,編程實際上也就是「人給計算機出規則」這么一個過程。
隨計算機語言的種類非常的多,總的來說可以分成機器語言,匯編語言,高級語言三大類。
電腦每做的一次動作,一個步驟,都是按照已經用計算機語言編好的程序來執行,程序是計算機要執行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控制計算機一定要通過計算機語言向計算機發出命令。
計算機所能識別的語言只有機器語言,即由構成的代碼。但通常人們編程時,不採用機器語言,因為它非常難於記憶和識別。
目前通用的編程語言有兩種形式:匯編語言和高級語言。
匯編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。
匯編程序的每一句指令只能對應實際操作過程中的一個很細微的動作,例如移動、自增,因此匯編源程序一般比較冗長、復雜、容易出錯,而且使用匯編語言編程需要有更多的計算機專業知識,但匯編語言的優點也是顯而易見的,用匯編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。
高級語言是目前絕大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。由於省略了很多細節,所以編程者也不需要具備太多的專業知識。
高級語言主要是相對於匯編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。
(1)解釋類:執行方式類似於我們日常生活中的「同聲翻譯」,應用程序源代碼一邊由相應語言的解釋器「翻譯」成目標代碼(機器語言),一邊執行,因此效率比較低,而且不能生成可獨立執行的可執行文件,應用程序不能脫離其解釋器,但這種方式比較靈活,可以動態地調整、修改應用程序。
(2)編譯類:編譯是指在應用源程序執行之前,就將程序源代碼「翻譯」成目標代碼(機器語言),因此其目標程序可以脫離其語言環境獨立執行,使用比較方便、效率較高。但應用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標文件(*.OBJ)才能執行,只有目標文件而沒有源代碼,修改很不方便。現在大多數的編程語言都是編譯型的,例如Visual Basic、Visual C++、Visual Foxpro、Delphi等。
這個問題其實很簡單。前面我們講到,程序是人與計算機進行溝通的唯一方式,因此我們要讓計算機為我們服務,就必須有程序,而程序從哪裡來?當然是由我們編寫出來了。或許你又會問到另一個問題:現在要什麼程序有什麼程序,我幹嘛還要編程呢?這你就錯了,現在的程序雖然很多,需要什麼樣的程序直接到網上不需要很長時間就可以找到類似的,而且有可能就是你所需要的。但是,就好比去買衣服,雖然賣衣服的到處都是,但是哪一件是為你「量身定做」的呢!
程序還能夠做很多事情不同的程序可以完成不同的事情。從大的方面到管理國家的財務,小的方面管理家庭的帳務。
又如,如果你想要你的計算機能播放動畫,那麼你的計算機中也要有相應的動畫播放程序,下面所示的就是一個F1ssh動畫播放器。我們將會在後面的章節具體講述這個程序的編制過程。
隨著計算機的飛速發展,總會有那麼一天將不會編程的人列為「文盲」。你不希望吧?那麼就好好的學習一種程序設計語言吧。
編程會過時嗎
編程會過時嗎?這個問題,讓我先問你一個問題:計算機會消失嗎?這兩者答案是一樣的。知道了計算機會不會消失,就知道了編程會不會過時。
編程工具會過時,而編程卻不會過時
計算機系統由可以看見的硬倒:系統和看不見的軟體系統組成。要使計算機能夠正常的工作,僅僅有硬體系統是不行的,沒有軟倒系統(即沒有程序)的計算機可以說只是—堆廢鐵,什麼事情都幹不了。例如當你撰寫—篇文章的時候,你需要在操作系統中用文字編輯軟體來實現文字的輸入,但如果沒有這些文字輸入軟體的話,你是否想過如何向計算機中輸入文章呢?很難想像出如何在一個沒有任何軟體的計算機(我們稱之為裸機)上進行文字的輸入。而這些軟體其實就是通常我們所說的程序。
編程會過時嗎?我們從另一個角度來考慮這個問題,計算機有——天會消失嗎?如果有一天當世界上所有的事情處理都用不到計算機了,那麼計算機將會很快的消失,那時編程不僅過時了,而且也會隨之消失了。但是計算機會消失嗎?當然不會,如今計算機應用到每一領域,為人類的發展做出了不可估量的貢獻。試想一下如果有一天全世界的計算機突然消失了,那麼這個世界將變成什麼樣子,或許和全世界都停電了一樣恐怖,甚至還會有更大的損失。計算機的存在必須要有軟體系統來維持。因此編程永遠不會、也不可能會過時。
計算機程序設計語言發展到今天,已經從最原始的機器語言發展到如今可視化的集成開發環境,甚至集多種語言在同一開發平台上,像微軟的NET平台。回頭看看程序設計語言的發展史,不難看出對於編程來說,只會出現編程工具的過時,不會出現編程本身的過時。
不斷變化的技術需要不斷變化的程序員
從二十世紀60年代以後,計算機得到了突飛猛進的發展。似乎歷史上沒有任何一門科學的發展速度超過了計算機的發展,無論硬體、軟體、還是網路都以驚人的速度向前發展。計算機的硬體發展速度遵循「摩爾定律」每十八個月速度翻一倍(實際現在已超過了這個速度)。 軟體的發展速度和硬體一樣,二十世紀九十年代中國的軟體業還不是很成熟,而現在大大小小 的軟體企業四處聳立,共享軟體網上隨處可見。不斷發展的技術需要不斷變化的程序員,例如,如今Visual Basic可以快速構Windows下的應用程序,程序設計方面的技術不斷發展著,不斷引進新的概念、新的方法,如從結構化的C開始,當面向對象的思想被提出後,出現了C++,微軟在C++的基礎上為使用戶構建win32應用程序更加方便,推出了Visual C++。這也就需要程序員也要不斷的更新自己的技術。
計算機科學與別的學科很不一樣,不像語言學、歷史學那樣,幾乎是永久不變的東西。計算機科學要求不斷的更新自己的知識,否則很快就會被淘汰,即便是編程亦是如此。
編寫程序是一件很有趣的事情,因為編寫程序可以干很多高級的事情。例如我們在後面的章節中介紹如何使用Visual Basic編寫Flash動畫播放器,以及如何編寫下載軟體管理器等。如果你願意的話,你完全可以編寫出比這些更高級的程序來。
隨著計算機軟體業的發展,誕生了「程序員」這個職位。於是便形成了一種理念,編寫程 序的人就是程序員,因此編程是程序員的事情。但程序員並不是一開始就是程序員,他們也是從現在我們的位置慢慢成為程序員的。
編寫程序是一件很有趣的事情,因為編寫程序可以干很多高級的事情。例如我們在後面的章節中介紹如何使用Visual Basic編寫Flash動畫播放器,以及如何編寫下載軟體管理器等。如果你願意的話,你完全可以編寫出比這些更高級的程序來。
編程也可以作為——種愛好或興趣,如果你對它感興趣學起來就容易多了!因為如果對編程感興趣的話,就會多看些有關方面的書、多編些小程序上機實踐,這些對於學習編程的幫助是非常大的,而且隨著學習的進程不斷的推進就會覺得它並不是很困難,相反卻是很容易的。
總之,在學習編程時一定要堅持不懈,只要有信心、有毅力就一定能學好;不能因為一些似是而非的觀念就動搖了自己的信心。
我們一起來編程
面對擺在面前的計算機該如何操作,相信這個問題已經不再是困擾大家的首要問題了。現在軟體的種類那麼多,在選用的時候「電腦發燒友」的心裡是否也想過有一天自己能編寫一款屬於自己的軟體呢?想學習編程的朋友在選擇程序語言時會不會因為不知道如何選擇而大感頭痛呢?在不知如何下手的時候,朋友們的心中是不是會產生「我是不是可以編程」的思想呢?但是又有哪個程序員是不經過學習就能成功的呢!其實編寫程序並不是人們所想像的那麼困難、那麼復雜,每個有心致力於學習計算機的朋友都是可以嘗試的!
選擇適合自己的程序語言的必要性
目前常用的基本程序語言的種類比較繁多,比較簡單的有:Pascal、c語言、qBasic、 Fortran、Visual Basic等等。但前幾種都是在DOS下進行編程的工具,Visual Basic是在 Windows下進行應用程序設計的編程工具,現在一般的計算機用戶幾乎都不再使用DOS了,因此我們通常會選擇Visual Basic作為初學者的編程工具。Visual Basic是Windows應用程序設計中最容易上手的編程工具,學習步驟也比較容易被初學者接受。對於剛開始學習編程的初學者來說,還是選擇Visual Basic,學習編程語言不能想像著一步登天,一步一個腳印的學習才是最佳方法。
堅定自己學習編寫程序的信心
編寫程序並不是具有專業知識的人員才有的專利,每個學習計算機的人都可以編寫程序,每個人的靈感不同,在編寫程序的思路和作法上又有區別。但共同的想法就是編寫成功的程序。學習編程是一個漫長的過程,其中要付出艱辛的努力和汗水,不過成功者的喜悅又不是別人所能體會的。克服學習中的困難,努力去實踐,要有一個思想:別人能做到的事情自己也一定可以做到。計算機的普及讓更多的人有了學習的機會,也讓更多的人參與到編程人員的隊伍中來,每個人都有編程的權利,機遇給予每個人都是平等的。拿出自己必勝的信心,在編程的道路工勇於進取,相信成功就會在眼前。
三、我可以編程嗎
隨著計算機軟體業的發展,誕生了「程序員」這個職位。於是便形成了一種理念,編寫程 序的人就是程序員,因此編程是程序員的事情。但程序員並不是一開始就是程序員,他們也是從現在我們的位置慢慢成為程序員的。
編寫程序是一件很有趣的事情,因為編寫程序可以干很多高級的事情。例如我們在後面的章節中介紹如何使用Visual Basic編寫Flash動畫播放器,以及如何編寫下載軟體管理器等。如果你願意的話,你完全可以編寫出比這些更高級的程序來。
編程也可以作為——種愛好或興趣,如果你對它感興趣學起來就容易多了!因為如果對編程感興趣的話,就會多看些有關方面的書、多編些小程序上機實踐,這些對於學習編程的幫助是非常大的,而且隨著學習的進程不斷的推進就會覺得它並不是很困難,相反卻是很容易的。
總之,在學習編程時一定要堅持不懈,只要有信心、有毅力就一定能學好;不能因為一些似是而非的觀念就動搖了自己的信心。
四、我們一起來編程
面對擺在面前的計算機該如何操作,相信這個問題已經不再是困擾大家的首要問題了。現在軟體的種類那麼多,在選用的時候「電腦發燒友」的心裡是否也想過有一天自己能編寫一款屬於自己的軟體呢?想學習編程的朋友在選擇程序語言時會不會因為不知道如何選擇而大感頭痛呢?在不知如何下手的時候,朋友們的心中是不是會產生「我是不是可以編程」的思想呢?但是又有哪個程序員是不經過學習就能成功的呢!其實編寫程序並不是人們所想像的那麼困難、那麼復雜,每個有心致力於學習計算機的朋友都是可以嘗試的!
選擇適合自己的程序語言的必要性
目前常用的基本程序語言的種類比較繁多,比較簡單的有:Pascal、c語言、qBasic、 Fortran、Visual Basic等等。但前幾種都是在DOS下進行編程的工具,Visual Basic是在 Windows下進行應用程序設計的編程工具,現在一般的計算機用戶幾乎都不再使用DOS了,因此我們通常會選擇Visual Basic作為初學者的編程工具。Visual Basic是Windows應用程序設計中最容易上手的編程工具,學習步驟也比較容易被初學者接受。對於剛開始學習編程的初學者來說,還是選擇Visual Basic,學習編程語言不能想像著一步登天,一步一個腳印的學習才是最佳方法。
堅定自己學習編寫程序的信心
編寫程序並不是具有專業知識的人員才有的專利,每個學習計算機的人都可以編寫程序,每個人的靈感不同,在編寫程序的思路和作法上又有區別。但共同的想法就是編寫成功的程序。學習編程是一個漫長的過程,其中要付出艱辛的努力和汗水,不過成功者的喜悅又不是別人所能體會的。克服學習中的困難,努力去實踐,要有一個思想:別人能做到的事情自己也一定可以做到。計算機的普及讓更多的人有了學習的機會,也讓更多的人參與到編程人員的隊伍中來,每個人都有編程的權利,機遇給予每個人都是平等的。拿出自己必勝的信心,在編程的道路工勇於進取,相信成功就會在眼前。
一、計算機語言的發展過程
到目前為止,世界上公布的程序設計語言有上千種之多,常用的也有三十來種,為了有21於正確選擇和使用它們,下面我們做一個簡單介紹。
Ⅶ 關於編程方面的問題!
本文以自然辯證的觀點探討了計算機語言的發展歷程,運用自然辯證法的基本理論、基本方法,系統分析了計算機語言的發展歷史、現狀和未來。並對其的發展趨勢和未來模式做了探索性研究和預測,同時以哲學的觀點闡述其發展的因果關系,揭示其事物發展的共性問題;最後文章介紹了在計算機語言發展歷程中做出傑出貢獻的科學家,以其在計算機事業中的突出表現來折射出人類智慧的偉大,以其不平凡的一生來激勵和指導我們在計算機語言的發展中向著正確的方向前進。
【關鍵字】
自然辯證法 計算機語言 計算機技術 編程語言 網際網路 面向對象
正文
一九九三年美國的柯林頓政府提出了「信息高速公路」計劃,從而在這十多年間在全球范圍內引發了一場信息風暴,信息技術幾乎觸及了現代生活的方方面面,毫不誇張的說沒有了信息技術,現代文明的生活將無從談起;作為信息技術中最重要的部分,計算機技術無疑是其發展的核心問題,而我們知道計算機只是一台機器,它只能按照計算機語言編好的程序執行,那麼正確認識計算機語言的過去和未來,就是關繫到計算機發展的重中之重;以自然辯證法的觀點認識和分析計算機語言的發展歷程,將有助於更加全面地推動計算機技術的發展,有助於更加准確地掌握計算機語言發展趨勢。
一、科學認識大門的鑰匙--當代自然辯證法
自然辯證法,是馬克思主義對於自然界和科學技術發展的一般規律以及人類認識自然改造自然的一般方法的科學,是辯證唯物主義的自然觀、科學技術觀、科學技術方法論。它主要研究自然界發展的總規律,人與自然相互作用的規律,科學技術發展的一般規律,科學技術研究的方法。
馬克思、恩格斯全面地、系統地概括了他們所處時代的科學技術成功,批判吸取了前人的合理成分,系統地論述了辯證唯物主義自然觀、自然科學發展過程及其規律性,以及科學認識方法的辯證法,以恩格斯的光輝著作《自然辯證法》為標志,創立了自然辯證法繼續發展的廣闊道路。
自然辯證法是馬克思主義哲學的一個重要組成部分。在辯證唯物主義哲學體系中,自然辯證法與歷史唯物論相並列。它集中研究自然界和科學技術的辯證法,是唯物主義在自然界和科學技術領域中的應用,它的原理和方法主要適用於自然領域和科學技術領域。
學習和運用自然辯證法將有助於我們搞清科學和哲學的關系,從而更加清楚地認識科學的本質和發展規律,更加全面的觀察思考問題,只有加深了認識,我們才能更好地發揮主觀能動性,迎接新的科學技術的挑戰。下面我將以自然辯證法的觀點來分析計算機語言的發展歷程。
二、計算機語言的發展歷程和發展趨勢
計算機語言的發展是一個不斷演化的過程,其根本的推動力就是抽象機制更高的要求,以及對程序設計思想的更好的支持。具體的說,就是把機器能夠理解的語言提升到也能夠很好的模仿人類思考問題的形式。計算機語言的演化從最開始的機器語言到匯編語言到各種結構化高級語言,最後到支持面向對象技術的面向對象語言。
1、計算機語言的發展歷史: 二十世紀四十年代當計算機剛剛問世的時候,程序員必須手動控制計算機。當時的計算機十分昂貴,唯一想到利用程序設計語言來解決問題的人是德國工程師楚澤(konrad zuse)。幾十年後,計算機的價格大幅度下跌,而計算機程序也越來越復雜。也就是說,開發時間已經遠比運行時間來得寶貴。於是,新的集成、可視的開發環境越來越流行。它們減少了所付出的時間、金錢(以及腦細胞)。只要輕敲幾個鍵,一整段代碼就可以使用了。這也得益於可以重用的程序代碼庫。隨著c,pascal,fortran,等結構化高級語言的誕生,使程序員可以離開機器層次,在更抽象的層次上表達意圖。由此誕生的三種重要控制結構,以及一些基本數據類型都能夠很好的開始讓程序員以接近問題本質的方式去思考和描述問題。隨著程序規模的不斷擴大,在60年代末期出現了軟體危機,在當時的程序設計模型中都無法克服錯誤隨著代碼的擴大而級數般的擴大,以至到了無法控制的地步,這個時候就出現了一種新的思考程序設計方式和程序設計模型-----面向對象程序設計,由此也誕生了一批支持此技術的程序設計語言,比如eiffel,c++,java,這些語言都以新的觀點去看待問題,即問題就是由各種不同屬性的對象以及對象之間的消息傳遞構成。面向對象語言由此必須支持新的程序設計技術,例如:數據隱藏,數據抽象,用戶定義類型,繼承,多態等等。
2、計算機語言的發展現狀:目前通用的編程語言有兩種形式:匯編語言和高級語言。
匯編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。用匯編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。
高級語言是目前絕大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令,並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由於省略了很多細節,編程者也就不需要有太多的專業知識。
高級語言主要是相對於匯編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的vb、vc、foxpro、delphi等,這些語言的語法、命令格式都各不相同。
高級語言所編制的程序不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可將它們分為兩類: 解釋類和編譯類。
3、計算機語言的發展趨勢:面向對象程序設計以及數據抽象在現代程序設計思想中佔有很重要的地位,未來語言的發展將不在是一種單純的語言標准,將會以一種完全面向對象,更易表達現實世界,更易為人編寫,其使用將不再只是專業的編程人員,人們完全可以用訂制真實生活中一項工作流程的簡單方式來完成編程。下面是一張計算機語言發展圖表,從中不難得出計算機語言發展的特性:
² 簡單性
提供最基本的方法來完成指定的任務,只需理解一些基本的概念,就可以用它編寫出適合於各種情況的應用程序
² 面向對象
提供簡單的類機制以及動態的介面模型。對象中封裝狀態變數以及相應的方法,實現了模塊化和信息隱藏;提供了一類對象的原型,並且通過繼承機制,子類可以使用父類所提供的方法,實現了代碼的復用
² 安全性
用於網路、分布環境下有安全機制保證。
² 平台無關性
與平台無關的特性使程序可以方便地被移植到網路上的不同機器、不同平台。
三、面向未來的漢語程序設計語言:
從計算機誕生至今,計算機自硬體到軟體都是以印歐語為母語的人發明的。所以其本身就帶有印歐語的語言特徵,在硬體上cpu、i/o、存儲器的基礎結構都體現了印歐語思維狀態的"焦點視角",精確定義,分工明確等特點。計算機語言也遵照硬體的條件,使用分析式的結構方法,嚴格分類、專有專用,並在其發展脈絡中如同他們的語言-常用字量和歷史積累詞庫量極度膨脹。實際上,計算機硬體的發展越來越強調整體功能,計算機語言的問題日益突出。為解決這一矛盾,自六十年代以來相繼有500多種計算機語言出現,歷經五代,至今仍在變化不已。
漢語沒有嚴格的語法框架,字詞可以自由組合、突出功能的整體性語言。在計算機語言問題成為發展瓶頸的今天,漢語言進入計算機程序設計語言行列,已經成為歷史的必然。
1、 發展漢語程序設計語言的理由:
1)計算機語言問題解決,只能從人類語言中尋找解決方案;
2)計算機語言的現存問題是形式狀態與功能需求的矛盾;
3)計算機硬體的發展已為整體性語言-漢語進入計算機程序設計語言提供了條件
2、 漢語程序設計語言的技術特點:
1)漢文字的常用字高度集中,生命力極強,能靈活組合,簡明准確地表達日新月異的詞彙,這些優點是拼音文字無法企及的。
2)漢語言的語法簡易靈活,語詞單位大小和性質往往無一定規,可隨上下語境和邏輯需要自由運用。漢語言的思維整體性強,功能特徵突出。
3)漢語程序設計語言的發明者採用核心詞庫與無限寄存器相結合的方法,實現了漢語言的詞素自由組合;將編譯器與解釋器合一,使漢語程序設計語言既能指令又能編程;以獨特的虛擬機結構設計,將數據流與意識流分開,達到漢語程序設計語言與漢語描述完全一致,通用自如。
具有漢語言特性的漢語程序設計語言的出現,打破了漢語言不具備與計算機結合的條件而不能完成機器編碼的神話。還為計算機科學與現代語言學研究提出了一條嶄新的路徑,它從計算機語言的角度,從嚴格的機械活動及周密的演算法上,向世人證實漢語的特殊結構狀態,及其特殊的功能。
四、計算機語言之父——尼蓋德
尼蓋德幫助網際網路奠下了基礎,為計算機業做出了巨大貢獻。
尼蓋德是奧斯陸大學的教授,因為發展了simula編程語言,為ms-dos和網際網路打下了基礎而享譽國際。克里斯汀·尼蓋德於1926年在奧斯陸出生,1956年畢業於奧斯陸大學並取得數學碩士學位,此後致力於計算機計算與編程研究。
1961年~1967年,尼蓋德在挪威計算機中心工作,參與開發了面向對象的編程語言。因為表現出色,2001年,尼蓋德和同事奧爾·約安·達爾獲得了2001年a.m.圖靈機獎及其它多個獎項。當時為尼蓋德頒獎的計算機協會認為他們的工作為java,c++等編程語言在個人電腦和家庭娛樂裝置的廣泛應用掃清了道路,「他們的工作使軟體系統的設計和編程發生了基本改變,可循環使用的、可靠的、可升級的軟體也因此得以面世。」
尼蓋德因其卓越的貢獻,而被譽為「計算機語言之父」,其對計算機語言發展趨勢的掌握和認識,以及投身於計算機語言事業發展的精神都將激勵我們向著計算機語言無比燦爛的明天前進。
五、結束語
用科學的邏輯思維方法認識事物才會清楚的了解其過去、現在和未來,計算機語言的發展同樣遵循著科學技術發展的一般規律,以自然辯證法的觀點來分析計算機語言,有助於我們更加深入地認識計算機語言發展的歷史、現狀和趨勢,有了自然辯證法這把開啟科學認識大門的鑰匙,我們將回首過去、把握現在、放眼未來,正確地選擇計算機語言發展的方向,更好的學習、利用和發展計算機語言。
六、致謝
首先感謝張老師,張老師幽默的講解和精煉的內容使我受益匪淺,使我對以後的工作和生活有了更深刻的認識。另外要感謝本文所參考的文獻的作者和相關網站。最後還要感謝在我寫論文過程中提供無私幫助的人們,以及給我支持的家人和朋友。
參考文獻
1.《計算機語言與計算機程序發展歷史》博客中國網
2.《計算機發展史》 上海科學技術出版社
3.《軟體發展與社會進步》蔡希堯
4.《自然辯證法概論》 北京航空航天大學出版社
5.《資料庫發展新技術》 磊哲
6. 《漢語程序設計語言》陳雲牧
參考資料:
http://www.yeshare.com/LW/1/qq%2Dsun12406/
計算機語言發展史圖片:(英文)
http://skyivben.cnblogs.com/archive/2005/12/13/255777.html
這篇文章也值得一看:
http://www.boyacode.com/showart.asp?art_id=2941
回答者:houbin3651 - 探花 十一級 3-26 17:01
【摘要】
本文以自然辯證的觀點探討了計算機語言的發展歷程,運用自然辯證法的基本理論、基本方法,系統分析了計算機語言的發展歷史、現狀和未來。並對其的發展趨勢和未來模式做了探索性研究和預測,同時以哲學的觀點闡述其發展的因果關系,揭示其事物發展的共性問題;最後文章介紹了在計算機語言發展歷程中做出傑出貢獻的科學家,以其在計算機事業中的突出表現來折射出人類智慧的偉大,以其不平凡的一生來激勵和指導我們在計算機語言的發展中向著正確的方向前進。
【關鍵字】
自然辯證法 計算機語言 計算機技術 編程語言 網際網路 面向對象
正文
一九九三年美國的柯林頓政府提出了「信息高速公路」計劃,從而在這十多年間在全球范圍內引發了一場信息風暴,信息技術幾乎觸及了現代生活的方方面面,毫不誇張的說沒有了信息技術,現代文明的生活將無從談起;作為信息技術中最重要的部分,計算機技術無疑是其發展的核心問題,而我們知道計算機只是一台機器,它只能按照計算機語言編好的程序執行,那麼正確認識計算機語言的過去和未來,就是關繫到計算機發展的重中之重;以自然辯證法的觀點認識和分析計算機語言的發展歷程,將有助於更加全面地推動計算機技術的發展,有助於更加准確地掌握計算機語言發展趨勢。
一、科學認識大門的鑰匙--當代自然辯證法
自然辯證法,是馬克思主義對於自然界和科學技術發展的一般規律以及人類認識自然改造自然的一般方法的科學,是辯證唯物主義的自然觀、科學技術觀、科學技術方法論。它主要研究自然界發展的總規律,人與自然相互作用的規律,科學技術發展的一般規律,科學技術研究的方法。
馬克思、恩格斯全面地、系統地概括了他們所處時代的科學技術成功,批判吸取了前人的合理成分,系統地論述了辯證唯物主義自然觀、自然科學發展過程及其規律性,以及科學認識方法的辯證法,以恩格斯的光輝著作《自然辯證法》為標志,創立了自然辯證法繼續發展的廣闊道路。
自然辯證法是馬克思主義哲學的一個重要組成部分。在辯證唯物主義哲學體系中,自然辯證法與歷史唯物論相並列。它集中研究自然界和科學技術的辯證法,是唯物主義在自然界和科學技術領域中的應用,它的原理和方法主要適用於自然領域和科學技術領域。
學習和運用自然辯證法將有助於我們搞清科學和哲學的關系,從而更加清楚地認識科學的本質和發展規律,更加全面的觀察思考問題,只有加深了認識,我們才能更好地發揮主觀能動性,迎接新的科學技術的挑戰。下面我將以自然辯證法的觀點來分析計算機語言的發展歷程。
二、計算機語言的發展歷程和發展趨勢
計算機語言的發展是一個不斷演化的過程,其根本的推動力就是抽象機制更高的要求,以及對程序設計思想的更好的支持。具體的說,就是把機器能夠理解的語言提升到也能夠很好的模仿人類思考問題的形式。計算機語言的演化從最開始的機器語言到匯編語言到各種結構化高級語言,最後到支持面向對象技術的面向對象語言。
1、計算機語言的發展歷史: 二十世紀四十年代當計算機剛剛問世的時候,程序員必須手動控制計算機。當時的計算機十分昂貴,唯一想到利用程序設計語言來解決問題的人是德國工程師楚澤(konrad zuse)。幾十年後,計算機的價格大幅度下跌,而計算機程序也越來越復雜。也就是說,開發時間已經遠比運行時間來得寶貴。於是,新的集成、可視的開發環境越來越流行。它們減少了所付出的時間、金錢(以及腦細胞)。只要輕敲幾個鍵,一整段代碼就可以使用了。這也得益於可以重用的程序代碼庫。隨著c,pascal,fortran,等結構化高級語言的誕生,使程序員可以離開機器層次,在更抽象的層次上表達意圖。由此誕生的三種重要控制結構,以及一些基本數據類型都能夠很好的開始讓程序員以接近問題本質的方式去思考和描述問題。隨著程序規模的不斷擴大,在60年代末期出現了軟體危機,在當時的程序設計模型中都無法克服錯誤隨著代碼的擴大而級數般的擴大,以至到了無法控制的地步,這個時候就出現了一種新的思考程序設計方式和程序設計模型-----面向對象程序設計,由此也誕生了一批支持此技術的程序設計語言,比如eiffel,c++,java,這些語言都以新的觀點去看待問題,即問題就是由各種不同屬性的對象以及對象之間的消息傳遞構成。面向對象語言由此必須支持新的程序設計技術,例如:數據隱藏,數據抽象,用戶定義類型,繼承,多態等等。
2、計算機語言的發展現狀:目前通用的編程語言有兩種形式:匯編語言和高級語言。
匯編語言的實質和機器語言是相同的,都是直接對硬體操作,只不過指令採用了英文縮寫的標識符,更容易識別和記憶。用匯編語言所能完成的操作不是一般高級語言所能實現的,而且源程序經匯編生成的可執行文件不僅比較小,而且執行速度很快。
高級語言是目前絕大多數編程者的選擇。和匯編語言相比,它不但將許多相關的機器指令合成為單條指令,並且去掉了與具體操作有關但與完成工作無關的細節,例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時,由於省略了很多細節,編程者也就不需要有太多的專業知識。
高級語言主要是相對於匯編語言而言,它並不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的vb、vc、foxpro、delphi等,這些語言的語法、命令格式都各不相同。
高級語言所編制的程序不能直接被計算機識別,必須經過轉換才能被執行,按轉換方式可將它們分為兩類: 解釋類和編譯類。
3、計算機語言的發展趨勢:面向對象程序設計以及數據抽象在現代程序設計思想中佔有很重要的地位,未來語言的發展將不在是一種單純的語言標准,將會以一種完全面向對象,更易表達現實世界,更易為人編寫,其使用將不再只是專業的編程人員,人們完全可以用訂制真實生活中一項工作流程的簡單方式來完成編程。下面是一張計算機語言發展圖表,從中不難得出計算機語言發展的特性:
² 簡單性
提供最基本的方法來完成指定的任務,只需理解一些基本的概念,就可以用它編寫出適合於各種情況的應用程序
² 面向對象
提供簡單的類機制以及動態的介面模型。對象中封裝狀態變數以及相應的方法,實現了模塊化和信息隱藏;提供了一類對象的原型,並且通過繼承機制,子類可以使用父類所提供的方法,實現了代碼的復用
² 安全性
用於網路、分布環境下有安全機制保證。
² 平台無關性
與平台無關的特性使程序可以方便地被移植到網路上的不同機器、不同平台。
三、面向未來的漢語程序設計語言:
從計算機誕生至今,計算機自硬體到軟體都是以印歐語為母語的人發明的。所以其本身就帶有印歐語的語言特徵,在硬體上cpu、i/o、存儲器的基礎結構都體現了印歐語思維狀態的"焦點視角",精確定義,分工明確等特點。計算機語言也遵照硬體的條件,使用分析式的結構方法,嚴格分類、專有專用,並在其發展脈絡中如同他們的語言-常用字量和歷史積累詞庫量極度膨脹。實際上,計算機硬體的發展越來越強調整體功能,計算機語言的問題日益突出。為解決這一矛盾,自六十年代以來相繼有500多種計算機語言出現,歷經五代,至今仍在變化不已。
漢語沒有嚴格的語法框架,字詞可以自由組合、突出功能的整體性語言。在計算機語言問題成為發展瓶頸的今天,漢語言進入計算機程序設計語言行列,已經成為歷史的必然。
1、 發展漢語程序設計語言的理由:
1)計算機語言問題解決,只能從人類語言中尋找解決方案;
2)計算機語言的現存問題是形式狀態與功能需求的矛盾;
3)計算機硬體的發展已為整體性語言-漢語進入計算機程序設計語言提供了條件
2、 漢語程序設計語言的技術特點:
1)漢文字的常用字高度集中,生命力極強,能靈活組合,簡明准確地表達日新月異的詞彙,這些優點是拼音文字無法企及的。
2)漢語言的語法簡易靈活,語詞單位大小和性質往往無一定規,可隨上下語境和邏輯需要自由運用。漢語言的思維整體性強,功能特徵突出。
3)漢語程序設計語言的發明者採用核心詞庫與無限寄存器相結合的方法,實現了漢語言的詞素自由組合;將編譯器與解釋器合一,使漢語程序設計語言既能指令又能編程;以獨特的虛擬機結構設計,將數據流與意識流分開,達到漢語程序設計語言與漢語描述完全一致,通用自如。
具有漢語言特性的漢語程序設計語言的出現,打破了漢語言不具備與計算機結合的條件而不能完成機器編碼的神話。還為計算機科學與現代語言學研究提出了一條嶄新的路徑,它從計算機語言的角度,從嚴格的機械活動及周密的演算法上,向世人證實漢語的特殊結構狀態,及其特殊的功能。
四、計算機語言之父——尼蓋德
尼蓋德幫助網際網路奠下了基礎,為計算機業做出了巨大貢獻。
尼蓋德是奧斯陸大學的教授,因為發展了simula編程語言,為ms-dos和網際網路打下了基礎而享譽國際。克里斯汀·尼蓋德於1926年在奧斯陸出生,1956年畢業於奧斯陸大學並取得數學碩士學位,此後致力於計算機計算與編程研究。
1961年~1967年,尼蓋德在挪威計算機中心工作,參與開發了面向對象的編程語言。因為表現出色,2001年,尼蓋德和同事奧爾·約安·達爾獲得了2001年a.m.圖靈機獎及其它多個獎項。當時為尼蓋德頒獎的計算機協會認為他們的工作為java,c++等編程語言在個人電腦和家庭娛樂裝置的廣泛應用掃清了道路,「他們的工作使軟體系統的設計和編程發生了基本改變,可循環使用的、可靠的、可升級的軟體也因此得以面世。」
尼蓋德因其卓越的貢獻,而被譽為「計算機語言之父」,其對計算機語言發展趨勢的掌握和認識,以及投身於計算機語言事業發展的精神都將激勵我們向著計算機語言無比燦爛的明天前進。
五、結束語
用科學的邏輯思維方法認識事物才會清楚的了解其過去、現在和未來,計算機語言的發展同樣遵循著科學技術發展的一般規律,以自然辯證法的觀點來分析計算機語言,有助於我們更加深入地認識計算機語言發展的歷史、現狀和趨勢,有了自然辯證法這把開啟科學認識大門的鑰匙,我們將回首過去、把握現在、放眼未來,正確地選擇計算機語言發展的方向,更好的學習、利用和發展計算機語言。
六、致謝
首先感謝張老師,張老師幽默的講解和精煉的內容使我受益匪淺,使我對以後的工作和生活有了更深刻的認識。另外要感謝本文所參考的文獻的作者和相關網站。最後還要感謝在我寫論文過程中提供無私幫助的人們,以及給我支持的家人和朋友。
參考文獻
1.《計算機語言與計算機程序發展歷史》博客中國網
2.《計算機發展史》 上海科學技術出版社
3.《軟體發展與社會進步》蔡希堯
4.《自然辯證法概論》 北京航空航天大學出版社
5.《資料庫發展新技術》 磊哲
6. 《漢語程序設計語言》陳雲牧
參考資料:
http://www.yeshare.com/LW/1/qq%2Dsun12406/
計算機語言發展史圖片:(英文)
http://skyivben.cnblogs.com/archive/2005/12/13/255777.html
【摘要】
本文以自然辯證的觀點探討了計算機語言的發展歷程,運用自然辯證法的基本理論、基本方法,系統分析了計算機語言的發展歷史、現狀和未來。並對其的發展趨勢和未來模式做了探索性研究和預測,同時以哲學的觀點闡述其發展的因果關系,揭示其事物發展的共性問題;最後文章介紹了在計算機語言發展歷程中做出傑出貢獻的科學家,以其在計算機事業中的突出表現來折射出人類智慧的偉大,以其不平凡的一生來激勵和指導我們在計算機語言的發展中向著正確的方向前進。
【關鍵字】
自然辯證法 計算機語言 計算機技術 編程語言 網際網路 面向對象
正文
一九九三年美國的柯林頓政府提出了「信息高速公路」計劃,從而在這十多年間在全球范圍內引發了一場信息風暴,信息技術幾乎觸及了現代生活的方方面面,毫不誇張的說沒有了信息技術,現代文明的生活將無從談起;作為信息技術中最重要的部分,計算機技術無疑是其發展的核心問題,而我們知道計算機只是一台機器,它只能按照計算機語言編好的程序執行,那麼正確認識計算機語言的過去和未來,就是關繫到計算機發展的重中之重;以自然辯證法的觀點認識和分析計算機語言的發展歷程,將有助於更加全面地推動計算機技術的發展,有助於更加准確地掌握計算機語言發展趨勢。
一、科學認識大門的鑰匙--當代自然辯證法
自然辯證法,是馬克思主義對於自然界和科學技術發展的一般規律以及人類認識自然改造自然的一般方法的科學,是辯證唯物主義的自然觀、科學技術觀、科學技術方法論。它主要研究自然界發展的總規律,人與自然相互作用的規律,科學技術發展的一般規律,科學技術研究的方法。
馬克思、恩格斯全面地、系統地概括了他們所處時代的科學技術成功,批判吸取了前人的合理成分,系統地論述了辯證唯物主義自然觀、自然科學發展過程及其規律性,以及科學認識方法的辯證法,以恩格斯的光輝著作《自然辯證法》為標志,創立了自然辯證法繼續發展的廣闊道路。
自然辯證法是馬克思主義哲學的一個重要組成部分。在辯證唯物主義哲學體系中,自然辯證法與歷史唯物論相並列。它集中研究自然界和科學技術的辯證法,是唯物主義在自然界和科學技術領域中的應用,它的原理和方法主要適用於自然領域和科學技術領域。
學習和運用自然辯證法將有助於我們搞清科學和哲學的關系,從而更加清楚地認識科學的本質和發展規律,更加全面的觀察思考問題,只有加深了認識,我們才能更好地發揮主觀能動性,迎接新的科學技術的挑戰。下面我將以自然辯證法的觀點來分析計算機語言的發展歷程。
二、計算機語言的發展歷程和發展趨勢
計算機語言的發展是一個不斷演化的過程,其根本的推動力就是抽象機制更高的要求,以及對程序設計思想的更好的支持。具體的說,就是把機器能夠理解的語言提升到也
Ⅷ 游戲編程者應掌握哪些技能
C++基礎開始,C++程序設計、Win32程序設計、演算法與數據結構,數學與人工智慧等游戲或者應用軟體開發的全部流程和核心技術對程序設計的初學者,以面向對象的程序設計思想為主線,以通俗易懂的方法介紹C++語言,引導玩家以最自然的方式,將人類習慣的面向對象的思維方法運用到程序設計上~ 最應該掌握的技能還是實踐
Ⅸ 編程和人工智慧有什麼區別
無人機編程和計算機編程區別為:知識不同、操作不同、適合人群不同。一、知識不同1、無人機編程:無人機編程不僅涉及編程的知識,還需要了解無人機飛行原理等方面的知識。2、計算機編程:計算機編程需要的是編程相關的知識。二、操作不同1、無人機編程:無人機編程是通過給無人機編寫程序,讓無人機完成相應的指令。2、計算機編程:計算機編程是直接在電腦上操作,沒有實物要求。三、適合人群不同1、無人機編程:無人機編程強調動手能力,適合低齡兒童操作。2、計算機編程:計算機編程強調邏輯思維,適合專業技術程序員操作。

