導航:首頁 > 源碼編譯 > 編譯語言學

編譯語言學

發布時間:2022-05-20 00:28:53

❶ 關於編程語言

說明一個說法,編程語言不是只做出來的。
然後我們再說說編程語言是怎麼產生的。
首先計算機識別的都是機器碼,也就是0101的東西,但是人看起來就很費勁,為了人讀起來容易一點,我們就可以把機器識別的東西0101001011的這類東西封裝成人容易閱讀的內容,這個封裝過程中就實現了機器碼和人容易閱讀內容的轉換,封裝出來的內容就是編程語言的前生了,它提供了一個入口,或者人類認識計算機的窗戶,我們只要按照特定的要求(其實就是編程語言的語法、規范)寫出我們人類容易閱讀的內容,然後通過這種封裝體(也就是編譯器)轉換成機器碼,最後由計算機執行。

要研發一種新的編程語言,首先必須要對計算機執行機器碼的流程非常清楚,然後才能談的上轉換,有了轉換的思路,就可以先出一種轉換的體制,也就是編譯器的構造了,其次才是研究如何讓編譯器識別自己編寫的語言的問題。

❷ 編譯原理中文法變換的特殊方法有哪些

說明方法
常見的說明方法
常見的說明方法有舉事例、分類別、列數據、作比較、畫圖表、下定義、作詮釋、打比方、摹狀貌、引資料等10種。寫說明文要根據說明對象的特點及寫作目的,選用最佳方法。下面分別加以說明。

(1)舉例子。舉出實際事例來說明事物,使所要說明的事物具體化,以便讀者理解,這種說明方法叫舉例法。如:

一般人總以為,年齡稍大,記憶能力就一定要差,其實不然,請看實驗結果:國際語言學會曾對9至18歲的青年與35歲以上的成年人學習世界語作過一個比較,發現前者就不如後者的記憶力好。這是因為成年人的知識、經驗比較豐富,容易在已有的知識基礎上,建立廣泛的聯系。這種聯系,心理學上稱為「聯想」。人的記憶就是以聯想為基礎的,知識經驗越豐富,越容易建立聯想,記憶力就會相應提高。馬克思五十多歲時開始學俄文,六個月後,他就能津津有味地閱讀著名詩人與作家普希金、果戈里和謝德林等人的原文著作了。這是由於語言知識豐富,能夠通曉很多現代和古代的語言的緣故。

這段文章要說明的是:年齡稍大,記憶力不一定就差。為了說明這一點,作者先提供了實驗結果,又分析了原因。到此為止,未嘗不可,但不夠具體,也缺乏說服力,於是,又舉出了一個實例:馬克思在五十多歲的時候,只用六個月時間便精通了俄語。這樣一來,內容具體了,說服力增強了。

說明文中的舉事例的說明方法和議論文中的例證法,都可以起到使內容具體、加強說服力的作用。但二者又有區別。議論文中的事例,是用來證明觀點的,說明文的事例,是用來介紹知識的。

運用舉事例的說明方法說明事物或事理,一要注意例子的代表性,二要注意例子的適量性。

(2)分類別。將被說明的對象,按照一定的標准劃分成不同的類別,一類一類地加以說明,這種說明方法,叫分類別。

分類別是將復雜的事物說清楚的重要方法。

運用分類別方法要注意分類的標准,一次分類只能用同一個標准,以免產生重疊交叉的現象。例如:「圖書館的藏書有中國的、古典的、外國的、科技的、文學的、現代的以及政治經濟方面的等。」這里用了不只一個標准,所以表達不清。正確的說法應該是:

圖書館的藏書,按國別分,有中國的、外國的;按時代分,有古典的、現代的;按性質分,有科技的、文學的以及政治經濟方面的等。

這樣,每次分類只用一個標准,就眉目清楚了。

有的事物的特徵、本質需要分成幾點或幾個方面來說,也屬於分類別。

注意,運用分類別方法,所列舉的種類不能有遺漏。

(3)列數據。為了使所要說明的事物具體化,還可以採用列數據的方法,以便讀者理解。需要注意的是,引用的數字,一定要准確無誤,不準確的數字絕對不能用,即使是估計的數字,也要有可靠的根據,並力求近似。

