1. <nobr id="easjo"><address id="easjo"></address></nobr>

      <track id="easjo"><source id="easjo"></source></track>
      1. 
        

      2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
      3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>
          貴州做網站公司
          貴州做網站公司~專業!靠譜!
          10年網站模板開發經驗,熟悉國內外開源網站程序,包括DEDECMS,WordPress,ZBlog,Discuz! 等網站程序,可為您提供網站建設,網站克隆,仿站,網頁設計,網站制作,網站推廣優化等服務。我們專注高端營銷型網站,企業官網,集團官網,自適應網站,手機網站,網絡營銷,網站優化,網站服務器環境搭建以及托管運維等。為客戶提供一站式網站解決方案?。?!

          令程序員費解的10個語言特性

          來源:互聯網轉載 時間:2024-10-05 05:55:07
          每種語言都有自己的獨到之處,或奇特的語法,或不常見的函數,或非標準的執行方式。因此,不論新丁還是老手,看著某個特性會突然醉了。文中總結了10個經常被提及的“奇異”特性。
          1.Javascript:+是一個連接符
          問題描述:在JS中,+號用在數字間,可以用作常規加法;但如果遇上字符,又可作為字符連接符。例如:’1’+1的結果是11。
          成因分析:
          根本性原因是JS屬于弱類型語言。比方說Python,同樣地使用+號作為字符連接符,但由于它是強類型語言,一旦發現一個字符與一個整數進行相加,它會提示這是個錯誤操作。
          網友們的看法:
          “問題在于這是個無法預料的強制性靜默轉換,很容易就忽略了?!蹦涿?br/>“JS應該就該情況作異常拋出處理?!眂rgwbr
          “用+來進行字符連接簡直是個噩夢?!盡atteoRiva
          2.Perl:模塊必須返回TRUE值
          問題描述:絕大多數情況下,Perl模塊在結束時候,都必須以1;語句來結尾,否則,如果最后一條語句的返回值不是TRUE,系統就會報錯了。
          成因分析:
          Perl模塊中包含了初始代碼和子程序。當模塊文件被載入時,Perl會根據是否返回TRUE來判斷代碼是否成功執行。即使沒有初始代碼,Perl仍然期望最后的語句需返回TRUE,否則會報錯。
          網友們的看法:
          “這個通常讓我有不安的感覺?!盌rewHall
          “這是最無實用價值的用法了?!盨chwern
          3.C/C++:三字母詞用法
          問題描述:
          舉例來說,系統看到??!會把它自動轉為|,看到??(會轉為[。這很容會引起造成意想不到的結果,并且會大大降低代碼的可讀性。
          成因分析:
          早期進行編程時,鍵盤上還不能直接打出某些特殊字符,例如大括號。因此用了這種間接的方法。
          網友們的看法:
          “博學如谷歌,也一定看不懂什么是??!??!”Isaac
          “自1977年有了三字母詞,C就變得晦澀難懂了?!盡artinBeckett
          4.PHP:大小寫敏感處理
          問題描述:
          PHP對大小寫處理比較混亂,有些地方區分,有些地方不區分。例如:變量名,常量名區分;函數名,方法名,類名不區分。
          成因分析:
          很可能是PHP從CGI腳本集發展成成熟編程語言過程中出現的人工產品。
          網友們的看法:
          “這是為什么PHP程序員習慣用下劃線進行函數命名,而不是采取駝峰命名法的原因?!眕aperstreet7
          “在PHP中,一切皆有可能!”Grzechooo
          5.Ruby:0作為真值
          問題描述:
          在Ruby中,0值等同于TRUE值。這對有C,Python基礎的程序員來說不可不謂是一場噩夢。
          成因分析:
          只有布爾值FALSE和nil等價于FALSE,其余的都等同于TRUE。0與1,2,3等都會被相同對待。
          網友們的看法:
          “這簡直是讓人抓狂,雖然初衷是善意的?!盋hrisLutz
          “0==true!我這個C語言腦袋都快崩潰了!”Kenny
          6.Python:以空格數進行層次劃分
          問題描述:
          不同于采用關鍵字或標點符,PY中采用縮進層級來進行層次劃分,以明確每一行代碼的位置。不正確的空格數(或空格和換位符數不一致)都可能造成程序報錯。
          成因分析:
          PY作者的意圖是希望代碼更為可讀,減少不必要的輸入,并希望程序員本身應該承擔起維護代碼清晰度的責任。
          網友們的看法:
          “由衷地說,這是使我對PY敬而遠之的根本原因?!眞azoox
          “如果我們真的需要類似的強制機制,我們是不是真的太懶了!”JorisMeys
          7.C:數組索引工作模式等同于指針
          問題描述:
          在C中,a和i[a]是可以互換的,兩個寫法都能得出一樣的結果。
          成因分析:
          在C中,對內存塊而言,數組與指針是無差別的,就是說:
          a=*(a+i)=*(i+a)=i[a]。
          網友們的看法:
          “在C語言混亂代碼比賽中,這毫無價值可言?!盋onfusion
          “我想這正正揭露了C語言的核心,指針和更直接地與內存打交道?!盡ichaelNeale
          8.Perl’s:預定義變量
          問題描述:
          Perl有一份很長很長的特殊變量列表,里面的名字都是十分繁雜的(盡管有對應的長英文單詞)。因此,除非是Perl資深開發人員,否則反復翻閱Perl文檔是常有的事。
          成因分析:
          這些變量都有不同的含義,例如:進程ID($$),錯誤信息($@),正則表達式匹配($^R)。
          網友們的看法:
          “十分令人懊惱!”MatrixFrog
          “對精簡型開發者可能是福音?!眓iXar
          “這些變量的問題是:無法通過谷歌查找得到!”malvim
          9.JavaScript:自動分號插入
          問題描述:
          JS使用分號作為語句結束的標志,并且會自行插入,即使是代碼斷行的情況。因此會常常導致錯誤的出現。
          成因分析:
          自動化的本意是為了帶來便利,特別是對新手來說。
          網友們的看法:
          “如果我們設計語言的特性時,老把用戶看成是傻瓜,那是會出問題的?!盧obVanDam
          “自動分號插入是JS最讓人頭疼的地方之一?!眆ennec
          10.Java:自動裝箱(autoboxing)與Integer緩存
          問題描述:
          Java會自動把基礎類型數據轉為對象(自動裝箱),例如把int轉為一個Integer對象。同時默認地,緩存Integer對象的取值為-128到127。這樣的話,在使用==來比較兩個相同取值Integer對象時會出現問題(在-128和127之內是TRUE,其余的是FALSE)
          成因分析:
          自動裝箱機制減少了代碼輸入量,同時Integer緩存提升了處理速度。
          網友們的看法:
          “還好我只是一名C#程序員?!盬ill
          “這不算什么錯誤,反而給了我們一個使用原始類型(如:booleans)進行數字處理的理由?!盧aviWallau
          英文出自:ITworld企業網站建設常見問題

          網絡推廣與網站優化公司(網絡優化與推廣專家)作為數字營銷領域的核心服務提供方,其價值在于通過技術手段與策略規劃幫助企業提升線上曝光度、用戶轉化率及品牌影響力。這...

          在當今數字化時代,公司網站已成為企業展示形象、傳遞信息和開展業務的重要平臺。然而,對于許多公司來說,網站建設的價格是一個關鍵考量因素。本文將圍繞“公司網站建設價...

          在當今的數字化時代,企業網站已成為企業展示形象、吸引客戶和開展業務的重要平臺。然而,對于許多中小企業來說,高昂的網站建設費用可能會成為其發展的瓶頸。幸運的是,隨...

          穿越火線盒子是什么?是給穿越火線玩家的外掛(簡稱CF)。它提供了穿越火線擊殺圖標、穿越火線擊殺音效和穿越火線背景補丁的在線下載和安裝。它集下載、安裝、恢復、分享、升級插件于一體,對玩家來說非常方便快捷。FireWire魔盒官方團隊鄭重向您承諾,本插件絕不會包含惡意軟件和病毒木馬,軟件測試過程中所有軟件查殺危險提示均為誤報?;鹁€魔盒還能用嗎?可以用。Firebox是一款面向穿越火線(簡稱CF)玩家的...

          如何在windows下查看進程的子進程?如果你想得到windows下進程的詳細信息,你可以 不要僅僅依賴任務管理器。Doc為此提供了一些命令。當您開始運行時,您可以通過鍵入:來查看進程的路徑。這時應用程序可以做一些操作,比如計算程序的MD5值。然后,您可以根據tasklist命令查看他的詳細信息。如果你想殺死進程,那么使用ntsd-cq-pPID命令,它號稱無敵,只有系統,SMSS.EXE和CSR...

          魔獸世界,美服,歐服,選擇?歐服和美服基本沒有本質區別,都是暴雪最重視的領域,環境基本相同。然而,大多數美國服裝講英語。選擇換公會的時候,不需要考慮語言問題,但是歐服里有一些公會只使用小語種。接下來,你要考慮你的時差。這個要看你的位置了。估計你不想只在他們人最少的時候上線。以下問題要求您選擇特定的服務器。首先,你要考慮你是想去PVP還是PVE服務器。PVE服務器一直都是超過PVP的,無論是數量還是...

          国产初高中生视频在线观看|亚洲一区中文|久久亚洲欧美国产精品|黄色网站入口免费进人
          1. <nobr id="easjo"><address id="easjo"></address></nobr>

              <track id="easjo"><source id="easjo"></source></track>
              1. 
                

              2. <bdo id="easjo"><optgroup id="easjo"></optgroup></bdo>
              3. <track id="easjo"><source id="easjo"><em id="easjo"></em></source></track><option id="easjo"><span id="easjo"><em id="easjo"></em></span></option>