編碼與代碼的區(qū)別
聽(tīng)說(shuō)過(guò)“碼農(nóng)”嗎?他們是計(jì)算機(jī)編程從業(yè)者的稱呼,有人就有疑問(wèn),碼農(nóng)的主要工作是打代碼還是打編碼?下面學(xué)習(xí)啦小編告訴你編碼和代碼的區(qū)別。
一、編碼與代碼的區(qū)別
代碼是由英文+數(shù)字+特殊符號(hào)組成的,編碼就是用代碼來(lái)編寫源碼的過(guò)程!其實(shí)從字面意思應(yīng)該可以大概的了解的。
下面小編舉一個(gè)例子來(lái)講一下。代碼代表汽車零件,編碼代表生產(chǎn)汽車。這樣就能較好地理解了。
二、編碼的基本介紹
編碼是信息從一種形式或格式轉(zhuǎn)換為另一種形式的過(guò)程也稱為計(jì)算機(jī)編程語(yǔ)言的代碼簡(jiǎn)稱編碼。用預(yù)先規(guī)定的方法將文字、數(shù)字或其它對(duì)象編成數(shù)碼,或?qū)⑿畔?、?shù)據(jù)轉(zhuǎn)換成規(guī)定的電脈沖信號(hào)。編碼在電子計(jì)算機(jī)、電視、遙控和通訊等方面廣泛使用。編碼是信息從一種形式或格式轉(zhuǎn)換為另一種形式的過(guò)程。
在計(jì)算機(jī)硬件中,編碼(coding)是在一個(gè)主題或單元上為數(shù)據(jù)存儲(chǔ),管理和分析的目的而轉(zhuǎn)換信息為編碼值(典型地如數(shù)字)的過(guò)程。在軟件中,編碼意味著邏輯地使用一個(gè)特定的語(yǔ)言如C或C++來(lái)執(zhí)行一個(gè)程序。在密碼學(xué)中,編碼是指在編碼或密碼中寫的行為。將數(shù)據(jù)轉(zhuǎn)換為代碼或編碼字符,并能譯為原數(shù)據(jù)形式。是計(jì)算機(jī)書寫指令的過(guò)程,程序設(shè)計(jì)中的一部分。在地圖自動(dòng)制圖中,按一定規(guī)則用數(shù)字與字母表示地圖內(nèi)容的過(guò)程,通過(guò)編碼,使計(jì)算機(jī)能識(shí)別地圖的各地理要素。
三、代碼的基本介紹
代碼就是程序員用開(kāi)發(fā)工具所支持的語(yǔ)言寫出來(lái)的源文件,是一組由字符、符號(hào)或信號(hào)碼元以離散形式表示信息的明確的規(guī)則體系。代碼設(shè)計(jì)的原則包括唯一確定性、標(biāo)準(zhǔn)化和通用性、可擴(kuò)充性與穩(wěn)定性、便于識(shí)別與記憶、力求短小與格式統(tǒng)一以及容易修改等。 源代碼是代碼的分支,某種意義上來(lái)說(shuō),源代碼相當(dāng)于代碼。現(xiàn)代程序語(yǔ)言中,源代碼可以書籍或磁帶形式出現(xiàn),但最為常用格式是文本文件,這種典型格式的目的是為了編譯出計(jì)算機(jī)程序。
源代碼是相對(duì)目標(biāo)代碼和可執(zhí)行代碼而言的。 源代碼就是用匯編語(yǔ)言和高級(jí)語(yǔ)言寫出來(lái)的地代碼。目標(biāo)代碼是指源代碼經(jīng)過(guò)編譯程序產(chǎn)生的能被cpu直接識(shí)別二進(jìn)制代碼??蓤?zhí)行代碼就是將目標(biāo)代碼連接后形成的可執(zhí)行文件,當(dāng)然也是二進(jìn)制的。在現(xiàn)代程序語(yǔ)言中,源代碼可以是以書籍或者磁帶的形式出現(xiàn),但最為常用的格式是文本文件,這種典型格式的目的是為了編譯出計(jì)算機(jī)程序。計(jì)算機(jī)源代碼的最終目的是將人類可讀的文本翻譯成為計(jì)算機(jī)可以執(zhí)行的二進(jìn)制指令,這種過(guò)程叫做編譯,通過(guò)編譯器完成。
四、開(kāi)發(fā)源代碼
你也許可以在計(jì)算機(jī)從業(yè)者口中聽(tīng)到開(kāi)發(fā)源代碼這句話,但是你卻不知道到底是什么意思?下面小編告訴你什么叫開(kāi)放源代碼。
大部分人購(gòu)買或下載的大多數(shù)軟件只提供已編譯的可運(yùn)行版本。"已編譯"意味著開(kāi)發(fā)人員創(chuàng)建的實(shí)際程序代碼(稱為源代碼)已經(jīng)由一個(gè)稱為編譯器的特殊程序進(jìn)行過(guò)處理,該程序?qū)⒃创a轉(zhuǎn)換為計(jì)算機(jī)可以理解的格式(有關(guān)編譯器的詳細(xì)信息,請(qǐng)參見(jiàn)C語(yǔ)言入門教程)。修改大多數(shù)應(yīng)用程序的已編譯版本都是極其困難的,人們幾乎不可能知道開(kāi)發(fā)人員究竟是如何創(chuàng)建程序的各個(gè)部分的。大多數(shù)商業(yè)軟件制造商都將這一點(diǎn)視為有利條件,以防止其他公司復(fù)制自己的代碼并將其用在競(jìng)爭(zhēng)產(chǎn)品中,同時(shí)可以控制其特定產(chǎn)品具有的質(zhì)量和功能。
開(kāi)放源代碼軟件恰恰相反。源代碼隨已編譯的版本一起提供,而且事實(shí)上鼓勵(lì)人們修改或定制。支持開(kāi)放源代碼概念的軟件開(kāi)發(fā)人員相信,通過(guò)允許感興趣的人修改源代碼,應(yīng)用程序?qū)?huì)更加完善,并且在很長(zhǎng)時(shí)間內(nèi)不會(huì)出現(xiàn)錯(cuò)誤。
軟件開(kāi)發(fā)行業(yè)所定義的開(kāi)放源代碼軟件必須滿足一定的條件:
下面讓我們看一個(gè)開(kāi)放源代碼軟件的真實(shí)例子。1991年,芬蘭赫爾辛基大學(xué)的學(xué)生李納斯·托沃茲(Linus Torvalds)基于Unix的衍生版本Minix開(kāi)發(fā)了一個(gè)新的操作系統(tǒng),并稱之為L(zhǎng)inux。托沃茲使用GNU通用公共許可證(它為開(kāi)放源代碼軟件提供了很好的法律定義)發(fā)布了0.02版本的Linux。全球各地的人下載并開(kāi)始使用Linux。其中,許多用戶是獨(dú)立的程序員,他們對(duì)托沃茲提供的源代碼進(jìn)行了修改。在接下來(lái)的3年中,托沃茲從其他程序員那里收到了這些修改后的版本,并將許多改動(dòng)結(jié)合到基礎(chǔ)版本中,于1994年發(fā)布了Linux的1.0版。
那些想要使用開(kāi)放源代碼軟件的最終用戶的一個(gè)共同顧慮,是這些軟件缺乏質(zhì)量擔(dān)保和技術(shù)支持。因?yàn)樵撥浖脑S可證鼓勵(lì)修改和定制,所以幾乎無(wú)法提供支持。這正是1994年成立的Red Hat Software創(chuàng)建"Official Red Hat Linux"并銷售這一通常是"免費(fèi)"的軟件的原因。Red Hat向軟件包添加的主要價(jià)值是質(zhì)量擔(dān)保和技術(shù)支持。對(duì)于大多數(shù)企業(yè)而言,技術(shù)支持承諾成為促使其購(gòu)買Linux而不是免費(fèi)下載它的一個(gè)關(guān)鍵因素。除了Red Hat以外,還有其他幾家公司將Linux打包(通常帶有其他軟件)以進(jìn)行轉(zhuǎn)售。
除了Linux以外,Mozilla(Netscape瀏覽器核心)、Apache(Web服務(wù)器)、PERL(Web腳本語(yǔ)言)和 PNG(圖形文件格式)都是非常受歡迎的基于開(kāi)放源代碼的軟件。
五、CSS+DIV網(wǎng)站設(shè)計(jì)的問(wèn)題
盡管CSS+DIV具有一定的優(yōu)勢(shì),不過(guò)現(xiàn)階段CSS+DIV網(wǎng)站建設(shè)存在的問(wèn)題也比較明顯,主要表現(xiàn)在:
第一,對(duì)于CSS的高度依賴使得網(wǎng)頁(yè)設(shè)計(jì)變得比較復(fù)雜。相對(duì)于HTML4.0中的表格布局(table),CSS+DIV盡管不是高不可及,但至少要比表格定位復(fù)雜的多,即使對(duì)于網(wǎng)站設(shè)計(jì)高手也很容易出現(xiàn)問(wèn)題,更不要說(shuō)初學(xué)者了,這在一定程度上影響了XHTML網(wǎng)站設(shè)計(jì)語(yǔ)言的普及應(yīng)用。
第二,CSS文件異常將影響整個(gè)網(wǎng)站的正常瀏覽。CSS網(wǎng)站制作的設(shè)計(jì)元素通常放在幾個(gè)l外部文件中,這一個(gè)或幾個(gè)文件有可能相當(dāng)復(fù)雜,甚至比較龐大,如果CSS文件調(diào)用出現(xiàn)異常,那么整個(gè)網(wǎng)站將變得慘不忍睹。
第三,對(duì)于CSS網(wǎng)站設(shè)計(jì)的瀏覽器兼容性問(wèn)題比較突出。基于HTML4.0的網(wǎng)頁(yè)設(shè)計(jì)在IE4.0之后的版本中幾乎不存在瀏覽器兼容性問(wèn)題,但CSS+DIV設(shè)計(jì)的網(wǎng)站在IE瀏覽器里面正常顯示的頁(yè)面,到火狐瀏覽器(FireFox )中卻可能面目全非(這也是為什么建議網(wǎng)絡(luò)營(yíng)銷人員使用火狐瀏覽器的原因所在 )。CSS+DIV還有待于各個(gè)瀏覽器廠商的進(jìn)一步支持。
第四,CSS+DIV對(duì)搜索引擎優(yōu)化與否取決于網(wǎng)頁(yè)設(shè)計(jì)的專業(yè)水平而不是CSS+DIV本身。CSS+DIV網(wǎng)頁(yè)設(shè)計(jì)并不能保證網(wǎng)頁(yè)對(duì)搜索引擎的優(yōu)化,甚至不能保證一定比HTML網(wǎng)站有更簡(jiǎn)潔的代碼設(shè)計(jì),何況搜索引擎對(duì)于網(wǎng)頁(yè)的收錄和排序顯然不是以是否采用表格和CSS定位來(lái)衡量,這就是為什么很多傳統(tǒng)表格布局制作的網(wǎng)站在搜索結(jié)果中的排序靠前,而很多使用CSS及web標(biāo)準(zhǔn)制作的網(wǎng)頁(yè)排名依然靠后的原因。因?yàn)閷?duì)于搜索引擎而言,網(wǎng)站結(jié)構(gòu)、內(nèi)容、相關(guān)網(wǎng)站鏈接等因素始終是網(wǎng)站優(yōu)化最重要的指標(biāo)。