最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

讓程序員都費(fèi)解的10大編程語(yǔ)言特性

 更新時(shí)間:2014年09月23日 08:47:27   投稿:junjie  
這篇文章主要介紹了讓程序員都費(fèi)解的10大編程語(yǔ)言特性,本文羅列了如javascript、Ruby、Java等語(yǔ)言中讓人費(fèi)解的10個(gè)語(yǔ)言特性,需要的朋友可以參考下

每種語(yǔ)言都有自己的獨(dú)到之處,或奇特的語(yǔ)法,或不常見(jiàn)的函數(shù),或非標(biāo)準(zhǔn)的執(zhí)行方式。因此,不論新丁還是老手,看著某個(gè)特性會(huì)突然醉了。文中總結(jié)了10個(gè)經(jīng)常被提及的“奇異”特性。

1. Javascript: + 是一個(gè)連接符

問(wèn)題描述:

在JS中,+ 號(hào)用在數(shù)字間,可以用作常規(guī)加法;但如果遇上字符,又可作為字符連接符。例如:'1'+ 1的結(jié)果是11。

成因分析:

根本性原因是JS屬于弱類型語(yǔ)言。比方說(shuō)Python,同樣地使用+ 號(hào)作為字符連接符,但由于它是強(qiáng)類型語(yǔ)言,一旦發(fā)現(xiàn)一個(gè)字符與一個(gè)整數(shù)進(jìn)行相加,它會(huì)提示這是個(gè)錯(cuò)誤操作。

網(wǎng)友們的看法:

“問(wèn)題在于這是個(gè)無(wú)法預(yù)料的強(qiáng)制性靜默轉(zhuǎn)換,很容易就忽略了?!蹦涿?/p>

“JS應(yīng)該就該情況作異常拋出處理?!?crgwbr

“用+來(lái)進(jìn)行字符連接簡(jiǎn)直是個(gè)噩夢(mèng)。” Matteo Riva

2. Perl:模塊必須返回TRUE值

問(wèn)題描述:

絕大多數(shù)情況下,Perl模塊在結(jié)束時(shí)候,都必須以1;語(yǔ)句來(lái)結(jié)尾,否則,如果最后一條語(yǔ)句的返回值不是TRUE,系統(tǒng)就會(huì)報(bào)錯(cuò)了。

成因分析:

Perl模塊中包含了初始代碼和子程序。當(dāng)模塊文件被載入時(shí),Perl會(huì)根據(jù)是否返回TRUE來(lái)判斷代碼是否成功執(zhí)行。即使沒(méi)有初始代碼,Perl仍然期望最后的語(yǔ)句需返回TRUE,否則會(huì)報(bào)錯(cuò)。

網(wǎng)友們的看法:

“這個(gè)通常讓我有不安的感覺(jué)。” Drew Hall

“這是最無(wú)實(shí)用價(jià)值的用法了。”Schwern

3. C/C++:三字母詞用法

問(wèn)題描述:

