欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

計算機編程語言發(fā)展史

 更新時間:2022年01月26日 15:51:14   作者:碼農(nóng)洞見  
這篇文章主要介紹了Java計算機編程語言發(fā)展史,編程語言?可以簡單的理解為一種計算機和人都能識別的語言。一種計算機語言讓程序員能夠準(zhǔn)確地定義計算機所需要使用的數(shù)據(jù),并精確地定義在不同情況下所應(yīng)當(dāng)采取的行動,下面詳細(xì)內(nèi)容,需要的小伙伴可以參考一下

1 編程語言簡介

編程語言(programming language)可以簡單的理解為一種計算機和人都能識別的語言。一種計算機語言讓程序員能夠準(zhǔn)確地定義計算機所需要使用的數(shù)據(jù),并精確地定義在不同情況下所應(yīng)當(dāng)采取的行動。一方面,人們要使用計算機語言指揮計算機完成某種特作,就必須對這種工作進(jìn)行特殊描述,所以它能夠被人們讀懂。另一方面,計算機必須按計算機語言描述來行動,從而完成其描述的特定工作,所以能夠被計算機“讀懂”。

2 編程語言發(fā)展

計算機編程語言能夠?qū)崿F(xiàn)人與機器之間的交流和溝通,而計算機編程語言主要包括低級語言、高級語言以及面向?qū)ο笤O(shè)計語言,具體內(nèi)容如下:

2.1 機器語言

機器語言是用二進(jìn)制代碼表示的計算機能直接識別和執(zhí)行的一種機器指令的集合。它是計算機的設(shè)計者通過計算機的硬件結(jié)構(gòu)賦予計算機的操作功能。二進(jìn)制用兩個不同的符號0(代表零)和1(代表一)來表示 ?,F(xiàn)代的計算機和依賴計算機的設(shè)備里都使用二進(jìn)制。早期的程序設(shè)計均使用機器語言,程序員用0、1數(shù)字編程的程序代碼打在紙帶或卡片上,1打孔、0不打孔,再將程序通過紙帶機或卡片機輸入計算機從而進(jìn)行運算。機器語言,也就是第一代編程語言。

2.2 匯編語言

不難看出機器語言作為一種編程語言, 靈活性較差可閱讀性也很差,為了減輕機器語言帶給軟件工程師的不適應(yīng),人們對機器語言進(jìn)行了升級和改進(jìn):用一些容易理解和記憶的字母,單詞來代替一個特定的指令。通過這種方法,人們很容易去閱讀 已經(jīng)完成的程序或者理解程序正在執(zhí)行的功能,對現(xiàn)有程序的bug修復(fù)以及運營維護(hù)都變得更加簡單方便,這種語言就是我們所說的匯編語言, 即第二代計算機語言。

2.3 高級語言

在編程語言經(jīng)歷了機器語言,匯編語言等更新之后,人們發(fā)現(xiàn)了限制程序推廣的關(guān)鍵因素——程序的可移植性。需要設(shè)計一個能夠不依賴于計算機硬件,能夠在不同機器上運行的程序。這樣可以免去很多編程的重復(fù)過程,提高效率,同時這種語言又要接近于數(shù)學(xué)語言或人的自然語言。同時,因為資源的稀缺,計算機的運行效率也成為了那個年代工程師追尋的目標(biāo)。為了更高效的使用計算機,人們設(shè)計出了高級編程語言,來滿足人們對于高效簡的編程語言的追求。用高級編程語言編寫的程序需要經(jīng)過翻譯,翻譯成機器所能識別的二進(jìn)制數(shù)才能由計算機去執(zhí)行。

2.4 面向?qū)ο笳Z言

隨著計算機硬件的飛速發(fā)展,以及應(yīng)用復(fù)雜度越來越高,軟件規(guī)模越來越大,原有的程序開發(fā)方式已經(jīng)越 來越不能滿足需求。傳統(tǒng)的面向過程(包括 結(jié)構(gòu)化程序設(shè)計)方法已經(jīng)越來越不能適應(yīng)快速多變的業(yè)務(wù)需求了,軟件領(lǐng)域迫切希望找到新的銀彈來解 決軟件危機,在這種背景下,面向?qū)ο蟮乃枷腴_始流行起來。

面向?qū)ο笳Z言(Object-Oriented Language)是一類以對象作為基本程序結(jié)構(gòu)單位的程序設(shè)計語言,指用于描述的設(shè)計是以對象為核心,而對象是程序運行時刻的基本成分。語言中提供了類、繼承等成分,有識認(rèn)性、多態(tài)性、類別性和繼承性四個主要特點。

3 碼農(nóng)洞見

3.1 編程語言Bug的由來