(4)作比較。說明某些抽象的或者是人們比較陌生的事物,可以用具體的或者大家已經熟悉的事物和它比較,使讀者通過比較得到具體而鮮明的印象。事物的特徵也往往在比較中顯現出來。

在作比較的時候,可以是同類相比,也可以是異類相比,可以對事物進行「橫比」,也可以對事物進行「縱比」。

(5)畫圖表。為了把復雜的事物說清楚,還可以採用圖表法,來彌補單用文字表達的缺欠,對有些事物解說更直接、更具體。

(6)下定義。用簡明的語言對某一概念的本質特徵作規定性的說明叫下定義。下定義能准確揭示事物的本質,是科技說明文常用的方法。

下定義的時候,可以根據說明的目的需要,從不同的角度考慮。有的著重說明特性,如關於「人」的定義;有的著重說明作用,如關於「肥料」的定義;有的既說明特性又說明作用,如關於「統籌方法」和「應用科學」的定義。

①人是能製造工具並使用工具進行勞動的高級動物。

②肥料是能供給養分使植物生長的物質。

③統籌方法,是一種安排工作進程的數學方法。

④工程技術的科學叫做應用科學,它是應用自然科學的基礎理論來解決生產實踐中出現的問題的學問。

無論從什麼角度考慮,無論採用什麼方式,只要是下定義,就必須揭示事物的本質,只有這樣的定義才是科學的。比如,有人說:「人是兩足直立的動物。」這個定義就是不科學的,因為它沒能揭示事物的本質。「人是能製造工具並使用工具進行勞動的高級動物。」這才是科學的定義,因為它揭示了人的本質。

(7)作詮釋。從一個側面,就事物的某一個特點做些解釋,這種方法叫詮釋法。

定義法和詮釋法常採用「某某是什麼」的語言形式。形式相同,如何區分呢?一般來說,「是」字兩邊的話能夠互換,就是定義;如果不能互換,就是詮釋。

例如,「人是能製造工具並使用工具進行勞動的高級動物」這句話,改成「能製造工具並使用工具進行勞動的高級動物是人」,意思不變。「雪是在雲中形成的一種固態降水物」這句話,如果改為「雲中形成的固態降水物是雪」就不成。由此可以辨別,前一句是定義說明,後一句是詮釋說明。

(8)打比方。利用兩種不同事物之間的相似之處作比較,以突出事物的性狀特點,增強說明的形象性和生動性的說明方法叫做打比方。

說明文中的打比方的說明方法,同修辭格上的比喻是一致的。不同的是,比喻修辭有明喻、暗喻、和借喻,而說明多用明喻和暗喻,借喻則不宜使用。

(9)摹狀貌。為了使被說明對象更形象、具體,可以進行狀貌摹寫,這種說明方法叫摹狀貌。

(10)引資料。為了使說明的內容更充實具體,可以引資料說明。引資料的范圍很廣,可以是經典著作,名家名言,公式定律,典故諺語等。

一篇說明文單用一種說明方法很少,往往綜合運用多種說明方法。採用什麼說明方法,一方面服從內容的需要,另一方面作者有選擇的自由。是採用一種說明方法,還是採用多種說明方法,是採用這種說明方法,還是那種說明方法,可以靈活,不是一成不變的。
參考資料:http://ke..com/view/118461.html

❸ 編譯原理的文法是什麼

文法是描述語言規則的形式規則。實際上就是用一個四元組G=(VT,VN,S,P)定義的一個推理方式。其中VT是終結符,VN是非終結符,S是開始符號,P是一組產生規則。

java和C 兩種編程語言學哪個更好一些

Java和C都是指令式語言(Imperative Language),不同的是Java有面向對象(OO)成分在裡面,而C是完全面向過程的,C的高級版本C++、C#支持面向對象。

另外一個不同是,Java跨平台,既不同的操作系統都可以通過JVM來解釋Java程序,而C、C++、C#則是與平台相關的,有些指令只在某些操作系統中才能執行。具體原因是,Java是解釋型語言,所有代碼都會翻譯成統一的、與系統無關的bytecode,然後放到JVM上運行;而C是編譯式語言,代碼要先通過編譯器轉換成與系統相關的中間代碼,然後才能運行。

再一個不同是,Java不支持系統調用,既無法與操作系統進行交互,這是由它跨平台的特點決定的,而C則可以調用系統中的指令,如fork()。這也就是為什麼Java中只有線程(Thread)概念而沒有進程(Process)概念,而C兩者均有。

