作者Smurf (哈里欧)
看板Soft_Job
标题Re: [请益] 请问学哪个比较实用
时间Fri Feb 19 12:52:58 2010
※ 引述《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
1F:推 legendmtg:登山社社长的话随便听听就好 02/19 13:04
2F:推 IAMPF:楼上好眼熟 02/19 14:48