Re: [請益] 請問學哪個比較實用
※ 引述《remmurds (雷穆爾德‧小一)》之銘言:
: ※ 引述《Smurf (哈里歐)》之銘言:
: 推文好麻煩哩,乾脆直接回一篇。
: : 謝謝這位大大的建議
: : 我目的只是想熟悉C++...我本身C++還OK
: : 有寫過multi-threaded socket server-client 和 opencv + boost 的影像索引程式
: : 用一陣子的C#和Java後 發現高階語言實做的一些功能都是從C/C++來的
: 很好奇你是怎麼得出這個結論的?願聞其詳。
: : 像是C#的delegate和Java的ArrayList和LinkedList之類
: 你舉的這些例子都跟C++「沒有太多關係」,function point和arraylist都不是C或
: C++特有的專利,至於最後一個例子Java的LinkedList更是不知所云,那純粹是Java把資
: 料結構中常提到的其中一種鏈結形式封裝成可以直接拿來使用的類別,事實上幾乎任何
: 語言都可實現,這也不是C或C++的專利。「高階語言實做的一些功能都是從C/C++來的」
: 這說法根據的究竟是什麼?願聞其詳。
: 當然,如果你是在說語言風格的話,那是對的。Java受到了C++的影響、C#受到Java
: 的影響。不過程式語言的演變本來就是如此,鮮少語言能夠置身事外。而且這也跟你所說
: 的下一段話八竿子打不著。
: : 要了解效能和原理還是要會C++...所以想好好的學C++配合OS的程式
: 如果你真的這麼想,那你還是搞錯學習方向了。如果你真的想了解效能和原理,那你
: 學習的重點應該是演算法與管理策略(恐龍書會是你的好夥伴),而不是執著於哪一種程式
: 語言吧。想想看為什麼那票躲在學術界象牙塔中的叫獸很多都不會寫程式,你會更了解我
: 在說什麼。
: : 這些書看起來都不錯 我先學network programming好了 至少之前有點基礎
: : 感恩!!
我表達能力不夠好 讓大大誤會了 想學C++是因為我想知道封裝的實作細節
例如Java的ArrayList其實就是先預設一個size
超過這個size要重新配置 所以元素太多時用ArrayList效能會降低
LinkedList的實做就是Double Linked List資料結構 要用哪個視情況而定
delegate是從Observer Pattern演變而來
把Observer Pattern的通知者和觀察者耦和消除 用哪個也是視情況而定
演算法我涉獵的比較少
只知道複雜度的算法 用排序和Divide&Conquer增進程式效能
分析法和Dynamic Programming和其他的方法我還不太會實做 我覺得很難 可能我比較笨吧
學Windows programming是因為想知道OS層的東西
PS. 某推文說整天寫程式是沒搞頭的 軟體工程師不鑽精程式 那有甚麼比較務實的建議嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.121.7.210
推
02/19 13:04, , 1F
02/19 13:04, 1F
推
02/19 14:48, , 2F
02/19 14:48, 2F
討論串 (同標題文章)