舉例來(lái)說(shuō),系統(tǒng)看到??!會(huì)把它自動(dòng)轉(zhuǎn)為|,看到??(會(huì)轉(zhuǎn)為[。這很容會(huì)引起造成意想不到的結(jié)果,并且會(huì)大大降低代碼的可讀性。

成因分析:

早期進(jìn)行編程時(shí),鍵盤上還不能直接打出某些特殊字符,例如大括號(hào)。因此用了這種間接的方法。

網(wǎng)友們的看法:

“博學(xué)如谷歌,也一定看不懂什么是??!??!” Isaac

“自1977年有了三字母詞,C就變得晦澀難懂了?!盡artin Beckett

4. PHP:大小寫(xiě)敏感處理

問(wèn)題描述:

PHP對(duì)大小寫(xiě)處理比較混亂,有些地方區(qū)分,有些地方不區(qū)分。例如:變量名,常量名區(qū)分;函數(shù)名,方法名,類名不區(qū)分。

成因分析:

很可能是PHP從CGI腳本集發(fā)展成成熟編程語(yǔ)言過(guò)程中出現(xiàn)的人工產(chǎn)品。

網(wǎng)友們的看法:

“這是為什么PHP程序員習(xí)慣用下劃線進(jìn)行函數(shù)命名,而不是采取駝峰命名法的原因?!眕aperstreet7

“在PHP中,一切皆有可能!”Grzechooo

5. Ruby:0作為真值

問(wèn)題描述:

在Ruby中,0值等同于TRUE值。這對(duì)有C,Python基礎(chǔ)的程序員來(lái)說(shuō)不可不謂是一場(chǎng)噩夢(mèng)。

成因分析:

只有布爾值FALSE和nil等價(jià)于FALSE,其余的都等同于TRUE。0與1,2,3等都會(huì)被相同對(duì)待。

網(wǎng)友們的看法:

“這簡(jiǎn)直是讓人抓狂,雖然初衷是善意的?!盋hris Lutz

“0==true!我這個(gè)C語(yǔ)言腦袋都快崩潰了!”Kenny

6. Python:以空格數(shù)進(jìn)行層次劃分

問(wèn)題描述:

不同于采用關(guān)鍵字或標(biāo)點(diǎn)符,PY中采用縮進(jìn)層級(jí)來(lái)進(jìn)行層次劃分,以明確每一行代碼的位置。不正確的空格數(shù)(或空格和換位符數(shù)不一致)都可能造成程序報(bào)錯(cuò)。

成因分析:

PY作者的意圖是希望代碼更為可讀,減少不必要的輸入,并希望程序員本身應(yīng)該承擔(dān)起維護(hù)代碼清晰度的責(zé)任。

網(wǎng)友們的看法:

“由衷地說(shuō),這是使我對(duì)PY敬而遠(yuǎn)之的根本原因?!眞azoox

“如果我們真的需要類似的強(qiáng)制機(jī)制,我們是不是真的太懶了!”Joris Meys

7. C:數(shù)組索引工作模式等同于指針

問(wèn)題描述:

在C中,a[i]和i[a]是可以互換的,兩個(gè)寫(xiě)法都能得出一樣的結(jié)果。

成因分析:

在C中,對(duì)內(nèi)存塊而言,數(shù)組與指針是無(wú)差別的,就是說(shuō):

a[i] = *(a + i) = *(i + a) =i[a]。

網(wǎng)友們的看法:

“在C語(yǔ)言混亂代碼比賽中,這毫無(wú)價(jià)值可言?!盋onfusion

“我想這正正揭露了C語(yǔ)言的核心,指針和更直接地與內(nèi)存打交道?!盡ichael Neale

8. Perl's:預(yù)定義變量

問(wèn)題描述:

Perl有一份很長(zhǎng)很長(zhǎng)的特殊變量列表,里面的名字都是十分繁雜的(盡管有對(duì)應(yīng)的長(zhǎng)英文單詞)。因此,除非是Perl資深開(kāi)發(fā)人員,否則反復(fù)翻閱Perl文檔是常有的事。

成因分析:

這些變量都有不同的含義,例如:進(jìn)程ID($$),錯(cuò)誤信息($@),正則表達(dá)式匹配($^R)。

網(wǎng)友們的看法:

“十分令人懊惱!”MatrixFrog

“對(duì)精簡(jiǎn)型開(kāi)發(fā)者可能是福音?!眓iXar

“這些變量的問(wèn)題是:無(wú)法通過(guò)谷歌查找得到!” malvim

9. JavaScript:自動(dòng)分號(hào)插入

問(wèn)題描述:

JS使用分號(hào)作為語(yǔ)句結(jié)束的標(biāo)志,并且會(huì)自行插入,即使是代碼斷行的情況。因此會(huì)常常導(dǎo)致錯(cuò)誤的出現(xiàn)。

成因分析:

自動(dòng)化的本意是為了帶來(lái)便利,特別是對(duì)新手來(lái)說(shuō)。

網(wǎng)友們的看法:

“如果我們?cè)O(shè)計(jì)語(yǔ)言的特性時(shí),老把用戶看成是傻瓜,那是會(huì)出問(wèn)題的。”Rob Van Dam

“自動(dòng)分號(hào)插入是JS最讓人頭疼的地方之一。” fennec

10. Java:自動(dòng)裝箱(autoboxing)與Integer緩存

問(wèn)題描述:

Java會(huì)自動(dòng)把基礎(chǔ)類型數(shù)據(jù)轉(zhuǎn)為對(duì)象(自動(dòng)裝箱),例如把int轉(zhuǎn)為一個(gè)Integer對(duì)象。同時(shí)默認(rèn)地,緩存Integer對(duì)象的取值為-128到127。這樣的話,在使用==來(lái)比較兩個(gè)相同取值Integer對(duì)象時(shí)會(huì)出現(xiàn)問(wèn)題(在-128和127之內(nèi)是TRUE,其余的是FALSE)

成因分析:

自動(dòng)裝箱機(jī)制減少了代碼輸入量,同時(shí)Integer緩存提升了處理速度。

網(wǎng)友們的看法:

“還好我只是一名C#程序員?!?Will

“這不算什么錯(cuò)誤,反而給了我們一個(gè)使用原始類型(如:booleans)進(jìn)行數(shù)字處理的理由?!盧aviWallau

相關(guān)文章

  • 獻(xiàn)給寫(xiě)作者的 Markdown 新手指南

    獻(xiàn)給寫(xiě)作者的 Markdown 新手指南

    Markdown 是一種「電子郵件」風(fēng)格的「標(biāo)記語(yǔ)言」,我們強(qiáng)烈推薦所有寫(xiě)作者學(xué)習(xí)和掌握該語(yǔ)言。為什么
    2016-08-08
  • 全網(wǎng)最全Git命令手冊(cè)

    全網(wǎng)最全Git命令手冊(cè)

    Git是一個(gè)很強(qiáng)大的分布式版本控制系統(tǒng)。它不但適用于管理大型開(kāi)源軟件的源代碼,管理私人的文檔和源代碼也有很多優(yōu)勢(shì)。 本文主要介紹了全網(wǎng)最全Git命令手冊(cè),感興趣的可以了解一下
    2021-12-12
  • 使用DeepSeek搭建個(gè)人知識(shí)庫(kù)(在筆記本電腦上)

    使用DeepSeek搭建個(gè)人知識(shí)庫(kù)(在筆記本電腦上)

    本文介紹了如何在筆記本電腦上使用DeepSeek和開(kāi)源工具搭建個(gè)人知識(shí)庫(kù),通過(guò)安裝DeepSeek和RAGFlow,并使用CherryStudio進(jìn)行交互,可以實(shí)現(xiàn)本地文檔的解析和知識(shí)問(wèn)答,雖然個(gè)人配置可以運(yùn)行,但在企業(yè)商用時(shí),需要考慮配置升級(jí)和數(shù)據(jù)集質(zhì)量的問(wèn)題,感興趣的朋友一起看看吧
    2025-03-03
  • Windows安裝與配置Ollama的圖文教程

    Windows安裝與配置Ollama的圖文教程

    本文主要介紹了Windows安裝與配置Ollama的圖文教程,文中通過(guò)圖文示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-03-03
  • 最新WebStorm2020.2注冊(cè)碼永久激活(激活到2089年)

    最新WebStorm2020.2注冊(cè)碼永久激活(激活到2089年)

    JetBrains旗下有多款編譯器工具(如:IntelliJ、WebStorm、PyCharm等)在各編程領(lǐng)域幾乎都占據(jù)了壟斷地位。今天給大家?guī)?lái)的是將WebStorm最新版激活至2089年
    2020-09-09
  • 分享4個(gè)最受歡迎的大數(shù)據(jù)可視化工具

    分享4個(gè)最受歡迎的大數(shù)據(jù)可視化工具

    大數(shù)據(jù)可視化是進(jìn)行各種大數(shù)據(jù)分析解決的最重要組成部分之一。這篇文章主要介紹了4個(gè)最受歡迎的大數(shù)據(jù)可視化工具,需要的朋友可以參考下
    2019-06-06
  • 互聯(lián)網(wǎng)科技大佬推薦的12本必讀書(shū)籍

    互聯(lián)網(wǎng)科技大佬推薦的12本必讀書(shū)籍

    12本互聯(lián)網(wǎng)科技大佬推薦的必讀書(shū)籍,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 256種編程語(yǔ)言大匯總

    256種編程語(yǔ)言大匯總

    這篇文章主要介紹了256種編程語(yǔ)言大匯總,想學(xué)編程語(yǔ)言的同學(xué)可以看一下,需要的朋友可以參考下
    2014-09-09
  • 人人都能看懂的 6 種限流實(shí)現(xiàn)方案(純干貨)

    人人都能看懂的 6 種限流實(shí)現(xiàn)方案(純干貨)

    這篇文章主要介紹了人人都能看懂的 6 種限流實(shí)現(xiàn)方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • 百度HI QQ和MSN 阿里旺旺貿(mào)易通MSN在線客服在線聊天代碼

    百度HI QQ和MSN 阿里旺旺貿(mào)易通MSN在線客服在線聊天代碼

    有時(shí)候業(yè)務(wù)需要,需要讓客戶更方便的與我們溝通,就可以參考下面的代碼。
    2010-04-04

最新評(píng)論

黔东| 巴林右旗| 保山市| 安远县| 上饶市| 独山县| 临桂县| 余庆县| 阿拉善右旗| 额济纳旗| 太仓市| 高清| 巩留县| 安岳县| 腾冲县| 姜堰市| 民丰县| 贵州省| 海丰县| 衡阳市| 内丘县| 社旗县| 峨山| 云梦县| 交口县| 开平市| 南宫市| 孟州市| 墨玉县| 石狮市| 青川县| 商都县| 镇平县| 宜宾市| 家居| 闽侯县| 屏山县| 铜川市| 寻乌县| 百色市| 达州市|