Bug一詞的原意是“臭蟲”或“蟲子”。但是現(xiàn)在,在電腦系統(tǒng)或程序中,如果隱藏著的一些未被發(fā)現(xiàn)的缺陷或問題,人們也叫它“bug”,這是怎么回事呢?

1945年,計算機還是由機械式繼電器和真空管驅(qū)動的,機器有房間那么大。體現(xiàn)當(dāng)時技術(shù)水平的MarkⅡ,是由哈佛大學(xué)制造的一個龐然大物。當(dāng)技術(shù)人員正在進(jìn)行不整機運行時,它突然停止了工作。他們爬上去找原因,發(fā)現(xiàn)這臺巨大的計算機內(nèi)部一組繼電器的觸點之間有一只飛蛾,這顯然是由于飛蛾受光和熱的吸引,飛到了觸點上,然后被高電壓擊死。

原來,第一代的計算機是由許多龐大且昂貴的真空管組成,并利用大量的電力來使真空管發(fā)光??赡苷怯捎谟嬎銠C運行產(chǎn)生的光和熱,引得一只小蟲子(Bug)鉆進(jìn)了一支真空管內(nèi),導(dǎo)致整個計算機無法正常工作。研究人員費了半天時間,總算發(fā)現(xiàn)原因所在,把這只小蟲子從真空管中取出后,計算機又恢復(fù)正常。后來,Bug這個名詞就沿用下來,用來表示電腦系統(tǒng)或程序中隱藏的錯誤、缺陷、漏洞等問題。

到此這篇關(guān)于Java計算機編程語言發(fā)展史的文章就介紹到這了,更多相關(guān)計算機編程語言發(fā)展史內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • java 排序算法之歸并排序

    java 排序算法之歸并排序

    本文主要講解了排序算法中的歸并排序,文中運用大量的圖片和代碼講解的非常詳細(xì),感興趣的朋友可以學(xué)習(xí)一下這篇文章,相信可以幫助到你
    2021-09-09
  • java使用httpclient 發(fā)送請求的示例

    java使用httpclient 發(fā)送請求的示例

    HttpClient 是Apache Jakarta Common 下的子項目,可以用來提供高效的、最新的、功能豐富的支持 HTTP 協(xié)議的客戶端編程工具包,并且它支持 HTTP 協(xié)議最新的版本和建議,這篇文章主要介紹了java使用httpclient 發(fā)送請求的示例,需要的朋友可以參考下
    2023-10-10
  • Java實現(xiàn)限定時間CountDownLatch并行場景

    Java實現(xiàn)限定時間CountDownLatch并行場景

    本文將結(jié)合實例代碼,介紹Java實現(xiàn)限定時間CountDownLatch并行場景,文中通過示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • Java中使用ForkJoinPool的實現(xiàn)示例

    Java中使用ForkJoinPool的實現(xiàn)示例

    ForkJoinPool是一個功能強大的Java類,用于處理計算密集型任務(wù),本文主要介紹了Java中使用ForkJoinPool的實現(xiàn)示例,具有一定的參考價值,感興趣的可以了解一下
    2023-09-09
  • MyBatis一級緩存與二級緩存原理與作用分析

    MyBatis一級緩存與二級緩存原理與作用分析

    mybatis-plus是一個Mybatis的增強工具,在Mybatis的基礎(chǔ)上只做增強不做改變,為簡化開發(fā)、提高效率而生,這篇文章帶你了解Mybatis的一級和二級緩存
    2022-12-12
  • Kafka?Producer中的消息緩存模型圖解詳解

    Kafka?Producer中的消息緩存模型圖解詳解

    Kafka中消息是以Topic進(jìn)行分類的,生產(chǎn)者生產(chǎn)消息,消費者消費消息,都是面向Topic的,下面這篇文章主要給大家介紹了關(guān)于Kafka?Producer中消息緩存模型的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • Java while(scanner.hasNext())無法跳出的解決方案

    Java while(scanner.hasNext())無法跳出的解決方案

    這篇文章主要介紹了Java while(scanner.hasNext())無法跳出的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java同步代碼塊和同步方法原理與應(yīng)用案例詳解

    Java同步代碼塊和同步方法原理與應(yīng)用案例詳解

    這篇文章主要介紹了Java同步代碼塊和同步方法原理與應(yīng)用,結(jié)合具體案例形式分析了使用java同步代碼塊和同步方法實現(xiàn)買票功能的相關(guān)原理與操作技巧,需要的朋友可以參考下
    2019-10-10
  • spring基礎(chǔ)系列之JavaConfig配置詳解

    spring基礎(chǔ)系列之JavaConfig配置詳解

    本篇文章主要介紹了spring基礎(chǔ)系列之JavaConfig配置詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • 詳解Java變量與常量

    詳解Java變量與常量

    這篇文章主要介紹了Java變量與常量,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04

最新評論