免费注册 查看新帖 |

Chinaunix

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

[C] 学生为什么搞不懂C语言?不论是对于老师还是学生自己,这通常是一个谜 [复制链接]

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
31 [报告]
发表于 2012-12-01 15:43 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
32 [报告]
发表于 2012-12-08 09:47 |只看该作者
Ager 发表于 2012-12-01 15:38
这可能应了贵作封底E.W.Dijkstra的那句话 —— “把良好的编程风格教给那些之前曾经接触过BASIC的学生几 ...


8年够长,我那时学basic学了2,3年,每天必去的地方就是机房,对着8088 8086玩儿,连286都没有,后来还获个什么计算机奖
这么一说,我对C也十分恐惧,也没学好,难道先入为主的basic真也有关系?

论坛徽章:
8
CU大牛徽章
日期:2013-04-17 10:59:39CU大牛徽章
日期:2013-04-17 11:01:45CU大牛徽章
日期:2013-04-17 11:02:15CU大牛徽章
日期:2013-04-17 11:02:36CU大牛徽章
日期:2013-04-17 11:02:58技术图书徽章
日期:2013-12-04 10:48:50酉鸡
日期:2014-01-03 10:32:30辰龙
日期:2014-03-06 15:04:07
33 [报告]
发表于 2012-12-08 11:14 |只看该作者
本帖最后由 shan_ghost 于 2012-12-08 11:15 编辑
Ager 发表于 2012-12-01 15:38
这可能应了贵作封底E.W.Dijkstra的那句话 —— “把良好的编程风格教给那些之前曾经接触过BASIC的学生几 ...


其实……国内的教育本身,不就是BASIC吗?

黑体字,死概念……知识从来没有自己“动”起来过,他们也从未发现过还有更小更基本的知识自动衍生出“高级”知识的情形——即使有,那也不过是另外一行黑体字而已……



就好象你这个“范围”的例子:原因就是,他们从未被引导着去追根究底——比如,“范围”是如何用更小、更简单的东西实现的——所以就只能固执的认为范围就是范围,范围就是不可拆解的最小概念。

而且,对很多情况来说,死记硬背下“for里面的xx就是个范围”这行黑体字,已经足够他们答题/考试/得高分了。

当然,这样一来,除非明确告诉他们“XX功能用如下N行代码实现”,然后让他们欣欣然死记硬背下来,也别无他法了。

可惜,写程序从来就不是死记硬背——这也是面向对象、UML等等会在国内迅速流行并变异,最终成为一害的缘故。因为他们太需要这样的一根拐杖了。

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
34 [报告]
发表于 2012-12-08 11:22 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
8
CU大牛徽章
日期:2013-04-17 10:59:39CU大牛徽章
日期:2013-04-17 11:01:45CU大牛徽章
日期:2013-04-17 11:02:15CU大牛徽章
日期:2013-04-17 11:02:36CU大牛徽章
日期:2013-04-17 11:02:58技术图书徽章
日期:2013-12-04 10:48:50酉鸡
日期:2014-01-03 10:32:30辰龙
日期:2014-03-06 15:04:07
35 [报告]
发表于 2012-12-08 11:29 |只看该作者
本帖最后由 shan_ghost 于 2012-12-08 11:31 编辑

嗯,其实我最早接触的也是QBasic。

但我的情况比较特别:书是跑一家打印店才有机会看到的,同学在那里打工。也就看了一下午,然后回去琢磨了一个月,想通了如何用那些简单的加减乘除赋值判断实现游戏……

再往后,就是到学校机房上机了……后来大家都玩一个叫tt的打字游戏,我说太差了,按下键不松手,字母就不会继续下落,然后找到对的键按下就算成功输入,掌握这个窍门傻子都能拿到高分。于是我花了一下午时间用QBasic实现了一个没有这种bug的mytt……然后大家就都不玩了……

至于后来改C,半点痛苦都没有:我想在当时的386或586上玩全屏无闪烁动画,而QBasic不行,毕竟是解释型语言,怎么搞都闪的厉害。于是改用C,世界一下子开阔了……

这可能是因为,我从一开始就知道“我想做什么”,然后扭曲语言来达到我的目标(我才不管这种做法是不是该语言的常用手法呢,能达到目标最大),如果该语言做不到,我也要探到它的边界,知道为何做不到、需要满足什么条件或者换用什么语言才能解决;而不是先去学“什么用xx语言怎么做到”,然后扭曲自己的想法去适应语言,最终得到一个近似实现,还以为“电脑只能这样”。

