第一篇:如何學(xué)習(xí)編程
最近看到很多朋友問到如何學(xué)習(xí)編程這個(gè)問題,我想這個(gè)問題應(yīng)該是所有初學(xué)者都非常關(guān)注的問題了,在論壇上回答了很多也講了很多,但是總是無法讓所有朋友得到一個(gè)解答,所以我想寫一下自己的經(jīng)驗(yàn),希望對(duì)大家有所幫助,不過在此先聲明,我并非什么高手,我也只是剛剛?cè)腴T而已,也只是希望通過寫一點(diǎn)個(gè)人的體會(huì)幫助一些和我遇到相同問題的朋友,高手就免看了,以免班門弄斧。
好了,廢話就不多說了。在學(xué)習(xí)程序之前,我想大家首先應(yīng)該對(duì)程序員這個(gè)行業(yè)熟悉一下,更加要對(duì)編程的語言以及所涉及到的工具有所了解。因?yàn)槿绾芜^了解這些是很難去給自己一個(gè)明確的目標(biāo)的。所以首先我想在這里先為大家介紹一下這個(gè)行業(yè)以及一些相關(guān)的內(nèi)容。
程序員,相信在很多人眼中是一個(gè)非常神秘,非常特別又或者說非常有趣的職業(yè)。因?yàn)樵谶@個(gè)行業(yè)里面實(shí)在出現(xiàn)了太多的英雄,每一個(gè)英雄的事跡都足以讓我們熱血沸騰。但是,又有誰知道在這些英雄的背后,藏著多少辛酸,藏著多少的努力。程序員這個(gè)行業(yè)并非如大家所想象的那樣美好。程序員是一個(gè)沒有白天黑夜概念的行業(yè),程序員是一個(gè)讓人筋疲力盡的行業(yè)。你們看到的是一些英雄的光輝歷史,但是卻忽略了大多數(shù)程序員的艱辛。所以在這里我奉勸各位,如果你是為了這個(gè)行業(yè)充滿傳奇色彩而想加入,如果你是為了這個(gè)行業(yè)薪水高而想加入,那么請(qǐng)你現(xiàn)在退出吧,因?yàn)樗贿m合你。這個(gè)行業(yè)需要的是擁有努力、認(rèn)真、堅(jiān)持的人。
講到如何學(xué)習(xí)編程,那么必不可少的就要講到編程語言了,相信大家都知道編程語言有很多種,包括C、C++、BASIC、PASIC、ASP、PHP等等,當(dāng)中還分為很多不同的領(lǐng)域,所以在學(xué)習(xí)編程之前一定要為自己定下一個(gè)目標(biāo),一個(gè)自己即將要進(jìn)入的領(lǐng)域。有些人想進(jìn)行底層開發(fā),有些人想做網(wǎng)站開發(fā),有些人想做商業(yè)軟件開發(fā)等等,由于計(jì)算機(jī)的普及,軟件行業(yè)所涉及的領(lǐng)域也就越來越多,一個(gè)人是不可能涉及所有的領(lǐng)域的,所以必須在學(xué)習(xí)之前給自己一個(gè)定位,這個(gè)是很重要的,如果沒有這個(gè)定位的話在未來學(xué)習(xí)編程的日子里將會(huì)很迷茫。
目標(biāo)的定位當(dāng)然不能少了工具的因素,因?yàn)椴煌念I(lǐng)域使用的開發(fā)工具也不同,在這里想重新再次鄭重的向所有朋友聲明一次,不要把開發(fā)工具和開發(fā)語言混為一談,語言是編程的基礎(chǔ),而工具是用來輔助開發(fā)的,例如VC、VB、DELPHI、BCB等等。每種工具都有各自的優(yōu)勢和缺點(diǎn),至于每種工具的特點(diǎn)我就不再相信講了,如果大家是有心學(xué)編程的話,我相信你一定會(huì)去看看關(guān)于這些工具的具體內(nèi)容的,呵呵,讓我偷個(gè)懶。還有在這里重要提醒一下大家,不要被現(xiàn)在的流行工具所迷惑,學(xué)好根本才是最重要
前面大概的準(zhǔn)備工作已經(jīng)做完了,對(duì)這個(gè)行業(yè)了解了,給自己定了一個(gè)目標(biāo)后,接下來當(dāng)然是全力向這個(gè)目標(biāo)出發(fā)了。那該怎么做呢?看了很多朋友的帖子,都講到C語言是程序員必學(xué)的語言,如果程序員不學(xué)C就不算是真正的程序員,我個(gè)人認(rèn)為這種說法有點(diǎn)偏激,當(dāng)然,我承認(rèn)學(xué)C是會(huì)對(duì)你有很大的幫助,但是并非一定要學(xué)C,大家之所以這樣說,可能是因?yàn)镃語言的影響太大了。但是你總不能要那些去學(xué)網(wǎng)站開發(fā)的人一定要去學(xué)C吧,呵呵。其實(shí)我個(gè)人認(rèn)為,一開始學(xué)什么都無所謂,但是無論學(xué)什么,一定要努力和堅(jiān)持,做不到這兩點(diǎn),你就注定會(huì)是個(gè)失敗者。在這里我想講一下學(xué)編程最關(guān)鍵的問題,就是思想。也許這是個(gè)很抽象的概念,但是沒有辦法,編程本身就是個(gè)很抽象的東西,呵呵。等你真正領(lǐng)悟到這一點(diǎn)的時(shí)候,恭喜你,你已經(jīng)站在編程的門口了,呵呵,只是門口哦。那么編程的思想又該如何去領(lǐng)悟呢?要領(lǐng)悟其思想,那首先學(xué)習(xí)語言是必然的,語言是思想的一種體現(xiàn)形式,就像一個(gè)人的思想需要語言來表達(dá)一樣,所以如果連一門語言都無法掌握的人是無法領(lǐng)悟其思想的。但是對(duì)于一個(gè)人,如果不經(jīng)常說話,不經(jīng)常使用語言,他又如何去使用語言來表達(dá)自己的思想呢?編程也一樣,要領(lǐng)悟其精髓,必須先不斷地看,不斷地使用,才能在這種過程中慢慢有所體驗(yàn),當(dāng)然有的人可能快些,有的人可能慢些,但是不管快慢,能夠達(dá)到就是進(jìn)步。
我記得在我仍然迷茫的時(shí)候,不知道自己該如何去學(xué),每天就是機(jī)械式的看書寫代碼,根本都不知道自己是不是真的懂,但是就是這樣不斷的看不斷的照著書寫,終于有一天,好象突然開竅一樣,一下子就把所有不明白的東西全都弄明白了,這個(gè)有點(diǎn)像佛家所說的頓悟,呵呵。我最初以C語言開始學(xué)習(xí)的,在我開始學(xué)C語言到頓悟這一刻,我可以告訴大家,我看C語言的書我一共看了5本不同的版本(不過都是像走馬觀花一樣的看,千萬不要學(xué)我),直到第5本看到指針那里,我才真正有種明白的感覺,也許我太笨了,相信大家看一本就夠了,HOHO。自從那一次后,我接著看C++,學(xué)習(xí)pascal、basic、匯編這些東西,自己感覺都非常容易看懂,可能這就是所謂的一理通百理通的道理吧。呵呵,不過在這里要講一下,上面所說的幾種語言雖然看書都看過了,也看明白了,但是由于很少使用,現(xiàn)在大部分都還給書本了,呵呵。
看到這里,包括我在內(nèi),我都感覺到自己很了不起,很厲害了??上В挥形易约褐?,雖然看了那么多,學(xué)得也多,寫得也不少,可是我卻不知道如何運(yùn)用。來來去去就是寫一些書本上的題目,自己卻感覺像windows那些程序卻不知道如何去寫,不知道該怎么辦,相信很多人都有和我一樣的體會(huì)吧,把C語言學(xué)了,題目也做了,而且都沒有問題,可是卻不知道如何去做開發(fā),感覺自己學(xué)的東西一點(diǎn)用處都沒有。這又是為什么呢?
在這之前,我一直為這個(gè)問題煩惱,后來我終于找到了答案,那就是我所學(xué)的,所寫的都是DOS應(yīng)用程序,而我們現(xiàn)在所使用的確實(shí)windows操作系統(tǒng),當(dāng)然也有使用linux系統(tǒng)的。后來看了一篇?jiǎng)e人寫的文章后,我才知道我所學(xué)的和實(shí)際運(yùn)用相差太遠(yuǎn)了?,F(xiàn)在大部分學(xué)習(xí)編程語言的書籍上的例題都是基于DOS系統(tǒng)開發(fā)的,所以我們所寫的程序和windows上所運(yùn)行的不一樣,這就是造成我們迷茫的主要原因。那該怎么辦呢?那還用問嗎,當(dāng)然就是去學(xué)習(xí)windows開發(fā)啦。在第一次接觸windows開發(fā)的時(shí)候,我真的是大吃一驚,這完全和我以前所學(xué)的很不一樣,但是又息息相關(guān),如果沒有以前所學(xué)的,我根本就看不懂windows開發(fā)的內(nèi)容。在這里給大家簡單介紹一下,windows開發(fā)和DOS開發(fā)的區(qū)別吧。大家都知道,DOS是一個(gè)單任務(wù)執(zhí)行系統(tǒng),也就是說在DOS下只能在一個(gè)程序運(yùn)行完成或者中斷后才能運(yùn)行其他的程序,而windows是個(gè)多任務(wù)系統(tǒng),當(dāng)然在本質(zhì)上windows也只能一個(gè)時(shí)間內(nèi)執(zhí)行一個(gè)程序,但是由于其利用CPU的運(yùn)算能力,讓這些微妙的時(shí)間讓人無法感覺到,再就是windows是一個(gè)圖形界面系統(tǒng),擁有著良好的用戶界面,不像DOS是個(gè)指令界面。所有這一切的區(qū)別導(dǎo)致DOS和windows開發(fā)上也存在很大的區(qū)別。所以現(xiàn)在的程序員首要的任務(wù)除了學(xué)習(xí)語言以外,就是要去學(xué)習(xí)windows開發(fā)機(jī)制。如果連這個(gè)都不懂,那是肯定開發(fā)不出一個(gè)好的windows軟件的。在這里向所有朋友重點(diǎn)推薦美國人Charles Perzold所寫的《windows程序設(shè)計(jì)》第五版,這本書可以說是經(jīng)典中的經(jīng)典,學(xué)習(xí)windows開發(fā)必看的書,適合有C語言基礎(chǔ)的朋友看,它有多經(jīng)典我就不想細(xì)講了,總之就是絕對(duì)不會(huì)讓你失望,呵呵。這本書市場價(jià)是160元整,分上下兩冊(cè),如果有的朋友覺得太貴的話,我這里有他的電子版,需要的就找我要吧,隨時(shí)歡迎大家找我要這本書,呵呵。
說實(shí)話寫到這里,我自己都不知道自己寫了些什么,好象很亂,呵呵,希望大家能夠看得懂吧。看完我介紹的這本書后,而且看懂的話,那么接下來自己該如何走,我相信我就不用再多說了,到那個(gè)時(shí)候你一定知道自己該如何去學(xué)習(xí)編程了。上面講了下我個(gè)人是如何學(xué)習(xí)的,當(dāng)然還有很多細(xì)節(jié)地方?jīng)]有涉及到,不過隨時(shí)歡迎朋友們跟我一起交流。而且我現(xiàn)在才發(fā)現(xiàn)
上面所寫的是從C語言開始學(xué)習(xí)的,呵呵,其實(shí)我并非要大家向我一樣學(xué)習(xí),我只是把自己學(xué)習(xí)的經(jīng)過大概講了下,當(dāng)然還有以后該怎么辦沒有寫,其實(shí)我也在摸索中,嘿嘿,我寫了那么多廢話,無非是想要大家明白幾個(gè)道理:
第一、首先要給自己定一個(gè)明確的目標(biāo)。
第二、分清楚語言和工具的區(qū)別。
第三、把思想放在首位,語言在精不在多,學(xué)好了一門語言再去學(xué)其他的,就易如反掌了。第四、工具是經(jīng)常被淘汰的,不要被工具所迷惑,堅(jiān)定自己的信念。
第五、無論選擇做什么系統(tǒng)開發(fā),首先要去了解這個(gè)系統(tǒng),只有了解了這個(gè)系統(tǒng)才能在上面為所欲為。
大概也就差不多了,不全或者寫得不好的地方請(qǐng)指正,個(gè)人發(fā)覺全是廢話,呵呵,就這么多了吧,歡迎大家跟我一起學(xué)習(xí),一起進(jìn)步,一起交流。當(dāng)然最后仍然是那句:
努力+堅(jiān)持=成功
網(wǎng)易16G“郵箱航母”橫空出世!
創(chuàng)紀(jì)錄16G超大容量(送6G免費(fèi)網(wǎng)盤),支持手機(jī)郵、通訊錄克隆、圖片簽名、網(wǎng)絡(luò)書簽??
第二篇:plc編程學(xué)習(xí)總結(jié)
1:PLC編程語言有5種,即順序功能圖(SFC),梯形圖(STL),功能塊圖,指令表,和結(jié)構(gòu)文本。其中順序功能圖(SFC)是最容易理解的,按照時(shí)間的先后順序執(zhí)行。然后轉(zhuǎn)換成梯形圖,因?yàn)樘菪螆D是PLC普遍采用的編程語言。不過SFC轉(zhuǎn)換梯形圖是很簡單的。
2:就好比是開關(guān)在合上時(shí)兩觸點(diǎn)接觸的一瞬間繼電器就有動(dòng)作了,這叫上升沿。
下降沿就好比開關(guān)兩觸點(diǎn)始終保持接觸時(shí),繼電器沒有動(dòng)作,只有開關(guān)兩點(diǎn)斷開時(shí)的瞬間繼電器才動(dòng)作。
第三篇:Java編程學(xué)習(xí)順序
1.第一階段 掌握要點(diǎn):Java語基礎(chǔ)知識(shí)。包括異常、IO流、多線程、集合類、數(shù)據(jù)庫。
(切記基礎(chǔ)知識(shí)一定要時(shí)時(shí)刻刻鞏固)eg:Java編程思想、Java2 核心技術(shù)
2.第二階段掌握要點(diǎn):Tomcat,毋庸置疑,Tomcat為學(xué)習(xí)web服務(wù)首選。而應(yīng)用服務(wù)器
目前主要有:jboss , weblogic.websphere.而Tomcat和jboss是首選。
3.第三階段掌握要點(diǎn):Java網(wǎng)絡(luò)編程。包括:SocketRMLHTMLJSPJavaBean
Servlet.開發(fā)工具:Myeclipsedreamweaver順序:
1、學(xué)習(xí)web 知識(shí):htmldreamwavejavascript2、先學(xué)習(xí)jsp設(shè)計(jì)、Javaservlet編程
3、學(xué)習(xí)jdbc數(shù)據(jù)庫編程
4、學(xué)習(xí),他和學(xué)習(xí)ejb可以結(jié)合起來《《精通ejb》》學(xué)習(xí)ejb設(shè)計(jì)模式和看代碼(最重要)《jsp2.0 技術(shù)手冊(cè)》 在jsp上不要花太多時(shí)間,在時(shí)間放在servlet多一些
4.第四階段 掌握要點(diǎn):流行MVC 架構(gòu)和Java對(duì)象持久化技術(shù)。包括struts
SpringHibernate JSF.學(xué)習(xí)過程:先學(xué)Struts,再學(xué)習(xí)Hibernate,最后學(xué)習(xí)Spring
第四篇:怎樣學(xué)習(xí)數(shù)控編程
目前在國內(nèi)制造業(yè)對(duì)數(shù)控加工高速增長的需求形勢下,數(shù)控編程技術(shù)人才出現(xiàn)了嚴(yán)重短缺,數(shù)控編程技術(shù)已成為就業(yè)市場上的需求熱點(diǎn)。
一、學(xué)好數(shù)控編程技術(shù)需要具備以下幾個(gè)基本條件:
(1)具有基本的學(xué)習(xí)資質(zhì),即學(xué)員具備一定的學(xué)習(xí)能力和預(yù)備知識(shí)。
(2)有條件接受良好的培訓(xùn),包括選擇好的培訓(xùn)機(jī)構(gòu)和培訓(xùn)教材。
(3)在實(shí)踐中積累經(jīng)驗(yàn)。
二、學(xué)習(xí)數(shù)控編程技術(shù),要求學(xué)員首先掌握一定的預(yù)備知識(shí)和技能,包括:
(1)基本的幾何知識(shí)(高中以上即可)和機(jī)械制圖基礎(chǔ)。
(2)基礎(chǔ)英語(高中以上即可)。
(3)機(jī)械加工常識(shí)。
(4)基本的三維造型技能。
三、選擇培訓(xùn)教材應(yīng)考慮的因素包括:
(1)教材的內(nèi)容應(yīng)適合于實(shí)際編程應(yīng)用的要求,以目前廣泛采用的基于CAD/CAM軟件的交互式圖形編程技術(shù)為主要內(nèi)容。在講授軟件操作、編程方法等實(shí)用技術(shù)的同時(shí)也應(yīng)包含一定的基礎(chǔ)知識(shí),使讀者知其然更知其所以然。
(2)教材的結(jié)構(gòu)。數(shù)控編程技術(shù)的學(xué)習(xí)是一個(gè)分階段不斷提高的過程,因此教材的內(nèi)容應(yīng)按不同的學(xué)習(xí)階段進(jìn)行合理的分配。同時(shí),從應(yīng)用角度對(duì)內(nèi)容進(jìn)行系統(tǒng)的歸納和分類,便于讀者從整體上理解和記憶。
四、數(shù)控編程的學(xué)習(xí)內(nèi)容和學(xué)習(xí)過程基本可以歸納為3個(gè)階段:
第1階段:基礎(chǔ)知識(shí)的學(xué)習(xí),包括數(shù)控加工原理、數(shù)控程序、數(shù)控加工工藝等方面的基礎(chǔ)知識(shí)。第2階段:數(shù)控編程技術(shù)的學(xué)習(xí),在初步了解手工編程的基礎(chǔ)上,重點(diǎn)學(xué)習(xí)基于CAD/CAM軟件的交互式圖形編程技術(shù)。
第3階段:數(shù)控編程與加工練習(xí),包括一定數(shù)量的實(shí)際產(chǎn)品的數(shù)控編程練習(xí)和實(shí)際加工練習(xí)。
五、學(xué)習(xí)方法與技巧同其他知識(shí)和技能的學(xué)習(xí)一樣,掌握正確的學(xué)習(xí)方法對(duì)提高數(shù)控編程技術(shù)的學(xué)習(xí)效率和質(zhì)量起著十分重要的作用。下面是幾點(diǎn)建議:
(1)集中精力打殲滅戰(zhàn),在一個(gè)較短的時(shí)間內(nèi)集中完成一個(gè)學(xué)習(xí)目標(biāo),并及時(shí)加以應(yīng)用,避免進(jìn)行馬拉松式的學(xué)習(xí)。
(2)對(duì)軟件功能進(jìn)行合理的分類,這樣不僅可提高記憶效率,而且有助于從整體上把握軟件功能的應(yīng)用。
(3)從一開始就注重培養(yǎng)規(guī)范的操作習(xí)慣,培養(yǎng)嚴(yán)謹(jǐn)、細(xì)致的工作作風(fēng),這一點(diǎn)往往比單純學(xué)習(xí)技術(shù)更為重要。
(4)將平時(shí)所遇到的問題、失誤和學(xué)習(xí)要點(diǎn)記錄下來,這種積累的過程就是水平不斷提高的過程。
六、如何學(xué)習(xí)CAM交互式圖形編程技術(shù)的學(xué)習(xí)(也就是我們常說的CAM編程的要點(diǎn))可分三個(gè)方面:
1、是學(xué)習(xí)CAD/CAM軟件應(yīng)重點(diǎn)把握核心功能的學(xué)習(xí),因?yàn)镃AD/CAM軟件的應(yīng)用也符合所謂的“20/80原則”,即80%的應(yīng)用僅需要使用其20%的功能。
2、是培養(yǎng)標(biāo)準(zhǔn)化、規(guī)范化的工作習(xí)慣。對(duì)于常用的加工工藝過程應(yīng)進(jìn)行標(biāo)準(zhǔn)化的參數(shù)設(shè)置,并形成標(biāo)準(zhǔn)的參數(shù)模板,在各種產(chǎn)品的數(shù)控編程中盡可能直接使用這些標(biāo)準(zhǔn)的參數(shù)模板,以減少操作復(fù)雜度,提高可靠性。
3、是重視加工工藝的經(jīng)驗(yàn)積累,熟悉所使用的數(shù)控機(jī)床、刀具、加工材料的特性,以便使工藝參數(shù)設(shè)置更為合理。需要特別指出的是,實(shí)踐經(jīng)驗(yàn)是數(shù)控編程技術(shù)的重要組成部分,只能通過實(shí)際加工獲得,這是任何一本數(shù)控加工培訓(xùn)教材都不可能替代的。雖然本書充分強(qiáng)調(diào)與實(shí)踐相結(jié)合,但應(yīng)該說在不同的加工環(huán)境下所產(chǎn)生的工藝因素變化是很難用書面形式來表述完整的。
最后,如同學(xué)習(xí)其他技術(shù)一樣,要做到“在戰(zhàn)略上藐視敵人,在戰(zhàn)術(shù)上重視敵人”,既要對(duì)完成學(xué)習(xí)目標(biāo)樹立堅(jiān)定的信心,同時(shí)又腳踏實(shí)地地對(duì)待每一個(gè)學(xué)習(xí)環(huán)節(jié)。
第五篇:學(xué)習(xí)編程從何入手
[ 轉(zhuǎn)] 新人學(xué)習(xí)編程的選擇、方法和步驟
學(xué)習(xí)編程,從何入手?
1、計(jì)算機(jī)語言的種類非常的多,總的來說可以分成機(jī)器語言,匯編語言,高級(jí)語言三大類。
2、電腦每做的一次動(dòng)作,一個(gè)步驟,都是按照以經(jīng)用計(jì)算機(jī)語言編好的程序來執(zhí)行的,程序是計(jì)算機(jī)要執(zhí)行的指令的集合,而程序全部都是用我們所掌握的語言來編寫的。所以人們要控制
計(jì)算機(jī)一定要通過計(jì)算機(jī)語言向計(jì)算機(jī)發(fā)出命令。
3、計(jì)算機(jī)所能識(shí)別的語言只有機(jī)器語言,即由0和1構(gòu)成的代碼。但通常人們編程時(shí),不采用機(jī)器語言,因?yàn)樗浅ky于記憶和識(shí)別。
4、目前通用的編程語言有兩種形式:匯編語言和高級(jí)語言。
5、匯編語言的實(shí)質(zhì)和機(jī)器語言是相同的,都是直接對(duì)硬件操作,只不過指令采用了英文縮寫的標(biāo)識(shí)符,更容易識(shí)別和記憶。它同樣需要編程者將每一步具體的操作用命令的形式寫出來。匯編程序通常由三部分組成:指令、偽指令和宏指令。匯編程序的每一句指令只能對(duì)應(yīng)實(shí)際操作過程中的一個(gè)很細(xì)微的動(dòng)作,例如移動(dòng)、自增,因此匯編源程序一般比較冗長、復(fù)雜、容易出錯(cuò),而且使用匯編語言編程需要有更多的計(jì)算機(jī)專業(yè)知識(shí),但匯編語言的優(yōu)點(diǎn)也是顯而易見的,用匯編語言所能完成的操作不是一般高級(jí)語言所能實(shí)現(xiàn)的,而且源程序經(jīng)匯編生成的可執(zhí)行文件不僅比較小,而且執(zhí)行速度很快。
6、高級(jí)語言是目前絕大多數(shù)編程者的選擇。和匯編語言相比,它不但將許多相關(guān)的機(jī)器指令合成為單條指令,并且去掉了與具體操作有關(guān)但與完成工作無關(guān)的細(xì)節(jié),例如使用堆棧、寄存器等,這樣就大大簡化了程序中的指令。同時(shí),由于省略了很多細(xì)節(jié),編程者也就不需要有太多的專業(yè)知識(shí)。
7、高級(jí)語言主要是相對(duì)于匯編語言而言,它并不是特指某一種具體的語言,而是包括了很多編程語言,如目前流行的VB、VC、FoxPro、Delphi等,這些語言的語法、命令格式都各不相同。
8、高級(jí)語言所編制的程序不能直接被計(jì)算機(jī)識(shí)別,必須經(jīng)過轉(zhuǎn)換才能被執(zhí)行,按轉(zhuǎn)換方式可將它們分為兩類:
解釋類:執(zhí)行方式類似于我們?nèi)粘I钪械摹巴暦g”,應(yīng)用程序源代碼一邊由相應(yīng)語言的解釋器“翻譯”成目標(biāo)代碼(機(jī)器語言),一邊執(zhí)行,因此效率比較低,而且不能生成可 獨(dú)立執(zhí)行的可執(zhí)行文件,應(yīng)用程序不能脫離其解釋器,但這種方式比較靈活,可以動(dòng)態(tài)地調(diào)整、修改應(yīng)用程序。
9、編譯類:編譯是指在應(yīng)用源程序執(zhí)行之前,就將程序源代碼“翻譯”成目標(biāo)代碼(機(jī)器語言),因此其目標(biāo)程序可以脫離其語言環(huán)境獨(dú)立執(zhí)行,使用比較方便、效率較高。
但應(yīng)用程序一旦需要修改,必須先修改源代碼,再重新編譯生成新的目標(biāo)文件(*.OBJ)才能執(zhí)行,只有目標(biāo)文件而沒有源代碼,修改很不方便?,F(xiàn)在大多數(shù)的編程語言都是編譯型的,例如Visual C++、Visual Foxpro、Delphi等。
《編程語言,你選哪一個(gè)》
雖然不是每個(gè)人都會(huì)成為編程高手,但你在使用軟件的時(shí)候,也許會(huì)冷不丁地冒出個(gè)問號(hào):這些神奇的軟件是怎么編出來的?而對(duì)那些將投身于此的“大蝦小蝦”們,接下去的可能是:我什么時(shí)候也能編出個(gè)更好的軟件來?好吧,那從哪里開始呢?編程語言
名錄繁多,選擇一個(gè)適合自己的編程語言,是你首先要邁出的一步。
你了解最常見的編程語言嗎?你知道最流行的程序開發(fā)環(huán)境嗎?
你知道Basic、Pascal、C、C++和Jave家族這些常見的編程語言各自都有什么優(yōu)點(diǎn)嗎?如果你對(duì)這些都不是很清楚的話,那么下面這一部分你可不能錯(cuò)過。
基礎(chǔ)篇
Basic:
Basic是一種非常適合初學(xué)者學(xué)習(xí)的編程語言。它簡單易懂,其命令和語句一般都是英文單詞或縮寫,易于理解,便于記憶。只要具有一些英語知識(shí)的人都可以很快地掌握它。擴(kuò)展地Basic語言常見地有:BASICA、GWBASIC、Quick Basic、Ture Basic和Turbo Basic。其中比較好的是Turbo Basic,它是一種可編譯的語言,所以它的速度更快、效率更高。Turbo Basic不僅保持了Basic語言一貫的比較容易學(xué)習(xí)的特點(diǎn),還具有像PASCAL語言那樣嚴(yán)謹(jǐn)?shù)幕究刂平Y(jié)構(gòu)。
Pascal:
Pascal語言是一門結(jié)構(gòu)化的語言,它具有豐富的數(shù)據(jù)類型和控制結(jié)構(gòu),簡明易懂,所以特別適合與教學(xué)。Pascal語言還是一種自編譯的語言,這就使它的可靠性大大提高了。在Pascal的各個(gè)版本中,尤以Turbo Pascal的功能最為強(qiáng)大。如今,在許多學(xué)校的計(jì)算機(jī)語言課上,學(xué)的都是Pascal語言,用的都是Turbo Pascal。
C:
C語言作為系統(tǒng)描述語言,既可以用來寫系統(tǒng)軟件,有可以用來寫應(yīng)用軟件,自然受到廣大用戶的喜愛。C語言有許多優(yōu)點(diǎn),它靈活性好、效率高、實(shí)用性強(qiáng),而且對(duì)硬件的控制能力很強(qiáng)。人們常把C語言稱作中級(jí)語言,意指它是一門介于高級(jí)語言和匯編語言之間的語言。
C++:
隨著軟件規(guī)模的不斷擴(kuò)大,人們發(fā)現(xiàn),使用傳統(tǒng)的“數(shù)據(jù)結(jié)構(gòu)+算法”的結(jié)構(gòu)化編程模式已經(jīng)難以適應(yīng)軟件的發(fā)展了。這時(shí),“面向?qū)ο螅ⅰ钡某绦蛟O(shè)計(jì)思想便逐漸
被人們所注意。對(duì)于C語言,人們發(fā)現(xiàn)當(dāng)C語言程序的規(guī)模超過5萬行時(shí),程序就變得難以調(diào)試和維護(hù)。這時(shí),將面向?qū)ο蟮乃枷胍隒語言變成了程序員的共同心愿。于是,C++語言便應(yīng)運(yùn)而生了,它以C語言為基礎(chǔ),引入了面向?qū)ο蟮乃枷?,成為目前最流行的編程語言之一。
Java:
如果要用一句話來描述Java,那就是“一種簡單的、面向?qū)ο蟮?、解釋型的、健壯的、安全的、結(jié)構(gòu)中立的、可移植的、高性能的、多線程的、動(dòng)態(tài)的語言”。
同是面向?qū)ο蟮恼Z言,Java與C++相比更加安全而且具有更高的可移植性。Java程序需要在安裝有Java虛擬機(jī)的平臺(tái)上執(zhí)行。要求在Java應(yīng)用程序運(yùn)行時(shí)每一步都強(qiáng)制執(zhí)行安全措施,這必然會(huì)導(dǎo)致編譯執(zhí)行速度下降,但魚與熊掌不可兼得,畢竟Java已經(jīng)如此強(qiáng)大了。
JavaScript & Java Applet:
Java是一種具有獨(dú)立功能得強(qiáng)大得語言,與網(wǎng)絡(luò)沒有必然得聯(lián)系;相比之下,JavaScript和Java Applet就更適合在網(wǎng)頁中開發(fā)和使用。JavaScript被稱為Java的腳本程序,是Java程序的簡化。通過編程,你可以根據(jù)需要?jiǎng)討B(tài)地創(chuàng)建你的主頁。JavaScript是一種
解釋型的語言,所以程序不需要進(jìn)行預(yù)編譯,只有當(dāng)程序被執(zhí)行時(shí)才被轉(zhuǎn)化為可執(zhí)行代碼。與前者相比,Java Applet才更像是一個(gè)程序。它是一類被嵌入到Web頁中的由與Java兼容的瀏覽器控制執(zhí)行的程序,Java Applet程序需要事先被編譯成class文件,然后將它導(dǎo)入到網(wǎng)頁中由瀏覽器控制執(zhí)行。
如果能熟練地掌握這兩種語言,你的網(wǎng)頁一定會(huì)增色不少。
SQL語言:
SQL語言簡稱“結(jié)構(gòu)化查詢語言”,它結(jié)構(gòu)簡潔、功能強(qiáng)大、簡單易學(xué),如今無論是像Oracle、Sybace、Informix、SQL Server這些大型的數(shù)據(jù)庫管理系統(tǒng),還是像Visual Foxpro、PowerBuilder這些微機(jī)上數(shù)據(jù)庫開發(fā)系統(tǒng),都支持SQL語言作為查詢語言。
開發(fā)篇
當(dāng)前在不同的程序設(shè)計(jì)領(lǐng)域都有各自的一些著名的軟件開發(fā)工具,我們今天就先把目光投向VB、VC、Delphi、C++ Builder、PowerBuilder這些大哥大級(jí)的開發(fā)工具上吧。
Visual Basic:
VB除了有強(qiáng)大得數(shù)據(jù)庫編程能力,還引入了面向?qū)ο蟮贸绦蛟O(shè)計(jì)思想。它功能強(qiáng)大,學(xué)習(xí)簡單。而且,VB還引入“控件”的概念,使得大量已經(jīng)編好得VB程序可以
被我們直接拿來使用,就像搭積木一樣簡單。如今,VB已經(jīng)有了6.0版。對(duì)于初學(xué)者來說,用VB編程是一件很容易上手的事。
Visual C++:
Visual C++可以說是為專門的程序設(shè)計(jì)人員而推出的。它的功能在當(dāng)前的程序設(shè)計(jì)工具中可以說是最強(qiáng)大的,可以說沒有VC做不到的,只有你想不到的。
Delphi:
以O(shè)bject Pascle為基礎(chǔ),擴(kuò)充了面向?qū)ο蟮哪芰?,并且完美地結(jié)合了可視化的開發(fā)手段。Delphi使用了本地編譯器直接生成技術(shù),使程序的執(zhí)行性能遠(yuǎn)遠(yuǎn)高于
其它產(chǎn)品生成的程序。它還是真正的面向?qū)ο蟮木幊陶Z言,人們預(yù)測Delphi將會(huì)成為可視化編程的主流環(huán)境。
C++ Builder
CB是將C++的面向?qū)ο笈c可視化緊密結(jié)合起來的一個(gè)強(qiáng)大的、開發(fā)效率高的集成開發(fā)環(huán)境。CB的兼容性極強(qiáng),它支持OWL、VCL和MFC這三種常見的類庫。
在BC和VC下通過的程序幾乎不用做任何修改就可以在CB下編譯通過??梢哉fCB是VC強(qiáng)有力的競爭者。
PowerBuilder:
PowerBuilder是新一代數(shù)據(jù)庫應(yīng)用開發(fā)工具,它支持應(yīng)用系統(tǒng)同時(shí)訪問多種數(shù)據(jù)庫。PowerBuilder是完全可視化的數(shù)據(jù)庫開發(fā)工具,它提供了大量控件,大大加快了項(xiàng)目的開發(fā)速度。其編程語言叫做PowerScript,也是一種高級(jí)的、結(jié)構(gòu)化的編程語言。PowerBuilder適合初學(xué)者快速學(xué)習(xí)數(shù)據(jù)庫開發(fā),是一種適用面非常廣的開發(fā)工具。
方案一 Basic語言 & Visual Basic
優(yōu)點(diǎn)
(1)Basic 簡單易學(xué),很容易上手。
(2)Visual Basic 提供了強(qiáng)大的可視化編程能力,可以讓你輕松地做出漂亮的程序。
(3)眾多的控件讓編程變得象壘積木一樣簡單。
(4)Visual Basic 的全部漢化讓我們這些見了English就頭大的人喜不自禁。
缺點(diǎn)
(1)Visual Basic 不是真正的面向?qū)ο蟮拈_發(fā)工具。
(2)Visual Basic 的數(shù)據(jù)類型太少,而且不支持指針,這使得它的表達(dá)能力很有限。
(3)Visual Basic 不是真正的編譯型語言,它產(chǎn)生的最終代碼不是可執(zhí)行的,是一種偽代碼。它需要一個(gè)動(dòng)態(tài)鏈接庫去解釋執(zhí)行,這使得Visual Basic 的編譯速度大大變慢。
結(jié)論:方案一適合初涉編程的朋友,它對(duì)學(xué)習(xí)者的要求不高,幾乎每個(gè)人都可以在一個(gè)比較短的時(shí)間里學(xué)會(huì)vB編程,并用VB 做出自己的作品。對(duì)于那些把編程當(dāng)做游戲的朋友來說,VB 是您最佳的選擇。
方案二 Pascal語言 & Delphi
優(yōu)點(diǎn)
(1)Pascal語言結(jié)構(gòu)嚴(yán)謹(jǐn),可以很好地培養(yǎng)一個(gè)人的編程思想。
(2)Delphi是一門真正的面向?qū)ο蟮拈_發(fā)工具,并且是完全的可視化。
(3)Delphi使用了真編譯,可以讓你的代碼編譯成為可執(zhí)行的文件,而且編譯速度非??臁?/p>
(4)Delphi具有強(qiáng)大的數(shù)據(jù)庫開發(fā)能力,可以讓你輕松地開發(fā)數(shù)據(jù)庫。
缺點(diǎn)
Delphi幾乎可以說是完美的,只是Pascal語言的過于嚴(yán)謹(jǐn)讓人感覺有點(diǎn)煩。
結(jié)論: 方案二比較適合那些具有一定編程基礎(chǔ)并且學(xué)過Pascal語言的朋友。
方案三 C語言 & Visual C++
優(yōu)點(diǎn)
(1)C語言靈活性好,效率高,可以接觸到軟件開發(fā)比較底層的東西。
(2)微軟的MFC庫博大精深,學(xué)會(huì)它可以讓隨心所欲地進(jìn)行編程。
(3)VC是微軟制作的產(chǎn)品,與操作系統(tǒng)的結(jié)合更加緊密。
缺點(diǎn)
對(duì)使用者的要求比較高,既要具備豐富的C語言編程經(jīng)驗(yàn),又要具有一定的WINDOWS編程基礎(chǔ),它過于專業(yè)
結(jié)論: VC是程序員用的東西。如果你是一個(gè)永不滿足的人,而且可以在編程上投入很大的精力和時(shí)間,那么學(xué)習(xí)VC你一定不會(huì)后悔的。
方案四 C++語言 & C++ Builder
優(yōu)點(diǎn)
(1)C++語言的優(yōu)點(diǎn)全部得以繼承。
(2)完全的可是化。
(3)極強(qiáng)的兼容性,支持OWL、VCL和MFC三大類庫。
(4)編譯速度非???。
缺點(diǎn)
由于推出的時(shí)間太短,關(guān)于它的各種資料還不太多。
結(jié)論:我認(rèn)為C++ Builder 是最好的編程工具。它既保持了C++語言編程的優(yōu)點(diǎn),又做到了完全的可視化。
方案五 SQL語言 & Power Builder
對(duì)于一些傳統(tǒng)的數(shù)據(jù)開發(fā)人員來說,F(xiàn)oxpro系列也許讓他們感到更加熟悉。但是對(duì)于初學(xué)者來說,PowerBuilder也許是最好的數(shù)據(jù)庫開發(fā)工具。各種各樣的控件,功能強(qiáng)大的PowerBuilder語言都會(huì)幫助你開發(fā)出自己的數(shù)據(jù)庫應(yīng)用程序。
[ 本帖最后由 R.E.C--F22 于 2009-5-10 01:51 編輯 ]