再者,Java無法對內存進行控制,而C則可以通過指針對內存進行人為分配。
還有一點,Java有Gabbage Collection機制,可以自動回收不再使用的空間,而C則要用free()函數釋放空間。

總的來說,Java比較容易上手,學得快,但對於了解編程語言來說幫助不如C大。
當然Java和C之間的區別還有很多很多。

❺ 請高手指導/想學編程語言,但不知道學哪種。。。

雖然我是復制的 但是我覺得這個說的非常好 我收藏了 沒事看看 給自己也是一種鼓勵 我也在學習

學習任何知識,循序漸進總是最好的方式。不幸的是,很多人明知這個道理,卻總是想走所謂的捷徑。如果你是一個剛剛開始學習編程的中學生,或者你是一個剛剛進入計算機學院的本科生,又或者你是一個決心在計算機領域有所建樹的初學者,你一定迫切地想知道,學習計算機技術,究竟應該從哪裡下手。

我的建議是:數學、英語、C語言。

數學和英語的重要性已經不需要我來強調,大家也許從幼兒園就開始學習它們了,請時刻把它們放在最重要的位置,無論你是否學習計算機。

為什麼C語言如此重要?我們從學習方法開始說起。書本上描述的東西,倘若不經過我們的親自實踐,是難以被徹底消化吸收的。計算機組成原理講解了浮點數的格式,如果我們能看到並分析內存或寄存器中某個浮點數的表示,那比單純的紙上談兵要強一千倍;數據結構與演算法似乎很難,如果你能把書上的例子實現出來,然後把習題做完,只需啃完一本好書,你也可以是演算法高手;操作系統原理其實不僅僅是原理,只有做一些內核方面的實驗才能真正有深刻理解;還有許多新潮的技術,比如JavaEE、php、Ajax、.NET等等等等,很多高手學習這些技術只需要很短的時間,不必說,他們肯定是C語言的高手。C語言幾乎是一切計算機技術的通用工具,包括計算機的各種基本理論。沒有精通C語言的決心,就不要涉足計算機領域。

為什麼是C語言而不是C++不是Java不是其它?因為C語言最簡單。你需要掌握一個語言工具,但也許並不需要「面向對象」、「模板」、「函數重載」等等一大堆概念。C語言足夠低級,非常非常地貼近計算機的底層結構,不會讓你迷失在概念的汪洋大海。除了「指針」,C語言沒有真正意義上的難點,而「指針」,恰恰是理解計算機底層結構精髓的關鍵所在。

所以,初學者們不必思考應該學什麼,等把C語言精通了,你自己便會知道下一步如何去走。如果你對操作系統內部感興趣,你便可以試著研究一下Unix的內核,除了C語言,你還需要一些匯編語言和保護模式的知識;如果你對演算法感興趣,那麼恭喜你,C語言足夠使用了;如果你對Windows編程感興趣,去看看《Windows程序設計》吧,作者清楚的告訴你「只需要C語言的基礎」;如果你對任何其它語言感興趣,盡管去學吧,不過還是建議先學C++,因為你需要一些「面向對象」的知識。

學習C語言不是一朝一夕的事情,但也不需要花費十年時間才能精通。如何以最小的代價學習並精通C語言是本文的主題。請注意,即使是「最小的代價」,也絕不是什麼捷徑,而是以最短的時間取得最多的收獲,同時也意味著你需要經歷艱苦的過程。

一、要讀就讀好書,否則不如不讀

所有初學者面臨的第一個問題便是:如何選擇教材。好的開始是成功的一半,選擇一本優秀的教材是事半功倍的關鍵因素。不幸的是,學校通常會幫你指定一本很差勁的C語言課本;而幸運的是,你還可以再次選擇。

大名鼎鼎的譚浩強教授出了一本《C語言程序設計》,據說發行量有超過400萬,據我所知,很多學校都會推薦這本書作為C語言課本。雖然本人的名字(譚浩宇)跟教授僅僅一字之差,但我是無比堅定地黑他這本書的。這本書不是寫給計算機專業的學生的,而是給那些需要考計算機等級考試的其它專業學生看的。這本書的主要缺點是:例子程序非常不專業,不能教給你程序設計應該掌握的思考方式;程序風格相當地不好,會讓你養成亂寫代碼的惡習;錯誤太多,曾經有人指出過這本書的上百個錯誤,其中不乏關鍵的概念性錯誤。好了,這本書我也不想說太多了,有興趣大家可以網路一下:)