论坛徽章:
0
36 [报告]
发表于 2012-12-08 11:30 |只看该作者
回复 33# shan_ghost


    教育的是方法的问题,和计算机语言是完全两个概念,混不到一起去

你可以批判中国教育,但扯到面向对象和uml上,会显得无知,令人生厌

分层思想是计算机科学的基本思想,对计算机语言的进行分层,才有了低级语言和高级语言,功能不同,使用方法不同,适用领域不同。抽象度更高的uml不仅用于计算机,其他领域也可使用。

不要混淆使用者的水平和使用对象本身存在的合理性

论坛徽章:
8
CU大牛徽章
日期:2013-04-17 10:59:39CU大牛徽章
日期:2013-04-17 11:01:45CU大牛徽章
日期:2013-04-17 11:02:15CU大牛徽章
日期:2013-04-17 11:02:36CU大牛徽章
日期:2013-04-17 11:02:58技术图书徽章
日期:2013-12-04 10:48:50酉鸡
日期:2014-01-03 10:32:30辰龙
日期:2014-03-06 15:04:07
37 [报告]
发表于 2012-12-08 11:39 |只看该作者
darrenlee3 发表于 2012-12-08 11:30
回复 33# shan_ghost


这也是面向对象、UML等等会在国内迅速流行并变异,最终成为一害的缘故

嘿嘿,你肯定没看到变异俩字,也没看到过被那些被面向对象“高”人折腾成屎的代码……

论坛徽章:
0
38 [报告]
发表于 2012-12-08 11:51 |只看该作者
shan_ghost 发表于 2012-12-08 11:39
这也是面向对象、UML等等会在国内迅速流行并变异,最终成为一害的缘故

嘿嘿,你肯定没看到变异俩字, ...


不好意思,确实没看到变异俩字。Sorry!

OO有时确实过于复杂,没文档没uml分析起来非常累人,
不像函数式的语言,只要算法和原理明白,源代码都比较容易看懂

过度设计。。。。。。。。。。

论坛徽章:
8
CU大牛徽章
日期:2013-04-17 10:59:39CU大牛徽章
日期:2013-04-17 11:01:45CU大牛徽章
日期:2013-04-17 11:02:15CU大牛徽章
日期:2013-04-17 11:02:36CU大牛徽章
日期:2013-04-17 11:02:58技术图书徽章
日期:2013-12-04 10:48:50酉鸡
日期:2014-01-03 10:32:30辰龙
日期:2014-03-06 15:04:07
39 [报告]
发表于 2012-12-08 12:05 |只看该作者
本帖最后由 shan_ghost 于 2012-12-08 12:12 编辑

至于UML,你知道有这样一种玩法吗:

1、听领导指示要做什么,把领导提到的每个东西都画到UML图里
2、里面的每个图标就是一个class
3、里面的每条线就代表一个方法
4、美其名曰“对象发现方法论”
5、用UML工具导出为code
6、码农们,来填空吧
7、鄙视码农:UML太厉害了,已经有报道说代码也能自动生成,连填空都不用了。你们软件蓝领会被机器替代的……

我见过不少这种项目。比如一个做了两年半还没完成,据说耗资有5000多万。而且其中部分“疑难”模块还是外包给hw的……
后来偶在另一家公司,和另外两个同事用了大概一周时间就完成了那个5000万做不到的东西(嗯嗯,业务核心部分,我们三个都不会搞美工,所以界面是个白板)。

论坛徽章:
8
CU大牛徽章
日期:2013-04-17 10:59:39CU大牛徽章
日期:2013-04-17 11:01:45CU大牛徽章
日期:2013-04-17 11:02:15CU大牛徽章
日期:2013-04-17 11:02:36CU大牛徽章
日期:2013-04-17 11:02:58技术图书徽章
日期:2013-12-04 10:48:50酉鸡
日期:2014-01-03 10:32:30辰龙
日期:2014-03-06 15:04:07
40 [报告]
发表于 2012-12-08 12:07 |只看该作者
darrenlee3 发表于 2012-12-08 11:51
不好意思,确实没看到变异俩字。Sorry!

OO有时确实过于复杂,没文档没uml分析起来非常累人,


OO的重要目标之一是:代替文档,让行家一看就知道做什么。

所以,没有文档就看不懂的OO代码,八成就是变异过的……
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP