※ 本文為 use2ptt.bbs. 轉寄自 ptt.cc 更新時間: 2013-03-18 19:44:48
看板 Gossiping
作者 標題 Re: [問卦] 有沒有C++的八卦阿?
時間 Mon Mar 18 13:21:21 2013
: C++
: 號稱所有寫程式的人都要會的語言
: 全世界的軟體有80%以上都是用C++
: 如果沒有C++
: 地球上有50%的人都要回家吃自己了
: 台灣也會從電子王國改回傳產王國
: C++ 他高傲 但是宅心仁厚
: C++ 他謙虛 但受萬人景仰
: 他究竟是神仙的化身?
: 還是地獄的使者?
: 沒人知道
: 有沒有C++的八卦阿?
C++有沒有80%還待商榷
但是以完整度來說 其他語言很難跟C++匹敵
很少語言同時包含高階和低階語言的特性
所以非常適合作為學習的起點 之後不管往低階或是高階都可以快速上手
低階的操作像是 對指標以及記憶體操作的概念 對於未來學組合語言會很有幫助
高階的特徵像是物件導向設計 或是泛型 之後能很快適應其他高階語言 如 Java C#
另外C++包括了四種主要的設計思維
Procedural Based
Object Based
Object Oriented
Generic Garadigm
資訊相關的問題 幾乎都能夠在C++上完成實做
一些實驗性質的高階的特技用法
像是Template Metaprogramming(模板超編程) C++外能實作的語言不多
(C# 或是Java的泛型沒辦法這樣玩)
不過現實上因為上下通吃的特性 反而變成上下夾殺
低階的用途 大家還是習慣用C 可以更有效利用資源 相容性也較好
(C++如果用到template 要移植會有很大的問題)
高階的用途 Java或是C# 生產速度通常比C++高速倍
所以整體來說C++的佔有率還是持續下降
但是這點無損選C++當第一個程式語言的價值
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.125.0.193
推 :這篇蠻中肯的1F 03/18 13:22
推 :恩恩 我也這樣想2F 03/18 13:24
推 :跟我想的一樣3F 03/18 13:24
推 :相容性不好又不是語言der問題 頗ㄏ4F 03/18 13:25
現實上因為沒有標準 各家compiler 對template就是各自表述 很難但一份code通吃推 :Template簡直是神物啊..但是要會用...y5F 03/18 13:25
※ 編輯: sexonly 來自: 59.125.0.193 (03/18 13:27)推 :相容性關係到不同平台上對編譯器實作的完整程度啊XDD6F 03/18 13:26
→ :雖然聽不懂 但是我也是這麼想7F 03/18 13:27
→ :Object based 跟 Object Oriented差在那邊?8F 03/18 13:28
推 :差在有沒有繼承跟多型9F 03/18 13:29
→ :感謝樓上回答10F 03/18 13:29
→ :不過C++四種思維應該是procedural OO GP functional11F 03/18 13:29
→ :結果Dennis Ritchie過世沒人知道 jobs過世一堆人哭12F 03/18 13:32
推 :linus: c++ is bullshit.13F 03/18 13:32
推 :Linus那個充滿偏見的人說的話 隨便聽聽就算了14F 03/18 13:33
→ :template是bullshit中的一顆豌豆, 看上去好吃, 你吃吃看?15F 03/18 13:33
→ :linus是業界最沒有偏見的人.
→ :他幹譙C++, 但是卻大贊C++開發的KDE
→ :然後又吐槽C寫的gnome. 他完全是抱著技術的角度在評判
→ :linus是業界最沒有偏見的人.
→ :他幹譙C++, 但是卻大贊C++開發的KDE
→ :然後又吐槽C寫的gnome. 他完全是抱著技術的角度在評判
推 :C++ 叫functional? erlang, haskell才叫functional19F 03/18 13:36
推 :很多大型遊戲都要安裝C++套件 所以都是C++開發的嗎?20F 03/18 13:38
→ :樓上上, 原文那邊有提到functional? o.021F 03/18 13:40
→ :推文裡有人講的.22F 03/18 13:42
推 :c++11 加入許多functional特性 當然是只C++是個23F 03/18 13:42
→ :functional language
→ :不是只
→ : 指...orz
→ :functional language
→ :不是只
→ : 指...orz
推 :中肯 實際工作幾乎用C or Java... 反而C++不常用27F 03/18 13:51
→ :中小需要高效能就用C, 大的網路程式就用Java 很好用
→ :中小需要高效能就用C, 大的網路程式就用Java 很好用
推 :推29F 03/18 13:53
→ :台灣軟體業不發達,純底層和純web居多,自然不常用C++30F 03/18 13:53
→ :C++功能太多 使用定義卻沒有非常嚴格...31F 03/18 13:53
→ :如果一群人使用C++做一個案子, 會變成大混戰
→ :如果一群人使用C++做一個案子, 會變成大混戰
推 :大型專案要兼顧效能與彈性 C++是目前最佳解33F 03/18 13:54
→ :會大混戰是人員訓練不足 C++缺點就是太複雜太難學
→ :會大混戰是人員訓練不足 C++缺點就是太複雜太難學
→ :一群人做一個案子會不會變成大混戰跟語言無關35F 03/18 13:54
→ :相對Java天生設計好,一群人使用作案子 問題少多了36F 03/18 13:55
→ :那應該是C++內建的功能太少 所以大家都長自己的版本37F 03/18 13:56
→ :台灣絕大多數公司,要找到一群高能力的軟體RD合作,難阿...38F 03/18 13:56
→ :寫程式最重要的是經驗和前瞻性39F 03/18 13:57
→ :台灣即使人多似乎也都是灑開來用 放在一起是找死40F 03/18 13:58
推 :C++一點都不好學,當起點很痛苦41F 03/18 13:58
→ :哪怕你找到高能力rd, 你也應該儘量用較簡單不易出錯的方42F 03/18 13:59
→ :式完成你的project. 而C++並不提倡簡單直接的方式.
→ :簡言之, C++是個有心智包袱的語言, bad smell.
→ :式完成你的project. 而C++並不提倡簡單直接的方式.
→ :簡言之, C++是個有心智包袱的語言, bad smell.
推 :你的C++不簡單 不代表別人的C++不簡單45F 03/18 14:04
→ :訓練足夠的人自然能用C++寫出簡單易懂的程式碼
推 :還是一句話 兼顧效能彈性C++是目前的唯一解
→ :訓練足夠的人自然能用C++寫出簡單易懂的程式碼
推 :還是一句話 兼顧效能彈性C++是目前的唯一解
推 :Java 加入 just-in-time compilation之後就沒有很慢了吧48F 03/18 14:08
→ :如果你的領域可以接受trade off 大可以不用用C++49F 03/18 14:08
→ :我覺得C\C++的優勢是在大多的平台上都有得跑,尤其是C50F 03/18 14:09
→ :其實要跑純物件導向,C# 是最好的,但一看到 .Net 的版本51F 03/18 14:12
推 :快推 不然人家以為我聽不懂52F 03/18 14:12
→ :你光要在自己電腦上裝一卡車版本 .NET FW,人就虛掉了..53F 03/18 14:12
→ :寧可來去選 Java,起碼 JVM 不必從 1.2 裝到 1.7...
→ :寧可來去選 Java,起碼 JVM 不必從 1.2 裝到 1.7...
→ :其實C++的好壞是萬年戰文了,不會有結論的,科科55F 03/18 14:14
→ :反正會用的就是會用,我至少每月還是靠這個賺錢
→ :反正會用的就是會用,我至少每月還是靠這個賺錢
→ :C++ 至少有個好處,可以直接寫底層,57F 03/18 14:15
→ :總不可會想用 java /c# 寫個 os kernel 來開機吧...XD
→ :總不可會想用 java /c# 寫個 os kernel 來開機吧...XD
→ :jdk不也一堆版本59F 03/18 14:16
→ :差別是找不到人把 C base kernel porting 到 C++...XD60F 03/18 14:17
→ :人家在講啥你在講啥?
→ :你的電腦裡有同時裝 JVM 1.2/1.3/1.4/1.5/1.6/1.7 ?
→ :你要不要看看自己電腦裡現在裝了幾個版本的 .net fw?
→ :人家在講啥你在講啥?
→ :你的電腦裡有同時裝 JVM 1.2/1.3/1.4/1.5/1.6/1.7 ?
→ :你要不要看看自己電腦裡現在裝了幾個版本的 .net fw?
推 :Linux kernel仍然用C... 不知道最新的Win8是用啥?64F 03/18 14:19
→ :念書時學到C++非常驚豔,直到工作後才知C真是打不死蟑螂...
→ :念書時學到C++非常驚豔,直到工作後才知C真是打不死蟑螂...
→ :之前看過一篇文章,說如果要寫模擬器,千萬不要用c++66F 03/18 14:22
→ :包袱啊,誰要去改 base 重寫?只好將就一直用下去...67F 03/18 14:22
→ :寫,因為c++一些功能會耗掉很多運算資源,所以用c寫是68F 03/18 14:22
→ :其實明明以現在的規模架構,改寫成 C++ 會更好..69F 03/18 14:22
→ :最適合的70F 03/18 14:23
推 :C++的那些功能都是你可以選擇要不要用的71F 03/18 14:23
→ :你拿C++寫C-style也不會怎樣
→ :JAVA最討人厭的地方就是他強迫你中獎
→ :你拿C++寫C-style也不會怎樣
→ :JAVA最討人厭的地方就是他強迫你中獎
推 :合作案子最麻煩就在某些人用C++ Style, 某些人用C Style74F 03/18 14:24
→ :不規劃好接口,怪人家怎麼實作囉~75F 03/18 14:25
推 :所謂的Java強迫人中獎意思是?76F 03/18 14:25
→ :所以過濾合作的對象跟 SD 的定義很重要,不過台灣嘛....77F 03/18 14:25
→ :難在合作... 難道要退回叫合作廠商重寫?78F 03/18 14:26
→ :除非自己公司, 大尾到對方不靠你就不用混的程度了...
→ :對大多數非純軟體的公司,需要用C++寫大案子機會很低
→ :教育訓練這麼多人 又挺累的 還不如降低標準,用C穩穩過 XD
→ :除非自己公司, 大尾到對方不靠你就不用混的程度了...
→ :對大多數非純軟體的公司,需要用C++寫大案子機會很低
→ :教育訓練這麼多人 又挺累的 還不如降低標準,用C穩穩過 XD
推 :例如強迫你寫OO 例如不支援多重繼承82F 03/18 14:31
→ :C++就是都提供你選擇 你可以自己決定
→ :C++就是都提供你選擇 你可以自己決定
推 :Linus: C++ is a horrible language.84F 03/18 14:32
→ :或是所有開發人員一起決定在專案內要不要使用某種特性85F 03/18 14:32
→ :所謂大案子,都已經變寡佔市場,那幾家國際大廠在卯了,86F 03/18 14:32
→ :Java強迫OO中獎,能維持一個基本水準,大家共用較容易87F 03/18 14:33
→ :台灣的大案子,標公家的,一般也不過就是統包再層層分包.88F 03/18 14:33
→ :現在這個時代要搞到所謂的大專案,那都不是路邊攔就有了
→ :現在這個時代要搞到所謂的大專案,那都不是路邊攔就有了
→ :不就是混口飯吃,好用夠用就行了 ^^90F 03/18 14:34
→ :加上開發工具的進步,其實現在多數接觸的範圍都很限縮.91F 03/18 14:35
恐怖的C++語言_StackDoc
原文: Linus曾經(2007年9月)在新聞組gmane.comp.version-contr ...
原文: Linus曾經(2007年9月)在新聞組gmane.comp.version-contr ...
→ :任何一個稍微有sense的c++程式員都可以看出樓上那個連93F 03/18 14:41
→ :結惡搞的多麼刻意,連最基本的不要汙染namespace都沒有
→ :純粹是為了搞破壞而搞破壞而已,這樣任何語言都可以搞
→ :結惡搞的多麼刻意,連最基本的不要汙染namespace都沒有
→ :純粹是為了搞破壞而搞破壞而已,這樣任何語言都可以搞
推 :JAVA說 不支援operator overloading 因為怕有人在96F 03/18 14:47
→ :operator+裡實做減法
→ :可是他也沒辦法避免別人在add function裡實做減法
→ :operator+裡實做減法
→ :可是他也沒辦法避免別人在add function裡實做減法
噓 :C++當第一個程式語言只會讓初學者陷入一堆pitfall又無法掌99F 03/18 14:48
→ :台灣的資訊產業 很多人是電機出身 要他們熟C++也難了100F 03/18 14:49
→ :實際上 a+b就是比a.add(b)好讀 要惡搞 什麼語言都可以101F 03/18 14:49
→ :物真正低階語言的特性 初學者第一個語言就是該學C102F 03/18 14:49
→ :第一個語言還是學python好 學c/c++那麼痛苦幹麼XD103F 03/18 14:50
→ :光return一個object的內部原理就足以讓初學者迷茫的要死104F 03/18 14:51
→ :要學OO? 請使用Java, C#, Ruby, .....都比C++好多了
→ :要學OO? 請使用Java, C#, Ruby, .....都比C++好多了
→ :是啊 學python或ruby最適合初學者了106F 03/18 14:53
→ :變數->函數->指標->物件->物件繼承->泛型 這樣一門課搞定107F 03/18 14:53
推 :PHP也不賴 適合初學者...C Pointer已經搞死一堆人了, C++.108F 03/18 14:53
→ :如果要立志當職業程式設計師 基本功不可少 109F 03/18 14:54
推 :學習 C 還不錯吧,同時也可以多少了解硬體怎麼做事情的110F 03/18 14:54
→ :學什麼程式語言當什麼初學者,學英文卡實在啦111F 03/18 14:56
推 :C++最好是當你已經把c,組語,系統程式,Java都掌握的差不多112F 03/18 14:56
→ :再進去跳坑才能真正掌握他的一門語言
→ :再進去跳坑才能真正掌握他的一門語言
→ :也看人啦 之前上C++課 第一堂教template然後一堆人退選114F 03/18 14:58
→ :不過留下來的人 最後也是順利學得不錯 有些事看天份
→ :不過留下來的人 最後也是順利學得不錯 有些事看天份
→ :系統程式還是在刻海螺那本嗎?還是有新的?116F 03/18 15:06
推 :大部分學校都沒教系統程式了吧XD117F 03/18 15:11
推 :java跟C#開發速度的確很快 現在系統資源越來越不缺了118F 03/18 15:43
噓 :拼裝車119F 03/18 16:00
推 :恩恩跟我想的一樣120F 03/18 16:13
推 :那為啥不先學C接C# 更實用 先學C++很多都跟C衝突121F 03/18 17:10
→ :先理解程式基本邏輯語法 (學C) 再補上OO概念(JAVA C#)
→ :C++的OO設計問題很多 我也覺得必須先學正統OO再去學
→ :先理解程式基本邏輯語法 (學C) 再補上OO概念(JAVA C#)
→ :C++的OO設計問題很多 我也覺得必須先學正統OO再去學
推 :其實用C寫OO比用C++寫OO還舒服.124F 03/18 18:02
--
※ 看板: Gossiping 文章推薦值: 0 目前人氣: 0 累積人氣: 1536
回列表(←)
分享