Kernighan和Ritchie的《The C Programming Language》(中譯名《C程序設計語言》)堪稱經典中的經典,不過舊版的很多內容都已過時,和現在的標准C語言相去甚遠,大家一定要看最新的版本,否則不如不看。另外,即使是最經典最權威的書,也沒有辦法面面俱到,所以手邊常備一本《C語言參考手冊》是十分必要的。《C語言參考手冊》就是《C Reference Manual》,是C語言標準的詳細描述,包括絕大多數C標准庫函數的細節,算得上是最好的標准C語言的工具書。順便提一句,最新的《C程序設計語言》是根據C89標准修訂的,而《C語言參考手冊》描述的是C99標准,二者可能會有些出入,建議按照C99標准學習。還有一本《C和指針》,寫得也是相當地不錯,英文名是《Pointers on C》,特別地強調指針的重要性,算是本書的一個特點吧。不過這本書並不十分適合初學者,如果你曾經學過C語言,有那麼一些C語言的基礎但又不是很扎實,那麼你可以嘗試一下這本書。我相信,只要你理解了指針,C語言便不再神秘。

如果你已經啃完了一本C語言教材,想要更進一步,那麼有兩本書你一定要看。首先是《C Traps and Pitfalls》(中譯名《C陷井與缺陷》),很薄的一本小冊子,內容非常非常地有趣。要注意一點,這本書是二十多年前寫成的,裡面提到的很多C語言的缺陷都已被改進,不過能夠了解一些歷史也不是什麼壞事。然後你可以挑戰一下《Expert C Programming》(中譯名《C專家編程》),書如其名,這本書頗具難度,一旦你仔細讀完並能透徹理解,你便可以放心大膽地在簡歷上寫「精通C語言」了。

切記一個原則,不要讀自己目前還看不懂的書,那是浪費生命。如果你看不懂,那你一定是缺失了某些必需基礎知識。此時,你要仔細分析自己需要補充哪些內容,然後再去書店尋找講述的這些內容的書籍。把基礎知識補充完畢再回頭來學習,才會真正的事半功倍。

二、Unix/Linux還是Windows,這是個很大的問題

不同的編程環境會造就出不同思維的程序員。Windows的程序員大多依賴集成開發環境,比如Visual Studio,而Unix程序員更加鍾愛Makefile與控制台。顯而易見,集成開發環境更容易上手,在Windows上學習C語言,只需要會按幾個基本的Visutal C++工具欄按鈕就可以開始寫Hello, World!了,而在Unix下,你需要一些控制台操作的基本知識。有人也許認為Unix的環境更簡潔,但習慣的力量是很大的,大家都很熟悉Windows的基本操作,而為了學習C語言去專門裝一個Unix系統,似乎有點不劃算。

對於一個只懂得Windows基本操作、連DOS是什麼都不知道的新手而言,盡快做一些有趣而有意義的事情才是最重要的。用C語言寫一個小程序遠比學習ls、cat等命令有趣,況且我們要專注於C語言本身,就不得不暫時忽略一些東西,比如編譯鏈接的過程、Makefile的寫法等等等等。

所以我建議初學者應該以Visual C++ 6.0(不是VisualC++ .NET)或者Dev C++作為主要的學習環境,而且千萬不要在IDE的使用技巧上過多糾纏,因為今後你一定要轉向Unix環境的。Visual C++ 6.0使用很方便,調試也很直觀,但其默認的編譯器對C標準的支持並不好,而Dev C++使用gcc編譯器,對C99的標准都支持良好。使用順帶提一下,很多大學的C語言課程還在使用Turbo C 2.0作為實驗環境,這是相當不可取的,原因其一是TC 2.0對C標准幾乎沒有支持,其二是TC 2.0編譯得到的程序是16位的,這對今後理解32位的程序會造成極大的困擾(當然,用djgpp之類的東西可以使TC 2.0編譯出32位程序,不過那過於復雜了)。

