作者tomex (tomex_ou)
看板C_Sharp
标题Re: [讨论] C#和C++
时间Wed Dec 7 23:30:24 2005
※ 引述《wttmama (西瓜)》之铭言:
: 我想请问…在现在.net的出现後…
: 未来c++还会继续成长吗?
: 因为,目前知道的C++可以直接控制native部份
: 而C#是透过Framework
: 目前的它们,是会一起存在吗?要方便,快速,用C#
会一起存在。
: 要执行效率…控制更细节的地方用C++
: 那未来呢?感觉M$目前是全力发展.NET了
: 那C++在未来,会有什麽变化吗?
.Net是未来趋势,而c++也不会没落
因为彼此的市场区场是不同的。
c++要自行管理记忆体,但有高效率的记忆体使用
而c#方便且具安全性执行,是快速开发的良药。
我是先学c#,因工作需要,目前是学习使用c++开发的,
但我的设计脑子却全是c#的物件开发理念,
例如,我认为指标是一种型别,而不是一种变数
因此宣告时把*写在型别旁边,如 int* abc;
任何程式,我都写成class来控制,虽然很多状况只要用method就可完成
但为了方便未来使用,坚持写成class。
绝不用#define这种全域的宣告,而是尽量用const或是结构来记忆变数名称
另外变数名称绝对又长又清楚,绝不像MFC函式库般全是晦暗不明的缩写。
又臭又长的变数名,在写程式时很不方便
但为了方便未来debug及交接,我个人自我坚持这样的写法。
用c++实作底层的程式,让我更了解c#物件背後的机制
在使用c#时,往往比较快速能推理物件间的关系
所以c++这样土法炼钢的作法,对练功很有帮助。
在c++版有很多厉害的前辈,他们能用简单也多变化的语法写成想要的功能
并且认为c++是很富想像力的好语言,
但我认为一个新手是很难完善阐述c++的灵活,即使用了也很危险
容易用错,或者阅读的人也容易搞错,
这样相互折磨的作法,岂是现在软体重视快速开发的捷径?!
c#的作法及理念,才是真正软体工程的理想。
透过统一底层的安全型别,任何新手都不容易犯错,且能写出安全的程式!
这也是为何现在大专资工系老师都教java,或不用c++的原因
(但也可能是理论派老师不会善用c++强大之故 :)
我现在也喜欢c++,尤其愈能了解它的灵活性,
但我不迷信它,我常用新手的观点去看待它的危险处,
因此,我还是觉得c#是比c++好的,
假如不是,不会有人闲闲没事干要发明c#的!
--
贯彻分享精神
我为人人,人人为我
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.119.20.171
1F:推 ithinkurdumb:MFC的那些缩写名字真的是地狱.... 12/07 23:33
2F:推 tomex:最气的是现在人学它,也跟着不变通而用其缩写,更惨! 12/07 23:53
3F:推 cplusplus:指标本来就是一种型别了呀 还有C++跟C#底层的class实作 12/08 02:42
4F:→ cplusplus:不同 可参考Essential.NET&Inside the C++ object model 12/08 02:42
5F:→ cplusplus:C#真的也很棒 效率上也有很多用心的地方 有语法上的支援 12/08 02:44