① 關於C加加和java

  1. C++之父評論C++與Java

    http://soft.yesky.com/info/223/2414723.shtml

  2. Linux之父炮轟C++:

    http://os.51cto.com/art/200709/55562.htm?1366380720

  3. Java之父評價C語言之父:我用盡了形容詞

    http://www.csdn.net/article/2011-10-19/306010?1366380958



  • C++之父評論C++與Java

如果人們非要拿C++和Java來作比較,我建議他們去閱讀TheDesignandEvolutionofC++,看看C++為什麼是今天這個樣子,用我在設計C++時遵從的原則來檢驗這兩種語言。這些原則與SUN的Java開發小組所持的理念顯然是不同的。除了表面語法的相似性之外,C++與Java是截然不同的語言。在很多方面,Java更像Smalltalk。(Sun的培訓教材清楚地寫道:Java在設計上採用了與C++相似的語法,與Smalltalk相似的語義。所以可以說Java與C++是貌合神離,與Smalltalk才是心有靈犀。)Java語言相對簡單,這部分是一種錯覺,部分是因為這種語言還不完整。隨著時間的推移,Java在體積和復雜程度上都會大大增長。在體積上它會增長兩到三倍,而且會出現一些實現相關的擴展或者庫。這是一條每個成功的商業語言都必須走過的發展之路。隨便分析一種你認為在很大范圍內取得了成功的語言,我知道肯定是無有例外者,而且實際上這非常有道理。

上邊這段話是在Java1.1推出之前寫的。我確信Java需要類似模板的機制,並且需要增強對於固有類型的支持。簡單地說,就是為了基本的完整性也應該做這些工作。另外還需要做很多小的改動,大部分是擴展。1998年秋,我從JamesGosling(Java語言的創始人)那裡得到一份建議書,說是要在Java中增加固有類型、操作符重載以及數學計算支持。

還有一篇論文,是數學分析領域的世界級大師,伯克利大學的W.Kahan教授所寫的HowJava'sFloating-PointHurtsEveryoneEverywhere(且看Java的浮點運算如何危害了普天下的芸芸眾生),揭露了Java的一些秘密。我發現在電視和出版物中關於Java的鼓吹是不準確的,而且氣勢洶洶,讓人討厭。大肆叫囂凡是非Java的代碼都是垃圾,這是對程序員的侮辱;建議把所有的保留代碼都用Java重寫,這是喪心病狂,既不現實也不負責任。Sun和他的追隨者似乎覺得為了對付微軟罪惡的「帝國時代」,就必須如此自吹自擂。但是侮辱和欺詐只會把那些喜歡使用不同編程語言的程序員逼到微軟陣營里去。

Java並非平台無關,它本身就是平台。跟Windows一樣,它也是一個專有的商業平台。也就是說,你可以為Windows/Intel編寫代碼,也可以為Java/JVM編寫代碼,在任何一種情況下,你都是在為一個屬於某個公司的平台寫代碼,這些代碼都是與該公司的商業利益扯在一起的。當然你可以使用任何一種語言,結合操作系統的機制來編寫可供JVM執行的程序,但是JVM之類的東西是強烈地偏向於Java語言的。它一點也不像是通用的、公平的、語言中立的VM/OS。私下裡,我會堅持使用可移植的C++作大部分工作,用不同的語言作餘下的工作。

「Javaisnotplatform-independent,itistheplatform」,B.S的這句評語對於C++用戶有著很大的影響,有些C++高手甚至把這句話作為自己的簽名檔,以表明對Java的態度和誓死捍衛C++的決心。

  • Linux之父炮轟C++:

糟糕程序員的垃圾語言(1)2007-09-0913:33劉江劉江@圖靈我要評論(14)字型大小:T|TLinux之父為Linux內核開發而專門打造的版本控制軟體Git已經引起了業界的廣泛關注。DmitryKakurin查看源代碼之後,發現使用的是純C而非C++,表示不可理解。引起了Linux之父炮轟C++:糟糕程序員的垃圾語言。AD:2013大數據全球技術峰會低價搶票中

