Re: [問題] 作為一個程式設計人員,有可以完全不碰C …

看板C_and_CPP作者 (黑暗,點綴孤零零的星)時間16年前 (2009/10/26 01:19), 編輯推噓9(9015)
留言24則, 12人參與, 最新討論串8/11 (看更多)
以下是小弟的觀點,其中若有認知錯誤,請用力鞭。m(_ _)m Reference 只是加了語法糖衣的 Pointer。 Pointer 在語言層面提供了極大的便利性和彈性給程式開發者, 但是也把安全性的責任留了程式開發者,這是 trade-off。 反 Pointer 者通常也是針對安全性在鞭。 (只想享受好處卻不願意付出嗎?(/‵Д′)/~ ╧╧) Reference 在語言層面提供了安全性,但也犧牲了彈性, C++、Java 皆然。 就像原文推文中 tinlan 大所說的「功能被閹割」。 前面我貼了「爪哇學校的危害」http://0rz.tw/g3JZo, (文中觀點本人並不完全贊同);後來發現其實我該貼的是 另一篇:「給資訊科系學生的建議」http://0rz.tw/fc5jc。 主要是要推第二要素中的一句話: 你至少要花一學期去貼近機器, 否則你永遠無法用高階語言寫出有效率的程式。 Pointer 跟 Function Pointer 有什麼好?如果原 po 沒有親自 去體會,我想板友們就算說破了嘴你也不會有感覺。 linux kernel 太大了點,負荷太重 XD,我比較建議上 SourceForge http://sourceforge.net 去找一個原 po 感興趣的主題且稍具規模的程式的 source code 下來啃。 其實光啃別人的 source code 也不夠,最好是自己用 C 寫一個稍具規模 的程式,那個體會才會深刻。(不說用 C++ 是因為有 Reference) 以小弟的工作領域(LCD-TV)為例,其中有 RTOS + Device Drivers + OSD, 裡面真的是指標 everywhere,要是沒有指標,我很難想像 code 會是 長什麼樣子。XD ==[題外話分隔線]====[題外話分隔線]====[題外話分隔線]====[題外話分隔線]== 題外話一 最近入手了 HTC Hero,正重拾 Java 中,想玩玩 Android SDK。XD 我是唸 EE 出身的,C++ 與 Java 都是工作之餘自己啃,只是 Java 荒廢已久。囧 題外話二 原 po 來自香港?10/1 ~ 4 我有去香港玩,是個好地方。:) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.137.34.102 ※ 編輯: saxontai 來自: 114.137.34.102 (10/26 01:22)

10/26 01:25, , 1F
推這句 Reference 只是加了語法糖衣的 Pointer。
10/26 01:25, 1F

10/26 01:26, , 2F
推一個,不過android, 你可能都需要用jni。否則可能
10/26 01:26, 2F

10/26 01:26, , 3F
推s大的方法:)
10/26 01:26, 3F

10/26 01:27, , 4F
跑起來會很痛苦~除非是純UI。 以上 聽來的!
10/26 01:27, 4F

10/26 01:36, , 5F
別擔心所有工作都會外流到印度 <<<這個不能理解
10/26 01:36, 5F

10/26 01:59, , 6F
那個不需要理解,反正我們不是在美國。XD
10/26 01:59, 6F

10/26 02:00, , 7F
因為印度可以是國際上的軟體外包中心,培育出很多中上等級Coder
10/26 02:00, 7F

10/26 08:39, , 8F
問一下Reference失去彈性那句話什麼意思?
10/26 08:39, 8F

10/26 10:07, , 9F
恕我無知的問一句,在您所推薦的那篇文章中有提到
10/26 10:07, 9F

10/26 10:08, , 10F
在畢業前要把C學好,而且不是C++
10/26 10:08, 10F

10/26 10:08, , 11F
為何此篇的作者會如此堅持?難道C++無法和C一樣
10/26 10:08, 11F

10/26 10:08, , 12F
接近底層的東西嗎?
10/26 10:08, 12F

10/26 10:11, , 13F
Reference 失去彈性是因為只能固定指向同一物件。
10/26 10:11, 13F

10/26 10:14, , 14F
我不知道 Joel Spolsky 為何堅持說用 C。而我自己文中說
10/26 10:14, 14F

10/26 10:16, , 15F
用 C 而不是 C++ 的原因是不讓你有 Reference 可以用。
10/26 10:16, 15F

10/26 11:06, , 16F
However, some languages, and especially some *mental*
10/26 11:06, 16F

10/26 11:06, , 17F
baggages that go with them are bad.
10/26 11:06, 17F

10/26 11:06, , 18F
這話不是我說的 要吵架的也不要找我(逃)
10/26 11:06, 18F

10/26 11:45, , 19F
Joel 根本就討厭 C++ 吧?
10/26 11:45, 19F

10/26 11:51, , 20F
我也有這種感覺耶。XD
10/26 11:51, 20F

10/26 12:25, , 21F
這樣我大概就明白了XD
10/26 12:25, 21F

10/26 15:02, , 22F
linus也討厭C++
10/26 15:02, 22F

10/26 15:08, , 23F
我覺得C++是個很難駕馭的大怪物...XD
10/26 15:08, 23F

10/26 17:40, , 24F
原PO'強者
10/26 17:40, 24F
文章代碼(AID): #1Av8YyKi (C_and_CPP)
討論串 (同標題文章)
完整討論串 (本文為第 8 之 11 篇):
文章代碼(AID): #1Av8YyKi (C_and_CPP)