免费注册 查看新帖 |

Chinaunix

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

[C] 我决定将C++当做带Class的C来用~~ [复制链接]

论坛徽章:
0
11 [报告]
发表于 2014-06-27 11:03 |显示全部楼层
本帖最后由 幻の上帝 于 2014-06-27 11:25 编辑

回复 59# __BlueGuy_


起码比C#省点new啊Func啊什么的是家常便饭。
说起来,C#能随便做到
void foo(int a, int unused)
{
  baz(a);
}
void bar(int a)
{
  baz(a);
}
Event<void(int, int)> evt;
evt += foo;
evt += bar;
么。

论坛徽章:
0
12 [报告]
发表于 2014-06-27 11:12 |显示全部楼层
本帖最后由 幻の上帝 于 2014-06-27 11:27 编辑
__BlueGuy_ 发表于 2014-06-26 22:34
其实,OO是非常优秀的程序思想,只是多数公司或是程序员个人根本承受不了繁琐的对象分类。或许也没有那个必 ...

OO要说思想也就抽象设计上稍微有点用,OOP基本就和A.Stepanov说的一样是a hoax。
关键是object是啥都没共识,每次要用都得先参照小圈子里的定义。这样折腾下来也就一些设计方法换汤不换药了。
分类根本就不是个事,问题是分类错了怎么办?静态类型实现的class-based OO,可修改性相当拙计。
GObject——GTK+依赖的专为OO提供的部分——基于也就只是这一个流派的一种蹩脚实现而已。而这里的经典实现就是C++。除去写起来麻烦不论,GObject还有自己的明显的实现技术上的缺陷,比如不要指望能像C++那样devirtualization。
就算控件不是真实存在的,WIMP背后的metaphor可是物理世界中能一一对应的东西。
你要把OO当代码组织方式就是取其糟粕去其精华了。

论坛徽章:
0
13 [报告]
发表于 2014-06-27 11:15 |显示全部楼层
folklore 发表于 2014-06-26 22:49
回复 56# 幻の上帝
你可以说OO本来的愿望是好的,但是实际上出来的OO就不怎么样了。
这里我之外提到的OO都跟OO之父的预想不怎么一样,讲清楚这个之前也没法评价OO整体上到底好在哪。
“面向过程”?大概你看到某些劣质材料反刍的东西了吧。成气候的只有“过程式”没什么“面向过程”的玩意儿。OOP根本不排除过程式,如果没有过程都没法组织代码。至于OO本身倒是对这个无所谓的。

论坛徽章:
0
14 [报告]
发表于 2014-06-27 11:17 |显示全部楼层
本帖最后由 幻の上帝 于 2014-06-27 11:25 编辑
__BlueGuy_ 发表于 2014-06-26 23:51
C与C++最本质的区别就是语法不同。
程序员首先要明白的一个基本常识就是技术跟语言没关系,GTK就是最好的例 ...

又是一个失足的。
首先你就没搞明白语法(syntax) 是什么。
程序员要明白的基本常识除了这点外,还必须明确——语言会给你一坨语义,这不是语法的内容。就算你想要的语义跟语言给的没关系,只要你用了这种语言就得清楚。
不明白C的语义(以及如何hack)根本撸不出来GTK+。

论坛徽章:
0
15 [报告]
发表于 2014-06-27 11:19 |显示全部楼层
__BlueGuy_ 发表于 2014-06-26 23:59
很多人这么用,说明这种使用方式能够很好的解决当前问题
你所谓的真正的C++不是必须要懂的,真正的C++不 ...
很多人自认为能很好的解决当前问题,却不知道同时是在给别人制造本来可以避免的问题。
所以这些“很多人”的“解决”问题的过程本身的价值就值得怀疑了:你咋保证他们制造出来的问题不比真正被解决了的问题更麻烦呢?

论坛徽章:
0
16 [报告]
发表于 2014-06-27 11:24 |显示全部楼层
windoze 发表于 2014-06-27 00:06
回复 61# __BlueGuy_

你拿SQL给我实现个OO试试?OO和非OO随时随地互换?你这是在逗我?
真有拿SQL撸OO的,比如:
www.slideshare.net/billkarwin/practical-object-oriented-models-in-sql
另外还有些杂交,比如:
http://en.wikipedia.org/wiki/Object-PL/SQL
说实话对于描述数据抽象的语言来说凭空造个OO可能还是撸个Dijkstra更难点……

论坛徽章:
0
17 [报告]
发表于 2014-06-30 16:41 |显示全部楼层
回复 74# zhaohongjian000


脑补过头了。
单纯看蠢货不爽罢了。有些东西不管我会不会去用,看见有人拿着瞎添乱污染环境就恶心。
而正因为连语法语义这种起码的常识都搞不清楚还瞎折腾(不管是不是体现逼格),所以有必要当头棒喝而已。
实践派继续强调语言是工具?
不好意思,我还没见过真有底气有能耐纯粹贯彻“语言是工具”的这种人出生呢。管你怎么实践,到最后要么是一脚踹开,要么就是把自己绕进去死路一条。

论坛徽章:
0
18 [报告]
发表于 2014-06-30 16:46 |显示全部楼层
回复 79# __BlueGuy_

看,提不起哪壶了吧。
你要讨论游戏就得开新主题拉游戏界的人来peer review,这边说了也白搭。
拉不了的话,好歹也得说说怎么战翻同类游戏什么的啊。
“主要矛盾”?“研发方案”?啥玩意儿?KOF哪个版本都lua实现的?

论坛徽章:
0
19 [报告]
发表于 2014-06-30 16:58 |显示全部楼层
zhaohongjian000 发表于 2014-06-27 12:05
无责任猜测:不少程序员对于所使用的工具的执迷源自于学习过程付出的巨大代价。当一个人付出极大代价来获取 ...

补两句。
不只是学习过程,使用过程也算。就像yinwang噗“黑客文化”说的有些人就喜欢“择其难者而从之”一样。也就是说,还不是付出代价在先——可能一开始有意无意地就把追求逼格当成根本目的了。所以,“学习难度大”跟“铁杆”其实没什么关系。倒是和外强中干的比例有关——难度大了,学全面的自然少了,哪些坑没填就容易被暴露,顺便容易被婊,更加精彩。
语言律师……你见过多少么。一般来说他们都在忙着艹wording呢,哪有空辩论原则问题啊……你要搞清楚律师不是伦理学家。
至于是不是××本身范畴(其实无关语言)内解决问题,自然是取决于问题本身了,拖得够久的话不管谁最后都会被现实逼着做出类似的选择。没必要扩大外延的东西干嘛要把其它领域搞得鸡犬不宁呢。
嘛,从一个极端走向另一个极端本身也就是loser了。hater主要还是天然黑居多。Linus Torvalds为了扮演的hater吃过多少亏呢。

论坛徽章:
0
20 [报告]
发表于 2014-06-30 16:59 |显示全部楼层
回复 82# zhaohongjian000


    别水。回哪楼的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP