質問圖靈公司,《C程式設計伴侶》這是不是抄襲、剽竊?

來源:互聯網
上載者:User

近日,人民郵電出版社下屬圖靈公司出版了所謂“圖靈原創”《C程式設計伴侶》一書,作者 陳良喬,策劃編輯 陳冰

然而,閱讀該書樣張時發現,很多部分是從百度百科及CSDN網友qj6549的部落格“複製”“粘貼”來的

且作者不提出處,不提原創者名字。我在此公開質問圖靈公司:這是不是抄襲、剽竊?!

1.2.B 從組合語言到進階語言——風格各異的電腦語言
在理解了電腦語言的本質以及使用過程之後,我們有必要來瞭解一下電腦世界中的各種語言。就像現實世界中有很多種語言一樣,有廣為人知的英語,也有只有幾百人知道的土著語言;有寫起來方方正正的漢語,也有寫起來拐彎抹角的阿拉伯語。不同的語言各具特色,也都有各自不同的應用情境。這一現象在電腦世界中也是同樣的。雖然電腦語言可以泛指所有人與電腦交流的語言,包括譚老師介紹的機器語言、符號語言以及進階語言,但是實際上,機器語言和符號語言我們都很少用到,更多的,我們與電腦溝通是通過進階語言,也就是我們在這裡要介紹的進階程式設計語言。

在過去的幾十年間,大量的電腦程式設計語言被發明、被取代、被修改或組合在一起成為新的電腦語言。經過實踐的檢驗,現在還在業界普遍流行的電腦程式設計語言主要有以下幾種:

l 組合語言

組合語言(Assembly Language)是面向機器的程式設計語言。它是一種功能很強的程式設計語言,也是可以充分利用電腦所有硬體特性並能直接控制硬體的語言。相對於機器語言,在組合語言中,用助記符(Memoni)代替作業碼,用地址符號(Symbol)或標號(Label)代替地址碼。這樣用符號代替機器語言的二進位碼,就把機器語言變成了組合語言。於是組合語言亦稱為符號語言。使用組合語言編寫的程式,機器不能直接識別,要由一種程式將組合語言翻譯成機器語言,這種起翻譯作用的程式叫組譯工具(也被稱作彙編器),組譯工具是系統軟體中的語言處理系統軟體。組譯工具把組合語言翻譯成機器語言的過程稱為彙編,也就對應於進階程式設計語言的編譯,而組譯工具也就對應於進階語言的編譯器。

現在主流的彙編器如MASM、TASM等等為我們寫組譯工具提供了很多類似於進階語言的特徵,比如結構化、抽象等。在這樣的環境中編寫的組譯工具,有很大一部分是面向彙編器的偽指令,已經類同於進階語言。現在的彙編環境已經如此進階,即使全部用組合語言來編寫Windows的應用程式也不是一件難事,但這並不是組合語言的長處。組合語言的長處在於編寫高效且需要對機器硬體精確控制的程式。大多數情況下,C語言程式員不需要使用組合語言,因為即便是硬體驅動這樣的底層程式在作業系統中也可以完全用C語言來實現,再加上GCC這樣一些優秀的編譯器目前已經能夠對最終產生的程式碼進行很好的最佳化,的確有足夠的理由讓我們可以暫時將組合語言拋在一邊,放進曆史博物館了。但實際情況是,C語言程式員有時還是需要使用彙編,或者不得不使用彙編,理由很簡單:組合語言精簡、高效,同時與庫無關。特別是當今越來越流行的嵌入式硬體環境下的開發,首先必然面臨如何減少系統大小、提高執行效率等問題,而這正是組合語言的用武之地。在這一領域,目前正是組合語言的春天。

l C語言

C語言是我們這本書的主角,在程式設計當中,自然少不了它的戲份。作為一種電腦程式設計語言,它既具有進階語言的面向過程的特點,又具有組合語言的面向底層的特點。它可以作為作業系統設計語言,編寫系統應用程式,也可以作為應用程式設計語言,編寫不依賴電腦硬體的應用程式。因此,它的應用範圍非常廣泛,不僅僅是在軟體開發上,而且各類科研都需要用到C語言,具體應用程式套件括單片機以及嵌入式系統開發等。關於C語言,我們稍後還有詳細介紹。不要走開,馬上就來。

l C++語言

說到C語言,就不得不提到C++語言。單單從它們的名字上,就可以看出它們之間的親戚關係。C++語言是一種優秀的物件導向程式設計語言,它是在C語言的基礎上增加了一些現代程式設計語言的機制(例如物件導向思想、異常處理等)發展而來的,但它比C語言更容易為人們所學習和掌握。C++以其獨特的語言機制在電腦科學的各個領域中得到了廣泛的應用。相對於C語言的面向過程的設計方法,C++的物件導向的設計思想讓它有了一個質的飛躍,使得C++更加適合於對效能要求較高的、大型的複雜系統的開發。

l Java語言

Java語言誕生於1991年,起初被稱為OAK語言,Java平台是SUN公司為一些消費性電子產品而設計的一個通用環境。他們最初的目的只是為了開發一種獨立於平台的軟體技術,而且在網路出現之前,OAK可以說是默默無聞的,甚至差點夭折。但是,網路的出現改變了OAK的命運。從此,Java與網路結下了不解之緣。

要全面地介紹Java,我們需要用到很多定語,它是一種簡單的、跨平台的、物件導向的、分布式的、解釋執行的、健壯安全的、結構中立的、可移植的、效能優異的、多線程的、動態進階程式設計語言。

在眾多的電腦程式設計語言中,Java確實是一顆耀眼的明星。當1995年SUN推出Java語言之後,全世界的目光都被這個神奇的語言所吸引。如果你希望進行網路相關的開發,Java語言確實是一個不錯的選擇。

      《C程式設計伴侶》 P4~P5 http://chenlq.net/books/c-mate/what-is-the-c-programming-partner-probation-1-2-computer-language.html

 

 

組合語言是面向機器的程式設計語言。在彙編語合中,用助記符(Memoni)代替作業碼,用地址符號(Symbol)或標號(Label)代替地址碼。這樣用符號代替機器語言的二進位碼,就把機器語言變成了組合語言。於是組合語言亦稱為符號語言。使用組合語言編寫的程式,機器不能直接識別,要由一種程式將組合語言翻譯成機器語言,這種起翻譯作用的程式叫組譯工具,組譯工具是系統軟體中語言處理系統軟體。組譯工具把組合語言翻譯成機器語言的過程稱為彙編。中國著名電腦科學教育家王爽寫過一本名叫《組合語言》的書。

      百度百科——組合語言 http://baike.baidu.com/view/49.htm

組合語言是一種功能很強的程式設計語言,也是利用電腦所有硬體特性並能直接控制硬體的語言。組合語言,作為一門語言,對應於進階語言的編譯器,需要一個“彙編器”來把組合語言原檔案彙編成機器可執行檔代碼。進階的彙編器如MASM,TASM等等為我們寫組譯工具提供了很多類似於進階語言的特徵,比如結構化、抽象等。在這樣的環境中編寫的組譯工具,有很大一部分是面向彙編器的偽指令,已經類同於進階語言。現在的彙編環境已經如此進階,即使全部用組合語言來編寫Windows的應用程式也是可行的,但這不是組合語言的長處。組合語言的長處在於編寫高效且需要對機器硬體精確控制的程式。

     百度百科——組合語言 http://baike.baidu.com/view/49.htm

C語言是一種電腦程式設計語言。它既有進階語言的特點,又具有組合語言的特點。它可以作為系統設計語言,編寫工作系統應用程式,也可以作為應用程式設計語言,編寫不依賴電腦硬體的應用程式。因此,它的應用範圍廣泛。

    【原】《關於各類編程論述--C語言》 作者 qj6549 http://blog.csdn.net/qj6549/article/details/2901704

 C++語言是一種優秀的物件導向程式設計語言,它在C語言的基礎上發展而來,但它比C語言更容易為人們學習和掌握。C++以其獨特的語言機制在電腦科學的各個領域中得到了廣泛的應用。物件導向的設計思想是在原來結構化程式設計方法基礎上的一個質的飛躍,C++完美地體現了物件導向的各種特性。

    【原】《關於各類編程論述--C++語言》 作者 qj6549 http://blog.csdn.net/qj6549/article/details/2901722

Java是一種簡單的,跨平台的,物件導向的,分布式的,解釋的,健壯的安全的,結構的中立的,可移植的,效能很優異的多線程的,動態語言。

當1995年SUN推出Java語言之後,全世界的目光都被這個神奇的語言所吸引。那麼Java到底有何神奇之處呢?

Java語言其實最早是誕生於1991年,起初被稱為OAK語言,是SUN公司為一些消費性電子產品而設計的一個通用環境。他們最初的目的只是為了開發一種獨立於平台的軟體技術,而且在網路出現之前,OAK可以說是默默無聞,甚至差點夭折。但是,網路的出現改變了OAK的命運。

    【原】《關於各類編程論述--Java語言》 作者 qj6549 http://blog.csdn.net/qj6549/article/details/2901808

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.