等你學完一本C語言的教材,你一定要轉向Unix平台繼續學習,幾乎所有的C語言高級教程都是基於Unix平台的(比如《C專家編程》)。轉變的過程是痛苦的,你需要面對的是各種紛繁復雜的命令,完全不同於Windows平台的思考方式,但是這種痛苦是值得的。Unix與C是共生的,Unix的思考方式和習慣更加符合C語言的思考方式和習慣。在Unix下,你可以找到無數優秀的源代碼供你盡情閱讀,你可以方便地查看某個庫函數的聯機手冊,還可以看到最優秀的代碼風格(說到代碼風格,我會專門寫一篇文章詳細敘述)。

歸結起來就是一句話:初學C語言,建議使用Windows系統和集成開發環境,在准備向「高手」方向努力時,請先轉向Unix平台。

三、萬事俱備,你就是東風

書已選定,環境配置完成,正所謂萬事俱備,只欠你自己的努力了。請從書的前言開始,仔細地閱讀手頭的教材,很多人看書喜歡直接從第一章開始看,這是錯誤的做法。前言是作者對整本書的大體介紹,作者一般會告訴你需要什麼基礎才能夠順利閱讀本書,這可以幫助你檢驗自己的基礎知識是否已經具備。看完前言,還要瀏覽一下目錄,了解一下書的整體結構,順便給自己安排一下學習計劃。

學習C語言,必需注意每一個細節,書上的例子代碼一定要自己親自敲一遍,編譯執行輸出都跟書上說的一致才能算是學完了一個例子,如果不一致,就要仔細找原因。出了書本上有的例子,自己還要「創造」一些例子,比如學習運算符優先順序的時候,可以寫幾個相同的表達式,在不同的位置加上括弧,看看有哪些不同的行為,比如*p++和(*p)++,又比如a = b == c、(a = b) == c和a = (b == c)等等。自己抄的書上的例子以及改造之後的例子,還有自己「創造」的例子,都應該仔細地歸類保存,並且要在源代碼中寫上簡短的注釋,闡述這個例子的意圖。

例子之後就是習題了,我建議初學者把所有的習題都獨立做一遍,然後對照答案的代碼,看看自己的代碼有那些不足,再試著修改自己的代碼。很多人不重視習題,這是極大的錯誤,因為作者通常會在習題中說明一些重要的道理,而不是單純地檢驗前面的知識。

也許你認為這樣學習太慢,其實不然。學得細致就不用走回頭路,等你學到後面才發現自己前面沒搞清楚,那才是真的得不償失。一般說來,整本書讀完,你應該完成數千行乃至上萬行的代碼,無論是原封不動照抄書上的,還是自己心血來潮寫就的,都是今後繼續學習的一筆財富。以我自己舉例,閱讀《Windows核心編程》時(我只閱讀了3/4的內容),除了抄書上的代碼,還自己寫了很多例子,一共有5574行(用unix下的wc工具統計),時隔多日,我早已記不清Windows的系統編程了,但只要花幾分鍾翻出以前的代碼看看,便會重新瞭然於胸。所謂好記性不如爛筆頭,就是這個道理。

仔細讀書、認真抄寫源代碼、獨立完成習題外加更進一步的實驗,最後將所有的代碼留下,成為自己的經驗和財富,絕對的辛苦,也絕對的事半功倍。當然,這種方式只適合學習需要精通的技術,如果不是學習C語言,你還要具體情況具體分析。

寫到最後,還有非常非常重要的一點沒有提及——代碼風格,從最開始學習就必須強迫自己模仿最優秀的代碼風格。因為代碼風格太重要內容也太多,我會用專門的一篇文章來詳細討論,請大家關注《程序員之路——關於代碼風格》。

❻ 請教:我想學編程,不知道哪種語言最適合我

程序語言可分為5類

1、web page script languages

就是網頁代碼,比如Html、javascript、Css、Asp、Php、Xml都應該屬於此類(照蔡的意思,Html不應該屬於anguages的,可能他覺得太簡單了吧,不過我覺得Html也應該算的,大家愛聽誰的就聽誰的好了,這個不重要)

2、Interpreted Languages(解釋型語言)

包括Perl、Python、REBOL、Ruby等(後面三個聽豆沒聽過),也常被稱作Script語言,通常被用於和底下的操作系統溝通。照蔡的意思,每個人至少應該學會一套這類的語言。這類語言的缺點是效率差、源代碼外露——所以不適合用來開發軟體產品,一般用於網頁伺服器。

