免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: zimang
打印 上一主题 下一主题

习惯使用C,现在学习C++,感觉好不自由  关闭 [复制链接]

论坛徽章:
0
51 [报告]
发表于 2009-08-19 00:43 |只看该作者
告诉你吧,起初我对C++的热情比你还高呢,曾多次赞叹 C++ 真伟大。
可是,自从做了几个复杂项目后,就看透C++这个东西了,就不喜欢它了。

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
52 [报告]
发表于 2009-08-19 01:21 |只看该作者

回复 #50 zwq132435 的帖子

原帖由 zwq132435 于 2009-8-19 00:39 发表
所以说,你只停留在对概念的理解和记忆的层面上,实战运用经验没有呀。


我是没什么实战经验, 那种代码工人似的工作我没什么兴趣。
说真的, 你还有什么实战经验吗?  传授传授?  最好是能体现“编程艺术”的, 而不是打字。

以你现在透露的部分来看:
1. 你选择了使用C++开发(或者别人选择的, 但你没能阻止)
2. 你使用了C++的特多特性(说实话, 真没一个我看得上眼的)
3. 你最终成功了, 但让你花费了太多心神

所以你恨它, 你需要找一个发泄点。


这关C++什么事? 他强迫你了吗?
你不懂C++, 就不要选他做开发。 team决定了, 你要么自己补习, 要么退出。 如果你想划水, 记住错在你自己。
你不懂C++的某些特性, 就不要去用。 你忍得住吗?  看来你没忍住。
google和mozilla都有相关的code guide。  你可以看一下, 但我觉得他们对C++裁剪得太多。

说白了, “不从自身找原因, 委托责任” 这是大部分人的心理, 你也没能幸免。
继续参考42楼。


btw:
其实我已经很久(至少半年)没写“纯C++”代码了, 大部分时候都在写“Clean C”代码。
但是, 如果我需要, C++就可以为我提供帮助。

如果我需要资源管理, C++可以提供RAII。
看看那个“嵌套if”的贴吧,在C++中,这简直不应该成为一个问题,如果觉得编写许多RAII类麻烦, 可参考Loki::ScopeGuard

如果我需要设计, C++可以提供函数重载。
posix接口我不熟悉, 但是windows API中,如果能使用重载机制, 绝对更容易理解, 更不易出错。
并且, 这和C API并不矛盾。 同名函数中, 可以有一个是 extern "C",其他全是 extern "C++"来构成重载。(参考 <<imperfect c++>>)
基类? 继承? 虚函数? 我说过, 我对OO不感冒, 也没把设计模式这些玩意看得很高。

我觉得C++中对设计很有帮助的机制就是重载。
很多API如果能使用重载机制, 就不会被设计得这么不易理解。

如果我需要效率, C++可以提供多种编译时分派技术。(参考《C++模板元编程》)
如果我需要代码生成器, C++可以提供template来生成强类型的generic代码。(参考《C++ Templates》)


我确实没做过什么我觉得拿得出手的项目。 我写过的代码, 过段时间看都觉得很次。
但为什么我能学到”规避“C++中的雷区, 让C++"为我所用", 而你学不到?
是我不学习还是你不学习?  是我没批判还是你不会批判?

我对C++的批判你有兴趣可以在CU上搜, 但是不多, 因为你这样的人太多了。

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
53 [报告]
发表于 2009-08-19 01:31 |只看该作者

回复 #51 zwq132435 的帖子

原帖由 zwq132435 于 2009-8-19 00:43 发表
告诉你吧,起初我对C++的热情比你还高呢,曾多次赞叹 C++ 真伟大。


热情?  就你透露的那部分技术, 不是我打击你, 我真没一个看上眼的。
连template都不提的人, 也谈得上热情, 也能赞叹C++伟大, 我真是服了你了。
不但井中蛙, 还是容易满足的井中蛙。


原帖由 zwq132435 于 2009-8-19 00:43 发表
就看透C++这个东西了

兄弟, 你能不能不要说这种恶心话了?  你以为这能显示你很能吗?
其实只能显示你无知。


我上面提到的那几个需求, 你要是能拿出一个不使用C++的优雅方案, 我就服你。

论坛徽章:
0
54 [报告]
发表于 2009-08-19 01:48 |只看该作者
to  OwnWaterloo :

你总说看不上眼那个这个的,不是我笑你,你对那个这个都理解不深的。
我没用template做过项目,但我还是不屑于学它,为什么呢?你知道么?

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
55 [报告]
发表于 2009-08-19 01:51 |只看该作者

回复 #54 zwq132435 的帖子

原帖由 zwq132435 于 2009-8-19 01:48 发表
to  OwnWaterloo :
你总说看不上眼那个这个的,不是我笑你,你对那个这个都理解不深的。
我没用template做过项目,但我还是不屑于学它,为什么呢?你知道么?


你学了又能怎样? 以你这种心态学, 做多少项目也学不会控制template的复杂度。

论坛徽章:
0
56 [报告]
发表于 2009-08-19 01:52 |只看该作者
好了,到此为止吧,再聊就有火药味了,呵呵
还是那句话: 搞科学研究,不但要虚心,还要有批判精神,这两者不矛盾。

论坛徽章:
0
57 [报告]
发表于 2009-08-19 01:58 |只看该作者
OK,马克

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
58 [报告]
发表于 2009-08-19 02:01 |只看该作者

回复 #56 zwq132435 的帖子

原帖由 zwq132435 于 2009-8-19 01:52 发表
还是那句话: 搞科学研究,不但要虚心,还要有批判精神,这两者不矛盾。


这话是否你留着比较合适?

同时, 批判 != 怨妇; 批判首先是自我批判。
这话你还是留着吧~~~


原帖由 zwq132435 于 2009-8-19 01:52 发表
好了,到此为止吧,再聊就有火药味了,呵呵

同意, 前半部分。

火药味么, 你说话除了有点自大, 还不刺人; 擦不出我的火的。
只是和你这样争论觉得无聊, 知道为什么吗?

和一个已经对C++彻底厌恶的人谈C++   —— 对牛弹琴。

论坛徽章:
0
59 [报告]
发表于 2009-08-19 08:15 |只看该作者
waterloo的观点也是我的观点,C++提供了很多选择,但是很多人还是在c语言的思维下使用c++。很多特性难不是难在怎么学会去使用它,二十学会怎么去“适当”的使用它。所有特性的选择是为了让设计更加简洁明了,可扩展性高,zwq132435你那个复杂的继承图,我只能说你的设计一定有问题。你要做的不是怎么用尽量多的“特性”把工作完成,而是要思考怎么尽量把结构简单化,一般来说通过增加中间层次作为过渡,可以避免很多交叉继承的问题。我用多年了,深有感触的一点是在设计初期怎尽量在概念上明晰的表现出各种关系甚至比算法更重要,清晰的结构往往可以为以后的维护省下很多经历,因为说实话,一般的程序员需要的算法都有现成的提供,所以更多的考虑因该是在结构上。

waterloo,请留下一个联系方式吧,我觉得你这个人靠普。

论坛徽章:
1
天秤座
日期:2014-01-13 14:21:53
60 [报告]
发表于 2009-08-19 10:03 |只看该作者
看贴学习

[ 本帖最后由 yesBSD 于 2009-8-19 10:05 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP