作者: admin

  • Citrix 1YO-308、1Y0-456 Exam題庫下載

    Citrix Systems, Inc.在全球應用伺服器及入口網站服務業務居領導地位,透過提供個人化存取方案,讓客戶在任何裝置均能以任何連線方式,存取Windows 、 UNIX或網際網路為基礎的各應用程式及資訊資源。 已獲全球企業所廣泛採用的Citrix 技術,將應用程式、內容及商務流程整合於壹個普及的數位環境(虛擬辦公室),以提供天衣無縫的連接,及橫跨Internet 、 Intranet 及無線網路的穩定執行應用效能。已獲全球企業所廣泛采用的Citrix技術,將應用程式、內容及商務流程整合於壹個普及的數位環境(虛擬辦公室),以提供天衣無縫的連接,及橫跨Internet 、 Intranet及無線網路的穩定執行應用效能。

    Citrix 方案有助提升客戶現有的資訊科技資源及擴展其為員工、業務夥伴、客戶及供應商而設的個人化資訊存取服務,在提升成本效益及生產力之同時,並加強電子商務的發展機會。Citrix方案有助提升客戶現有的資訊科技資源及擴展其為員工、業務夥伴、客戶及供應商而設的個人化資訊存取服務,在提升成本效益及生產力之同時,並加強電子商務的發展機會。

    題庫下載:Citrix 1YO-308 Exam

    Citrix認證顯示出最高水準的產品知識和能力,可獲得的認證包括:1.Citrix Certified Administrator (CCA): Citrix 認證管理員(CCA)計劃代表了成為在Citrix平臺產品上的產品專家;2.Citrix Certified Enterprise Administrator (CCEA):CCEA計劃是建立在Citrix認證管理員(CCA)計劃基礎上的技術認證。CCEA計劃能夠擴大妳的Citrix知識,為妳在安裝和管理Citrix MetaFrame產品方面提供了更廣泛的經驗; 3.Citrix Certified Instructor (CCI):Citrix 認證培訓講師(Citrix Certified Instructor)計劃是作為IT業重要標準的專業技術人員認證計劃。這項認證將增加對培訓講師的信任和認同,保證高水平的Citrix產品指導;4.Citrix Certified Integration Architect (CCIA):Citrix認證集成建設師(Certified Integration Architect)計劃關註於在Citrix技術設計、實現和集成過程中Citrix推薦的最佳實踐;5.Citrix Certified Sales Professional (CCSP):The Citrix 認證銷售專員(Certified Sales Professional ,CCSP)計劃是針對那些希望擴展客戶來源來促進銷售收入的個人而設計的。

    題庫下載:Citrix 1Y0-456 Exam

    1Y0-308 Exam是思傑公司面向網關技術領域的考試科目。全名Citrix Access Gateway 4.5 Advanced Edition: Administration。Citrix Other Certification 1Y0-308考試題庫由KillTest IT認證題庫網資深IT認證講師和Citrix Other Certification產品專家結合PROMETRIC或VUE的真實1Y0-308考試環境最新原題傾心打造。1Y0-308 Exam題庫包括181真題,更新時間:2008年5月25日。

  • 概述Citrix認證

    在“財富”全球100強中,有99%使用Citrix的產品,而500強中,有88%使用Citrix的產品。僅從這兩個簡單的數字中您就可以感覺到這個名字的實際分量,即使您以前不太熟悉Citrix。實際上只要服務器-客戶機體系存在之處,Citrix的出現率也是很高的。前不久,國內某IT雜誌對無盤Win95工作站以及工作站的發展前景作了壹番評述,文中對Windows2000之後的無盤站前途作了預測,作者對Citrix倒是十分看好的。現在的資格認證其實很多,但是大部分人都去考微軟MCSE去了。其實應該根據自己自身的條件選擇合適的。這也沒什麽大道理在裏面,只想建議大家不妨試試Citrix之類的“偏門”。與其它大部分資格認證壹樣,Citrix也把認證考試委托給了思而文公司承辦,但遺憾的是,Citrix認證的培訓中心國內還沒有。有誌於成為CCA或CCI的朋友只好自學先了。共有四種Citrix認證考試:CCA for WinFrame 1.8,CCA for MetaFrame1.8,CCA for WinFrame 1.7,CCA for MetaFrame 1.0.

     

    Citrix認證體系中包含1Y0-326考試科目,1Y0-326:Citrix Password Manager 4.0 Administration。1Y0-326題庫涵蓋了116道真題,更新時間:2008年9月1日。題庫真題的更新是隨著考試大綱的最新更新而更新。目的保證考生100%通過1Y0-326考試。Citrix Other Certification 1Y0-326(Citrix Password Manager 4.0 Administration)考題由我們的資深IT認證講師和Citrix Other Certification產品專家精心打造,包括了當前最新的真實1Y0-326考題,全部附有正確答案。

    目前CCA認證針對產品有下列幾個方向:Citrix認證管理員(Presentation Server 4.0),Citrix認證管理員(Password Manager 4.0) Citrix認證管理員(Access Gateway 4.0),CCEA是Citrix的中級認證,擁有CCEA認證意味著妳擁有架構、測試以及支持Citrix產品的能力,目前在美國持有Citrix企業級管理員認證(CCEA)的網絡工程師,其年薪約為96,000美元,達到平均年薪的峰值。遠高於持有微軟MCSE認證的60,000美元水準。CCIA是Citrix認證中的“極品”,是Citrix認證體系中剛剛推出的認證課程,擁有CCIA認證意味著您具有分析、設計及架構Citrix產品的能力。CCI是Citrix專門針對講師的認證,要獲得CCI認證資格,必須通過Citrix TTT培訓,並以85%以上的成績通過CCEA的測試。另外Citrix還推出了針對銷售人員的CCSP認證,代理商在獲取Citrix代理資格的時候,必須擁有兩名或以上的CCSP人員,CCSP必須了解Citrix的產品結構、銷售策略及產品服務。

  • SCJD認證介紹

    Sun推出的專業認證包括下列三種:

      ◆ JAVA認證考試   

      對於JAVA程序設計員,Sun推出兩項認證:
      Sun Certified JAVA Programmer (SCJP)
      Sun Certified JAVA Developer (SCJD)

      SCJP測驗JAVA程序設計概念及能力,內容偏重於JAVA語法及JDK的內容;SCJD則進一步測試用JAVA 開發應用程序的能力,考試者必須先完成一個程序的設計方案,再回答與此方案相關的一些問題。

     
     ◆ Solaris系統管理認證考試
      
      對Solaris/Sun OS系統管理員,Sun推出Certified Solaris Administrator(CSA)。CSA分別為兩個等級( Part I 和 Part II ),測試對Solaris 系統管理的了解程度。

      ◆ Solaris網絡管理認證考試
     
      為了測試使用者對於Solaris網絡管理能力,Sun推出Certified Network Administrator(CNA)。內容包括基本網絡概念、Routing and Subnet、Security、Performance、DNS、NIS+等。  

      Sun Java認證是業界唯一經Sun授權Java認證培訓。Sun認證Java開發員考試內容包括完整的Java應用程序開發,涉及數據庫、圖形用戶界面、網 絡通信、平臺移植等各方面內容,要求學員已通過Java程序員認證。學習結束後,可參加全球連網考試。考試合格則由Sun公司頒發國際通用的Java開發 員證書。

    java開發員認證Sun Certified JAVA Deverloper(SCJD),認證考試以Sun指定的javaSL-285為教材,機考部分的考試號為310-027。預備知識:1.具有使用Java編程經驗;2.了解怎樣實現接口和處理Java異常;3.應用面向對象技術;4.了解用戶界面設計;5.了解基本的TCP/IP通信;6.掌握Socket或流編程。

    該認證將證明您具備以下能力:1.分析、設計、實現和測試“自底而上”的intranet的商業應用;2.理解JDBC和編寫與SQL數據庫連接的程序;3.解釋軟件開發周期,每階段的目標,可使用適當的Java程序類型,了解API設計的基本元素,根據項目中的功能需求確定程序組件;4.描述關系數據庫的設計及其設計原則;5.了解JDBC及其使用;6.使用良好的GUI設計原則設計用戶界面;7.可以使用Socket連接以適當格式傳輸數據,並將其集成到應用程序中;8.描述一層,兩層及多層數據庫結構及相關問題,創建一個多層Java小程序或應用程序;9.了解在Solaris和Windows平臺之間的移植問題。

  • JAVA認證基礎:隨機整數的生成過程

    使用Java 2 SDK基礎類庫產生隨機數的方法很多。但是如果你跟不上這些類庫的更新腳步,你有可能正在使用的是一種低效的隨機數生成機制,更糟糕的是:你有可能得到的不是均勻分布的隨機數。本文將向你展示一種較為可靠的隨機數生成方法,同時與其他方法進行比較。
    自從JDK最初版本發布起,我們就可以使用java.util.Random類產生隨機數了。在JDK1.2中,Random類有了一個名為nextInt()的方法:public int nextInt(int n)給定一個參數n,nextInt(n)將返回一個大於等於0小於n的隨機數,即:0 <= nextInt(n) < n。你所要做的就是先聲明一個Random的對象,在調用其nextInt(n)函數以返回隨機值。這裏有個示例,下面的代碼段將生成很多隨機數並輸出它們的平均值:

    以下是引用片段:
      int count = 1000000;
      int range = Integer.MAX_VALUE / 3 * 2;
      double sum = 0;
      Random rand = new Random();
      for (int i=0; i<count; i++) {
      sum += rand.nextInt(range);
      }
      System.out.println(sum/count);

    執行了1000000次循環之後,得到的平均值基本上就處於隨機數範圍的中點(midpoint)。

      到目前為止,事情還並不復雜,但是我們會問為什麽要使用nextInt(n)?考慮一下的隨機數生成方法:
      (1)使用老的方法nextInt(),沒有制定數值範圍
      (2)用Math.abs()靜態函數得到(1)中產生值的絕對值
      (3)對(2)的結果進行取模運算(%),得到期望範圍類的值

      我們說nextInt(n)要比上述方法更好,為什麽呢?參考以下的代碼段:

    以下是引用片段:
      sum = 0;
      for (int i=0; i<count; i++) {
      sum += Math.abs(rand.nextInt()) % range;
      }
      System.out.println(sum/count);
      不難發現,每次循環都多出了幾步運算。事實上,這種隨機數生成的方法存在著以下三個問題:

      首先,nextInt()返回的值是趨於均勻分布在Integer.MIN_VALUE 和 Integer.MAX_VALUE之間的。如果你取Integer.MIN_VALUE的絕對值,得到的仍然不是一個正數。事實上,Math.abs(Integer.MIN_VALUE)等於Integer.MIN_VALUE。因此,存在著這樣一種情況(雖然很少見):rand.nextInt()=Integer.MIN_VALUE,經過取絕對值Math.abs(rand.nextInt())之後,得到是一個負數。這種幾率為 1/(2^31),在我們的測試中不太可能發生——循環次數只有1000000次。
      其次,當你對nextInt()取模時,你使結果的隨機性大打折扣。隨機數中較小的值出現的幾率更大一些。這就是眾所周知的偽隨機數生成,因此我們不是用取模的方法。
      最後,也可能是最糟糕的:隨機數不是均勻分布。如果你執行了上述的兩段代碼,第一段代碼的結果將會大於715,000,000,考慮到數值範圍的中點(midpoint)715,827,882,所以這是一個可以接受的結果。然而,你會吃驚的發現第二段代碼得到的平均值肯定不會超過600,000,000。

      為何第二段代碼的結果會如此的偏差?糾其本質,問題出在數值分布的不均勻。當你進行取模運算時,你將過大的數轉換成了較小的。這使得較小的數更容易產生。

      使用nextInt(range)將會解決上述的三個問題。還有一種隨機數生成方法——使用Math.random()。這個方法的效果如何?

    以下是引用片段:
      sum = 0;
      for (int i=0; i<count; i++) {
      sum += (int)(Math.random() * range);
      }
      System.out.println(sum/count);
    很好,使用random()不會碰到nextInt()的麻煩。你不會得到負數返回值,沒有使用取模運算,值分布也是均勻的。還有什麽問題嗎?你有沒有考慮到Math.random()使用了浮點運算,而nextInt()和nextInt(range)只有整數操作?Math.random()可能會慢上四倍。再加上從浮點到整數的類型轉換,整個運算將會更慢。好了,經過一番比較,我們發現使用nextInt(range)生成隨機數更為有效,因為它避免了其他方法的種種弊端。最後再給出一段代碼,通過測試可以比較本文提到的幾種隨機數生成方法。

  • SCJP認證信息

    Sun Java。考試內容涉及所有Java相關知識、編程概念及applet開發技巧。Sun 認證Java程序員考試旨在觀察您通過應用軟件分配進行復雜編程的能力。之後還要測試您完成編程所需的知識。
      
    認證要求:
    學員掌握如何使用標準Java Development kit,V1.2 (JDK)或V1.4(JDK)開發應用程序和applets。學會Java語言的語法;如何使用Java來創建圖形用戶接口(GUI),事件處理機制,例外處理,通過設計與開發各種Java程序來獲得實際的編程經驗;您也將學到文件輸入/輸出(I/O);多線程和網絡的知識。
      
    通過認證將證明您能夠:認證是業界唯一經Sun授權的Java認證

    1.使用Java編程語言創建Java應用程序和applets
    2.定義和描述垃圾搜集,安全性和Java虛擬機(JVM)
    3.描述和使用Java語言面向對象的特點
    4.開發圖形用戶接口(GUI)。利用Java支持的多種布局管理
    5.描述和使用Java 1.2的事件處理模式
    6.使用Java語言的鼠標輸入,文本,窗口和菜單窗口部件
    7.使用Java的例外處理來控制程序執行和定義用戶自己的例外事件
    8.使用Java語言的先進的面向對象特點,包括方法重載,方法覆蓋,抽象類,接口,final,static和訪問控制
    9.實現文件的輸入/輸出(I/O)
    10.使用Java語言內在的線程模式來控制多線程

  • SUN認證常識

    Sun在 UNIX領域一直是技術上和市場占有率的領先者;近年來推出的Java技術,更成為業界的標準。所以Sun公司所舉辦的認證考試,必然成為Java和UNIX在全球信息界公認的標準。Sun推出的專業認證包括下列三種:

    1.Java認證考試:

     對於Java程序設計員,Sun推出兩項認證:Sun Certified Java Programmer(SCJP)和Sun Certified Java Developer(SCJD)。310-027SCJP測驗Java程序設計概念及能力,內容偏重於Java語法及JDK的內容;SCJD則進一步測試用Java開發應用程序的能力,考試者必須先完成一個程序的設計方案,再回答與此方案相關的一些問題。

    2.Solaris系統管理認證考試:

     對Solaris/Sun OS系統管理員,Sun推出Certified Solaris Administrator(CSA)。CSA分別為兩個等級(Part I 和 Part II ),測試對Solaris 系統管理的了解程度。

    3.Solaris網絡管理認證考試:

     為了測試使用者對於Solaris網絡的管理能力,Sun還特別推出Certified NetworkAdministrator(CNA). 內容包括基本網絡概念、 Routing and Subnet、Security、Performance、DNS、NIS+等通過SUN任何一門專業認證後,將全收到Sun Microsystems 總公司寄發的資格證及徽章,並有權將通過Sun認證的標記印在個人名片上,作為個人技術能力的肯定。

    SUN認證JAVA程序員

    眾所周知,Java以其獨有的開放性,跨平臺性和面向網絡的交互性席卷全球,以其安全性、易用性和開發周期短的特點,迅速從最初的編程語言發展成為全球第二大軟件開發平臺。這些優點已引起國內外計算機界的極大關註;Java公用規範(PAS)已被國際標準化組織(ISO)認定,Java技術已列為當今世界信息技術三大要點之一。

     Sun Java認證是業界唯一經Sun授權的Java認證。考試內容涉及所有Java相關知識、編程概念及applet開發技巧。Sun 認證Java程序員考試旨在觀察您通過應用軟件分配進行復雜編程的能力。之後還要測試您完成編程所需的知識。每次考試都包括65道以上的選擇題,時間大約為90分鐘。

    課程:SL-275 JAVA語言編程
    本課程是使學員掌握如何使用標準Java Development Kit,V1.1 (JDK) 開發應用程序和applets。在本課程中您將學會Java語言的語法。如何使用Java 來創建圖形用戶接口GUI,事件處理機制, 例外處理,通過設計與開發各種Java 程序來獲得實際的編程經驗.您也將學到文件輸入/輸出(I/O)、 多線程和網絡的知識.。本課程適用於熟悉C或C++的編程人員,也適用於想參加Sun Java 認證考試的各位考生。

  • 簡述SUN認證

    Sun公司為了為業界建立一套認證的標準,特別針對最先進的科技,推出Java及Solaris 技術認證方案。根據這些認證,在企業方面可以藉此作為招聘人才的評判標準,或是作為衡量員工技術水準的依據;在技術方面,通過這些認證也可以證明個人的技術能力。

    Sun在 UNIX領域一直是技術上和市場占有率的領先者;近年來推出的Java技術,更成為業界的標準。所以Sun公司所舉辦的認證考試,必然成為Java和UNIX在全球信息界公認的標準。Sun推出的專業認證包括下列三種:

    Java認證考試

    對於Java程序設計員,Sun推出兩項認證:Sun Certified Java Programmer (SCJP)和Sun Certified Java Developer(SCJD)。SCJP測驗Java程序設計概念及能力,內容偏重於Java語法及JDK的內容;SCJD則進一步測試用Java 開發應用程序的能力,考試者必須先完成一個程序的設計方案,再回答與此方案相關的一些問題。

    Solaris系統管理認證考試

    對Solaris/Sun OS系統管理員,Sun推出Certified Solaris Administrator(CSA)。CSA分別為兩個等級( Part I 和 Part II ),測試對Solaris 系統管理的了解程度。

    Solaris網絡管理認證考試

    為了測試使用者對於Solaris網絡管理能力,Sun推出Certified Network Administrator(CNA)。內容包括基本網絡概念、Routing and Subnet、Security、Performance、DNS、NIS+等。通過SUN任何一門專業認證後,將全收到Sun Microsystems 總公司寄發的資格證書及徽章,並有權將通過Sun認證的標記印在個人名片上,作為個人技術能力的肯定。

    java開發員認證Sun Certified JAVA Deverloper(SCJD) java開發員的認證考試以Sun指定的javaSL-285為教材,機考部分的考試號為310-027。Java開發員的認證考試: Java開發員的考試分程序設計和機考兩部分。其中,程序設計部分不限時。考生報名後,可從指定的網址下載考試題目,並根據題目要求進行程序設計。在指定的時間段(1年)內,考生須傳回自行設計的java程序。

  • 初學者,你應當如何學習C++以及編程

    Javascript是世界上最受誤解的語言,其實C++何嘗不是。坊間流傳的錯誤的C++學習方法一抓就是一大把。我自己在學習C++的過程中也走了許多彎路,浪費了不少時間。

    為什麼會存在這麼多錯誤認識?原因主要有三個,一是C++語言的細節太多。二是一些著名的C++書籍總在(不管有意還是無意)暗示語言細節的重要性和有趣。三是現代C++庫的開發哲學必須用到一些犄角旮旯的語言細節(但注意,是庫設計,不是日常編程)。這些共同塑造了C++社群的整體心態和哲學。

    單是第一條還未必能夠成氣候,其它語言的細節也不少(儘管比起C++起來還是小巫見大巫),就拿javascript來說,作用域規則,名字查找,closure,for/in,這些都是細節,而且其中還有違反直覺的。但許多動態語言的程序員的理念我猜大約是學到哪用到哪罷。但C++就不一樣了,學C++之人有一種類似於被暗示的潛在心態,就是一定要先把語言核心基本上吃透了才能下手寫出漂亮的程序。這首先就錯了。

    這個意識形成的原因在第二點,C++書籍。市面上的C++書籍不計其數,但有一個共同的缺點,就是講語言細節的書太多——《C++ gotchas》,《Effective C++》,《More Effective C++》,但無可厚非的是,C++是這樣一門語言:要拿它滿足現代編程理念的需求,尤其是C++庫開發的需求,還必須得關注語言細節,乃至於在C++中利用語言細節已經成了一門學問。比如C++模板在設計之初根本沒有想到模板元編程這回事,更沒想到C++模板系統是圖靈完備的,這也就導致了《Modern C++ Design》和《C++ Template Metaprogramming》的驚世駭俗。
    這些技術的出現為什麼驚世駭俗,打個比方,就好比是一塊大家都認為已經熟悉無比,再無秘密可言的土地上,突然某天有人挖到原來地下還蘊藏著最豐富的石油。在這之前的C++雖然也有一些細節,但也還算容易掌握,那可是C++程序員們的happy old times,因為C++的一切都一覽無餘,everything is figured out。然而《Modern C++ Design》的出世告訴人們,“瞧,還有多少細節你們沒有掌握啊。”於是C++程序員們久違的激情被重燃起來,奮不顧身的踏入細節的沼澤中。尤其是,模板編程將C++的細節進一步挖掘到了極致——我們幹嘛關心涉及類對象的隱式轉換的優先級高低?看看boost::is_base_of就可以知道有多詭異了。
    但最大的問題還在於,對於這些細節的關注還真有它合適的理由:我們要開發現代模板庫,要開發active library,就必須動用模板編程技術,要動用模板編程技術,就必須利用語言的犄角旮旯,enable_if,type_traits,甚至連早就古井無波的C宏也在亂世中重生,看看

    boost::preprocessor有多詭異就知道了,連C宏的圖靈完備性(預編譯期的)都被挖掘出來了。為什麼要做這些?好玩?標榜?都不是,開發庫的實際需求。但這也正是最大的悲哀了。在boost裡面因實際需求而動用語言細節最終居然能神奇的完成任務的最好教材就是
    boost::foreach,這個小設施對語言細節的發掘達到了驚天地泣鬼神的地步,不信你先試著自己去看看它的源代碼,再看看作者介紹它的文
    章吧。而boost::typeof也不甘其後——C++語言裡面有太多被“發現”而不是被“發明”的技術。難道最初無意設置這些語言規則的傢伙們都是oracles?

    因為沒有variadic templates,人們用宏加上缺省模板參數來實現類似效果。因為沒有concepts,人們用模板加上析構函數的細節來完成類似工作。因為沒有typeof,人們用模板元編程和宏加上無盡的細節來實現目標… C++開發者們的DIY精神不可謂不強。然而,如果僅僅是因為要開發優秀的庫,那麼涉及這些細節都還是情有可原的,至少在C++09出現並且編譯器廠商跟上之前,這些都還能說是不得已而為之。但我們廣大的C++程序員呢?大眾是容易被誤導的,我也曾經是。以為掌握了更多的語言細節就更牛,但實際卻是那些語言細節十有八九是平時編程用都用不到的。 C++中眾多的細節雖然在庫設計者手裡面有其用武之地,但普通程序員則根本無需過多關注,尤其是沒有實際動機的關注。一般性的編碼實踐準則,以及基本的編程能力和基本功,乃至基本的程序設計理論以及算法設計。才是真正需要花時間掌握的東西。學習最佳編碼實踐比學習C++更重要。看優秀的代碼也比埋頭用差勁的編碼方式寫垃圾代碼要有效。直接、清晰、了、KISS地表達意圖比玩編碼花招要重要…

    避免去過問任何語言細節,除非必要。這個必要是指在實際編程當中遇到問題,這樣就算需要過問細節,也是最省事的,懶惰者原則嘛。一個掌握了基本的編程理念並有較強學習能力的程序員在用一門陌生的語言編程時就算拿著那本語言的聖經從索引翻起也可以編出合格的程序來。十年學會編程不是指對每門語言都得十年,那一輩子才能學幾門語言哪,如果按字母順序學的話一輩子都別指望學到Ruby了;十年學習編程更不是指先把語言特性從粗到細全都吃透才敢下手編程,在實踐中提高才是最重要的。

    至於這種摳語言細節的哲學為何能在社群裡面呈野火燎原之勢,就是一個心理學的問題了。想像人們在論壇上討論問題時,一個對語言把握很細緻的人肯定能夠得到更多的佩服,而由於論壇上的問題大多是小問題,所以解決實際問題的真正能力並不能得到顯現,也就是說,知識型的人能夠得到更多佩服,後者便成為動力和仿效的砝碼。然而真正的編程能力是與語言細節沒關係的,熟練運用一門語言能夠幫你最佳表達你的意圖,但熟練運用一門語言絕不意味著要把它的邊邊角角全都記住。懂得一些常識,有了編程的基本直覺,遇到一些細節錯誤的時候再去查書,是最節省時間的辦法。

    C++的書,Bjarne的聖經《The C++ Programming Language》是高屋建瓴的。 《大規模C++程序設計》是挺務實的。 《Accelerated C++》是最佳入門的。 《C++ Templates》是僅作參考的。 《C++ Template Metaprogramming》是精力過剩者可以玩一玩的,普通程序員碰都別碰的。 《ISO.IEC C++ Standard 14882》不是拿來讀的。 Bjarne最近在做C++的教育,新書是絕對可以期待的。

    PS關於如何學習編程,g9的blog上有許多精彩的文章:這裡,這裡,這裡,這裡…實際上,我建議你去把g9老大的blog翻個底朝天:P

    再PS書單?我是遑於給出一個類似《C++初學者必讀》這種書單的。 C++的書不計其數,被公認的好書也不勝枚舉。只不過有些書容易給初學者造成一種錯覺,就是“學習C++就應該是這個樣子的”。比如有朋友提到的《高質量C/C++編程》,這本書有價值,但不適合初學者,初學者讀這樣的書容易一葉障目不見泰山。實際上,正確的態度是,細節是必要的。但細節是次要的。其實學習編程我覺得應該最先學習如何用偽碼表達思想呢,君不見《Introduction to Algorithm》裡面的代碼?《TAOCP》中的代碼?哦,對了它們是自己建立的語言,但這種僅教學目的的語言的目的就是為了避免讓寫程序的人一開始就忘了寫程序是為了完成功能,以為寫程序就是和語言細節作鬥爭了。 Bjarne說程序的正確性最重要,boost的編碼標準裡面也將正確性列在性能前面。此外,一旦建立了正確的學習編程的理念,其實什麼書(只要不是太垃圾的)都有些用處。都當成參考書,用的時候從目錄或索引翻,基本就對了。

    再再PS myan老大和g9老大都給出了許多精彩的見解。我不得不再加上一個P.S。具體我就不摘錄了,如果你讀到這裡,請務必往下看他們的評論。轉載者別忘了轉載他們的評論:-)許多朋友都問我同一個問題,到底要不要學習C++。其實這個問題問得很沒有意義。 “學C++”和“不學C++”這個二分法是沒意義的,為什麼?因為這個問題很表面,甚至很浮躁。重要的不是你掌握的語言,而是你掌握的能力,借用myan老大的話,“重要的是這個磨練過程,而不是結果,要的是你粗壯的腿,而不是你身上背的那袋鹽巴。 ”。此外學習C++的意義其實真的是醉翁之意不在酒,像C/C++這種系統級語言,在學習的過程中必須要涉及到一些底層知識,如內存管理、編譯連接系統、彙編語言、硬件體系結構等等等等知識(注意,這不包括過分犄角旮旯的語言枝節)。這些東西也就是所謂的內功了(其實最最重要的內功還是長期學習所磨練出來的自學能力)。對此大嘴Joel在《Joel On Software》裡面提到的漏洞抽象定律闡述得就非常漂亮。

    所以,答案是,讓你成為高手的並不是你掌握什麼語言,精通C++未必就能讓你成為高手,不精通C++也未必就能讓你成為低手。我想大家都不會懷疑g9老大如果要抄起C++做一個項目的話會比大多數自認熟練C++的人要做得漂亮。所以關鍵的不是語言這個表層的東西,而是底下的本質矛盾。當然,不是說那就什麼語言都不要學了,按照一種曹操的邏輯,“天下語言,唯imperative與declarative耳”。 C++是前者裡面最複雜的一種,支持最廣泛的編程範式。借用當初數學系入學大會上一個老師的話,“你數學都學了,還有什麼不能學的呢?”。學語言是一個途徑,如果你把它用來磨練自己,可以。如果你把它用來作為學習系統底層知識的鑰匙,可以。如果你把它用來作為學習如何編寫優秀的代碼,如何組織大型的程序,如何進行抽象設計,可以。如果掉書袋,光啃細節,我認為不可以(除非你必須要用到細節,像boost庫的coder們)。