3、Hybrid Laguages(混合型語言)

代表是JAVA和C#。介於解釋型和編譯型之間。蔡認為C#是.NET最重要的語言,值得期待其後續發展;至於JAVA,蔡叫看他的《Sleepless in Java》——我倒!

4、COMPILING Languages(編譯型語言)

C/C++,JAVA都是編譯型語言。蔡說C++很復雜,要成為高手沒三五年是不行的(就憑這句話,我決定向JAVA投降),雖然如此,但真正要成為高手的都應該懂C/C++。

關於Delphi,蔡說如果想要跨Linux和Windows平台的語言,則Delphi似乎是最好的選擇。

5、Assembly Languages(匯編語言)

匯編語言是最接近於硬體的語言,不過現在幾乎沒多少人用了。

程序語言學習順序建議

如果完全沒有程序經驗,可照這個順序:javascript——解釋型語言——混合型語言——編譯型語言——匯編(如果需要的話)

用業界流行一句話做結尾「真正的程序員用C++,聰明的程序員用Delphi」,那麼,什麼樣的程序員用JAVA呢?

虛懷若谷題外話

看在我這么晚了還這么辛苦的敲字的面子上,看到這篇帖子的朋友給點掌聲吧,雖然沒什麼自己的思想。

另外,本文完全據蔡學鏞先生同名文章精簡,所以如果這篇文章給你的程序員生涯有什麼不好的作用,那我不介意你去扁他。當然如果這篇文章對你有什麼積極影響,我很高興你能請我吃大餐。

如果您想學習編程,卻又不知從何入手,那麼您不妨看看下面的幾種學習方案,可能會給您一些啟示吧!

方案一 Basic語言 & Visual Basic

優點

(1)Basic 簡單易學,很容易上手。

(2)Visual Basic 提供了強大的可視化編程能力,可以讓你輕松地做出漂亮的程序。

(3)眾多的控制項讓編程變得象壘積木一樣簡單。

(4)Visual Basic 的全部漢化讓我們這些見了English就頭大的人喜不自禁。

缺點

(1)Visual Basic 不是真正的面向對象的開發文具。

(2)Visual Basic 的數據類型太少,而且不支持指針,這使得它的表達能力很有限。

(3)Visual Basic 不是真正的編譯型語言,它產生的最終代碼不是可執行的,是一種偽代碼。它需要一個動態鏈接庫去解釋執行,這使得Visual Basic 的編譯速度大大變慢。

綜述:方案一適合初涉編程的朋友,它對學習者的要求不高,幾乎每個人都可以在一個比較短的時間里學會vB編程,並用VB 做出自己的作品。對於那些把編程當做游戲的朋友來說,VB 是您最佳的選擇。

方案二 Pascal語言 & Delphi

優點

(1)Pascal語言結構嚴謹,可以很好地培養一個人的編程思想。

(2)Delphi是一門真正的面向對象的開發工具,並且是完全的可視化。

(3)Delphi使用了真編譯,可以讓你的代碼編譯成為可執行的文件,而且編譯速度非常快。

(4)Delphi具有強大的資料庫開發能力,可以讓你輕松地開發資料庫。

缺點

Delphi幾乎可以說是完美的,只是Pascal語言的過於嚴謹讓人感覺有點煩。

綜述: 方案二比較適合那些具有一定編程基礎並且學過Pascal語言的朋友。

方案三 C語言 & Visual C++

優點

(1)C語言靈活性好,效率高,可以接觸到軟體開發比較底層的東西。

(2)微軟的MFC庫博大精深,學會它可以讓隨心所欲地進行編程。

(3)VC是微軟製作的產品,與操作系統的結合更加緊密。

缺點

對使用者的要求比較高,既要具備豐富的C語言編程經驗,又要具有一定的WINDOWS編程基礎,它的過於專業使得一般的編程愛好者學習起來會有不小的困難。

綜述: VC是程序員用的東西。如果你是一個永不滿足的人,而且可以在編程上投入很大的精力和時間,那麼學習VC你一定不會後悔的。

方案四 C++語言 & C++ Builder

優點

(1)C++語言的優點全部得以繼承。

(2)完全的可是化。