Linux之父炮轟C++:糟糕程序員的垃圾語言Linux之父話糙理不糙不得不看的兩次從C++回歸C的高手評論C++C語言是否該扔進垃圾桶為什麼每個程序員都應該學習C語言?每個程序員都應該學習C語言?我可不這么認為C語言已經死了,5個需要忘卻它的理由用C設計用C++編碼為什麼使用C++C++0x:嶄新的C++,還是另一個Java?編程語言的三大定理動態語言為何難堪重任動態語言面面觀Linux之父LinusTorvalds為了Linux內核開發而專門打造的版本控制軟體Git已經引起了業界的廣泛關注。昨天,有一位DmitryKakurin老兄在查看了源代碼之後,發現使用的是純C而非C++,表示不可理解,他直言:「別拿可移植性說事兒,這是屁話(BS,bullshit)。「(此外,他還批評Git蠻力地直接操作文本,既啰嗦又易錯,而且很難跟上高層代碼邏輯。)」這個BS引起了Torvalds的強烈反應,他用「*YOU*arefullofbullshit.」(你才滿嘴屁話呢)作為自己反駁的開場白。接著,他先轉向了對C++的罕見的火葯味十足的炮轟:「C++是一種糟糕的(horrible)語言。而且因為有大量不夠標準的程序員在使用而使情況更糟,以至於極容易產生徹頭徹尾的垃圾(totalanttercrap)。老實說,選擇C就是為了把C++程序員踢出去。……我有這樣的結論,任何喜歡用C++而不是C開發項目的程序員可能都是我希望踢出去的人,免得他們來搞亂我參與的項目。C++會導致非常非常糟糕的設計選擇。你們這些C++程序員總是一上來就用語言的那些『漂亮的』庫特性比如STL、Boost和其他徹頭徹尾的垃圾,這可能對你們的程序有所『幫助』,但是卻會導致:

——當庫無法工作時無窮無盡的折磨(別跟我說什麼STL尤其是Boost很穩定而且可移植性很好,那全是屁話,而且一點都不可笑)

——低效的抽象編程模型,可能在兩年之後你會注意到有些抽象效果不怎麼樣,但是所有代碼已經依賴於圍繞它設計的『漂亮』對象模型了,如果不重寫應用程序,就無法改正。也就是說,使用優秀的、高效的、系統級的和可移植的C++的唯一方式,最終還是限於使用C本身具有的所有特性。項目限制只用C,意味著參與的人不會搗亂,也意味著會得到許多真正懂得底層問題,而不會折騰那些白痴『對象模型』垃圾的程序員。

所以,我很抱歉,但是對於Git這樣效率是主要目標的軟體,C++的所謂優點只是巨大的錯誤。而我們將看不到這一點的人排除在外卻成了一個巨大的附加優勢。如果你想要用C++寫的版本控制系統,去玩Monotone吧。他們確實使用了『真格的資料庫』,使用了『漂亮的面向對象庫』、使用了『漂亮的C++抽象』。可是說老實話,所有這些對某些計算機專業人士而言富於吸引力的設計決定,其最終結果確是一堆可怕、難以維護的垃圾。」【070907更新】Torvalds和DmitryKakurin爭論繼續中。對Torvalds的回擊,Dmitry反唇相譏:「隨著只用C編程的恐龍們逐漸滅絕,你很快就會發現只剩下自己一個人在固執己見。用Git貢獻者的數量是說明不了問題的。<顯然C++開發者也能夠貢獻C代碼。但是以為他們喜歡這種方式,那可就錯了。

沒有C的時候我用匯編編程。然後在C++誕生之前,我轉向了C。現在我使用C++和C#,而且不再走回頭路。差勁的程序員用任何語言都寫不出好程序。但是為了將差勁的貢獻者拒之門外這樣一個沒譜的理由而懲罰優秀的開發者,這簡直是胡鬧。」只過了10幾分鍾,Torvalds就回貼了:「和你不同的是,我實實在在地給出了不喜歡C++的原因,而且指出了它可能導致的各種問題的一些例子。而你呢,沒有給出一條像樣的使用C++的理由。事實上,Git比其他軟體配置管理軟體都要好,而好的品味(taste)和C正是原因之一。」

對上面的最後一句話,Torvalds後來又做了如下補充:

「說得更具體一些:

——簡單和清晰的核心數據結構,非常精益(lean)且頗具雄心的曖昧管理著它們,將「簡單勝於花哨」這一方法發揮到極致。

——有意識地不抽象數據結構和演算法,因為它們恰恰是Git核心的全部要素(wholepoint)。 如果你想用更花哨的語言,C++絕對是最糟糕的選擇。如果想要真正的高級特性,那就選擇有垃圾回收或者好的系統集成的,而不是既缺乏C的簡約(sparseness)又缺乏C的直接而且沒有重要概念的高層綁定(high-)的東西。 一言以蔽之,C++正處在困境當中,它既無法幫助原型化或者簡單的GUI編程足夠簡化從而真正可用,不是C那樣積極地鼓勵你使用簡單和直接的語言構造的精益系統編程語言。」 (另一位同學插了一句:這還沒有提到很難找到兩個C++編譯器支持同樣的特性。)「這與什麼恐龍毫無關系。好的品味永遠不會過時。將C與匯編語言相提並論,恰恰說明你對自己所討論的問題缺乏起碼的概念(don'thaveafrigginidea)。」


  • Java之父評價C語言之父:我用盡了形容詞

摘要:Java之父JamesGosling在上周發布了關於討論C語言之父DennisRitchie的簡短博文稱:C語言撐起了一切,他的影響巨大,並超越了科技世界。

Java之父詹姆斯·高斯林(JamesGosling)在上周發布了關於討論C語言之父丹尼斯·里奇(DennisRitchie)的簡短博文:丹尼斯·里奇辭世的新聞如五雷轟頂。過去幾天已經有很多資訊報道此事。他的影響巨大,並超越了科技世界,雖然他的大多影響都不為人知,但完全可以感受到。C語言撐起了一切。我的整個職業生涯也是從C語言和Unix中發展而來。對當今的大多數工程師而言,很難理解我在20世紀70年代感受到的幸福愉快感。當一種編程語言最終出現,我(其他人也)可以從匯編語言提升到一種真正的編程語言。我們可以做任何一切,過去我們得編寫所有低級位系統。在C語言之前,編程語言達不到任務:開銷太大了。系統的復雜性是真的阻礙了用匯編語言編寫大型軟體。C語言就像代碼的JATO。(編註:「JATO」是「Jet-fuelassistedtakeoff」的縮寫,字面意思:「輔助起飛的噴氣燃料」。這個系統通過小型火箭提供輔助動力,以幫助超載的飛機起飛升空。)下面是詹姆斯·高斯林此文的一些評論:TruelyJames.,.dentertaining.RIPRitchie!!!說的很對,詹姆斯!對於每個計算機專業人士,他們所接觸的第一種編程語言就是C語言。(C語言)有著如此多的令人驚奇的地方,這也使得學習過程非常有趣。安息,里奇!!!Greatonesarefalling.IstillloveC.Sosimple.Sopowerful.一位巨星的隕落。我仍然愛著C語言。如此簡單,如此強大。:.'tfound.Itwasagoodtime.我記得C語言就是程序員的冒險:有很多小坑,一不小心就陷進去。即便很多年過後,還有一些我沒有發現的。那是個美好時刻。Theequationisquitesimple:RichieislikeEinstein,pureGenius.AlltheITisbuiltonK&amp;Rworks.Thanksman,andRIP...等式非常簡單:里奇就像愛因斯坦,純粹的天才。IT業的所有都基於肯貝漢和里奇的成果。感謝,安息……文章出自:nighthacks譯文來自:伯樂在線

② java面向對象編程習題,急求答案~用MyEclipse編寫 【練習題】08.構造方法的重載:

代碼已經上傳,自己看看吧,很簡單的。有不懂的可以問~~~

③ Java 中islike 和 ==區別

has a 組合
like a / is a 繼承。 繼承是基於行為相似的。數學里的正方形和矩形在OO里就不能繼承。

④ java 怎麼對比兩個字元串的每個字元

/**
*判斷字元串相似
*
*@paramstr1
*比較串
*@paramstr2
*被比較串
*@return
*/
publicstaticbooleanisLike(Stringstr1,Stringstr2){
HashMap<Character,Integer>list=newHashMap<>();
char[]cs1=str1.toCharArray();
char[]cs2=str2.toCharArray();
chartemp;
intcount;
for(inti=0;i<cs1.length;i++){
//取出第一個字元串中的一個字元
temp=cs1[i];
//與第二個字元串的所有字元比較
for(intj=0;j<cs2.length;j++){
//如果字元相同
if(temp==cs2[j]){
//看列表中是否有記錄
if(list.get(temp)==null){
//沒有記錄等於1
list.put(temp,1);
}else{
//有記錄即加1
list.put(temp,list.get(temp)+1);
}
}
}
}
Set<Character>set=list.keySet();
for(Characterkey:set){
System.out.println(key+"出現的次數"+list.get(key));
}
if(list.size()==0)
returnfalse;
returntrue;
}

⑤ java中 is a, is like,is kind of 分別代表什麼意思

1,is a 顧名思義是「...是一個...」的意思,體現在java里就是繼承;
2,is like 「...像...」在java里表示的是組合機制;
3,至於is kind of ,我好像沒聽過,應該和is a一個意思,都是指的繼承

⑥ 關於JAVA中數組的一道題 Java is an object oriented progaramming language.I like it.and you.

你好,正好可以體現出String的split方法的作用了,用法如下:

public class test2 {

public static void main(String[] args) {
String str="hello . wowo.oh,yes.no";

String[] result=str.split("[.]");
}
}

⑦ "is a"和"is like a"

呵呵,其實is-a,的意思就是「是一個」,假如子類不擴展父類的話,那麼繼承就沒什麼意思了,那麼子類和父類就是同一個類。
is like a 像是一個但不是一個,因為子類不但擁有父類的所有可繼承的東西,而且擁有自己的私有東西,就像你是你老爸的兒子,所以很多人說,你長得很像你老爸,其實你身上有很多你老爸沒有的東西。呵呵,就是這個意思!

⑧ java中like和likes有什麼區別

has a 組合 like a / is a 繼承。 繼承是基於行為相似的。數學里的正方形和矩形在OO里就不能繼承。