(3)極強的兼容性,支持OWL、VCL和MFC三大類庫。

(4)編譯速度非常快。

缺點

由於推出的時間太短,關於它的各種資料還不太多。

綜述:我認為C++ Builder 是最好的編程工具。它既保持了C++語言編程的優點,又做到了完全的可視化。

方案五 SQL語言 & Power Builder

對於一些傳統的數據開發人員來說,Foxpro系列也許讓他們感到更加熟悉。但是對於初學者來說,PowerBuilder也許是最好的資料庫開發工具。各種各樣的控制項,功能強大的PowerBuilder語言都會幫助你開發出自己的資料庫應用程序。

補充:關於網頁後台語言和其他語言的關系,一般認為:

C語言學的好,那麼學習PHP會有事半功倍的效果
VC學的好,那麼學習ASP會有事半功倍的效果
JAVA學的好,那麼學習JSP、JAVASCRIPT會有事半功倍的效果

關於網頁後台語言和資料庫,通常來說:
PHP與MYSQL是黃金搭檔
ASP小型網站用ACCESS,大型用SQL
JSP我就不知道了

關於電子商務流行的語言,目前
當當、卓越、6688、igo5、雅寶使用的是asp語言
易趣、淘寶使用的是php語言
貝塔斯曼使用的是jsp語言

❼ 電腦編程應該主要學習那幾種語言。

方案一 Basic語言 & Visual Basic 優點 (1)Basic 簡單易學,很容易上手。 (2)Visual Basic 提供了強大的可視化編程能力,可以讓你輕松地做出漂亮的程序。 (3)眾多的控制項讓編程變得象壘積木一樣簡單。 (4)Visual Basic 的全部漢化讓我們這些見了English就頭大的人喜不自禁。 缺點 (1)Visual Basic 不是真正的面向對象的開發文具。 (2)Visual Basic 的數據類型太少,而且不支持指針,這使得它的表達能力很有限。 (3)Visual Basic 不是真正的編譯型語言,它產生的最終代碼不是可執行的,是一種偽代碼。它需要一個動態鏈接庫去解釋執行,這使得Visual Basic 的編譯速度大大變慢。 綜述:方案一適合初涉編程的朋友,它對學習者的要求不高,幾乎每個人都可以在一個比較短的時間里學會vB編程,並用VB 做出自己的作品。對於那些把編程當做游戲的朋友來說,VB 是您最佳的選擇。 方案二 Pascal語言 & Delphi 優點 (1)Pascal語言結構嚴謹,可以很好地培養一個人的編程思想。 (2)Delphi是一門真正的面向對象的開發工具,並且是完全的可視化。 (3)Delphi使用了真編譯,可以讓你的代碼編譯成為可執行的文件,而且編譯速度非常快。 (4)Delphi具有強大的資料庫開發能力,可以讓你輕松地開發資料庫。 缺點 Delphi幾乎可以說是完美的,只是Pascal語言的過於嚴謹讓人感覺有點煩。 綜述: 方案二比較適合那些具有一定編程基礎並且學過Pascal語言的朋友。 方案三 C語言 & Visual C++ 優點 (1)C語言靈活性好,效率高,可以接觸到軟體開發比較底層的東西。 (2)微軟的MFC庫博大精深,學會它可以讓隨心所欲地進行編程。 (3)VC是微軟製作的產品,與操作系統的結合更加緊密。 缺點 對使用者的要求比較高,既要具備豐富的C語言編程經驗,又要具有一定的WINDOWS編程基礎,它的過於專業使得一般的編程愛好者學習起來會有不小的困難。 綜述: VC是程序員用的東西。如果你是一個永不滿足的人,而且可以在編程上投入很大的精力和時間,那麼學習VC你一定不會後悔的。 方案四 C++語言 & C++ Builder 優點 (1)C++語言的優點全部得以繼承。 (2)完全的可是化。 (3)極強的兼容性,支持OWL、VCL和MFC三大類庫。 (4)編譯速度非常快。 缺點 由於推出的時間太短,關於它的各種資料還不太多。 綜述:我認為C++ Builder 是最好的編程工具。它既保持了C++語言編程的優點,又做到了完全的可視化。 方案五 SQL語言 & Power Builder 對於一些傳統的數據開發人員來說,Foxpro系列也許讓他們感到更加熟悉。但是對於初學者來說,PowerBuilder也許是最好的資料庫開發工具。各種各樣的控制項,功能強大的PowerBuilder語言都會幫助你開發出自己的資料庫應用程序。

❽ 編程語言學什麼好

建議可以從以下幾個方面著手:

1、建議學習 Python。Python 基礎語法內容較為簡單,可以比較快的了解編程的思維習慣,並能夠較快接觸到 Python GUI 庫(比如Tkinter),很容易借用這些庫開發出一些有趣的程序。同時 Python 的縮進格式也比較嚴格,這也很好的讓編程初學者養成一個良好的編寫代碼習慣。

在美國有很多編程初學 Python 的書籍,其受眾就是小學、初中的青少年,比如《Python for Kids》,這些書籍一個很大的特點就是圖文並貌,並且很快引入圖形庫的學習,教會小朋友製作出一些圖形和簡單的游戲,比如畫星星,彈球。這樣的好處是激發小朋友學習編程的樂趣,讓小朋友從小就感受到編程的魅力。

2、讀大一零基礎學編程
上學習編程的首要任務是學習電腦的基礎操作,熟悉鍵盤,讓自己對電腦有初步的了解認識。至於理工科專業的學生大一估計都會教《計算機科學導論》這樣類似的課程,如果想盡快編程,學生應盡快將該書內容看一遍,讓自己對計算機有一個整體的認識。

那麼大一學生若要系統的學習 C語言,建議使用 《C Primer Plus》,英語好的同學可以直接看英文版,注意該書不是《C++ Primer》,《C++ Primer》可以在 C語言學的有一定基礎的時候看。當學完《C Primer Plus》之後,可以對演算法的知識學習,有精力的話可以啃《演算法導論》。平時可以多上 github 上直接看源碼,這樣比單純看書進步的更快。

3、新手學習編程,看書時一定要不能只看不動手,一定要同時動腦、動手,要將書裡面的代碼都勤奮的敲。

❾ 請問一下 編譯原理 文法生成語言 如何表示(2的n次)

生成文法(generative grammar)是一種嘗試接近語法學(Syntax)的方式 。生成文法嘗試給出一套規則,其能正確的預測,在一個語言中,什麼樣的詞彙組合能成為正確的句子;而在討論生成文法的同時,這些規則通常也能預測句子中的構詞法。
中文名
生成文法
外文名
generative grammar
解釋
一種嘗試接近語法學的方式
緣起
源於語言學家喬姆斯基的研究工作
緣起沿革
生成文法源於50年代末語言學家喬姆斯基的研究工作(他的理論在較早的版本里叫做轉換文法(transformational grammar; TGG)。這個詞現在作為集合名詞,指此理論以及其後繼),而後來也有各種版本的生成語法理論與之爭鳴。喬姆斯基的理論稱作「最簡方案」(Minimalist Program; MP)。其他著名的理論包括主辭驅動句構造文法(Head-driven phrase structure grammar; HPSG),語匯機能文法(Lexical functional grammar; LFG),范疇文法(Categorial grammar; CG),關系文法(Relational grammar;RG),以及樹-鄰接文法(Tree-adjoining grammar; TAG)。
喬姆斯基認為,生成文法中的性質來

閱讀全文

與編譯語言學相關的資料

熱點內容
hadoop解壓縮 瀏覽:421
30歲程序員生計 瀏覽:472
蘋果iOS反編譯軟體 瀏覽:460
當一個體面的程序員是什麼體驗 瀏覽:291
聯想安裝哪個編譯器 瀏覽:446
蘋果手機如何創建app組 瀏覽:40
如何知道伺服器開通了什麼埠 瀏覽:34
動態ip地址由dhcp伺服器來分配 瀏覽:800
aes128加密c 瀏覽:396
成為插畫師pdf 瀏覽:325
奧特曼系列ol為什麼進不去伺服器 瀏覽:742
盛世伺服器怎麼開啟 瀏覽:87
編譯安卓源碼修改定位 瀏覽:200
加密上市是什麼意思 瀏覽:802
一年程序員面試 瀏覽:174
多個jpg合成pdf 瀏覽:929
pdf轉word是圖片 瀏覽:941
程序員看不懂怎麼辦 瀏覽:273
linux操作系統題 瀏覽:769
單片機無符號數加法 瀏覽:231