标准下载论坛

 找回密码
 注册
搜索
热搜: 活动 交友 安全
查看: 390|回复: 7
打印 上一主题 下一主题

转一篇贴子,让我思维很乱

[复制链接]
跳转到指定楼层
1#
发表于 2011-11-3 01:46:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
毛主席其实比现在世界上绝大多数人更懂电脑

在电脑软件的开发思路上,以前是面向过程的。后来,都改成面向对象了,这二者有什么区别呢?

面向过程,就是在电脑软件中描绘对象属性发生变化的几种操作,并不关注于对象本身。对象的属性是怎么样的,系统不关心。这种系统容易写,但非常脆。因为你不可能把属性改变的所有操作都设计出来,当发现有新的操作了,就要重新增加,不断的修改系统。做体系的对这一点很熟悉吧,不停的修改程序文件。而最终程序文件竟然没人看。

面向对象,就是把世界上所有的东西,都视为对象,关注对象本身属性。当对象状态改变了,必然是某个属性改变了。系统只要判断这种修改是不是合法的就可以了。这种系统的本质就是在电脑中架构一个真实的世界。在工厂里,对一个操作,一个过程,一件产品等对象,其状态变化是否合一定的规则,多检查对照,就保证了后面的状态是否正常。

面向对象写出来的系统,更成熟更强壮,更有逻辑性。对于软件开发人员来说,软件语言的掌握是其次,而面向对象这种开发思路的领悟,才是重点。中国现在很多开发人员图快图省事,还在采用面向过程的开发思路。做管理的也是这样,以为搞一个体系就完事了。

用个最简单的例子,比如说,你的银行账户上突然多了一个亿,而你每个月薪水才5000块,用面向对象的思路,那么这个属性的变化肯定就是非法的。而用面向过程的思路,系统就没法判断这个操作到底是怎么回事了。

当毛主席构建中国政府这个巨大的系统的时候,他直接采用了面向对象的设计思路,直接管理政府官员的属性,而不是搞什么完善制度的管理。

完善制度管理的思路,其实就是面向过程的思路。过程是描绘不全的,制度是不可能完善的,而官员的属性是可以描绘清楚的。婚姻状况,财产状况,这些都是属性,属性发生了变化,而这个变化不在合法规则内,那么他们就肯定有问题。

西方的法制不论是海洋法系,还是大陆法系,其实都是条框式的,看起来正如一堵墙,碰了就头破血流。但实际上法律是死的、硬的、僵化的,执行者、取证者、辩护者却构成一张大网将弱势群体弹来弹去,事实上西方现代法律自拿破仑制定法典至今,还从未有过法律健全过的年代,原因就是法律根本无法健全,除非法官律师法警全部成为一个个不吃人回扣不拿人好处完全按照条文来的僵尸。

毛主席那时候,电脑还没有普及,互联网更是没影,但如果他到了现在,就可以立刻发挥电脑信息化的全部威力,因为他才是真正懂电脑的人,他懂的是怎么用电脑的思路,即使在目前的中国,恐怕没几个人能明白电脑真正的威力。

在处理信息里面,最令我佩服的是香香解四人过河,这里涉及到大量计算的笨事交由电脑去完成,完全推翻了什么能人15条定律。
2#
发表于 2011-11-3 01:46:25 | 只看该作者
写的很扯淡,无逻辑
3#
发表于 2011-11-3 01:46:31 | 只看该作者
任何事物的道理都是相通的,不就这么一句话
4#
 楼主| 发表于 2011-11-3 01:46:37 | 只看该作者
也来谈那个数学题的解法 (作者: 数学)

数学题就是:一个没有盖的长方体,在表面积给定为80(当然是不包括上盖)的情况下,选择怎样的长宽高使得其体积最大呢?如果有盖,答案当然是正方体。而现在是没有盖,答案原本应当是半个正方体的。但是,要证明这样的事情很费劲。不想费这样的脑子。如果要我来解决这个办法,我会做如下的事情。

假设这个长方体的底是一个正方形。这个假设是合理的,是因为正方形的边长和面积之比在各种矩形中是最小的。因此假设这个长方体的底边的长和宽为b和c,当然b=c。假设长方体的高为a。

现在已经限制住了表面积是80。因此,我把这个80除以10000,就是说分成一万份,当然,同样的理由也可以分成一百万份,一亿份,等等。我令d=80/10000,作为一个表面积的基本单位。

然后,首先我假设底边的表面积为s,并让s=d。当然,在这种情况下,底边的边长b和c也就能够计算出来,就是s的开平方。而高a当然也能够计算出来,就是长方体的周边的面积,即2乘a再乘b+c,而它等于80-s,因此算出a等于(80-s)除以4倍的b(或者c)。然后我计算这样得到的长方体的体积,就是a乘b乘c。

当然,这是一种表面积为80的这样的长方体的体积。一共有多少种呢?我每次让底边的表面积s增加一个d,再重新算出相应的a,b,c,这样,我让s从d一直变化到80-d,也就是说,算出近一万种长方体的体积,从中间找出体积最大的一种。

当然,这要是让人来算,那就累死了,不说别的,光说每一个方案要计算一次开平方,如果不是有计算器,如果我们正处于六十年代,开平方用纸来算就是特别累的事情。

但是现在我们有计算机来帮助我们做这件事情,计算机可是不怕麻烦的。如果你的计算机不是光用来玩游戏的,那么应当装有一个OFFICE软件。因此你就启动其中的WORD程序,首先你从“工具”菜单中找到“宏”这一项,选择“录制新宏”,给新宏起一个名字,比如说叫test,然后在键盘上随便敲一个键,比如说敲一个字符“a”,然后单击停止录入,一个名字叫test的宏就生成了。当然,你必须设置word的安全性使之为低,不怕任何病毒来犯才行。

然后你再从工具菜单中找到“宏”这一项,用运行宏来试试test这个宏,当然是每运行一次,你的文件中就多键入了一个a。再选择“编辑宏”,对test这个宏进行编辑。这个时候你就进入到了VISALBASIC(简称VB)的编程状态了。你会发现test这个宏里有一个语句:

Selection.TypeText Text:="a"

哦,原来用VB编程就是这样往一个文件里键字符的。

你现在修改这个程序,把上面的这一句话改成一段程序如下:

d = 80 / 10000
vmax = 0
For s = d To 80 - d Step d
b = Sqr(s)
c = b
a = (80 - s) / (4 * b)
v = a * b * c
If v > vmax Then
vmax = v
amax = a
bmax = b
cmax = c
End If
Next s
Selection.TypeText Text:=amax
Selection.TypeText Text:=","
Selection.TypeText Text:=bmax
Selection.TypeText Text:=","
Selection.TypeText Text:=cmax
Selection.TypeText Text:=","
Selection.TypeText Text:=vmax
Selection.TypeText Text:=","
Selection.TypeText Text:=(b * c + 2 * a * (b + c))

这段程序中有一个For循环语句,让s从d一直变化到80-d每次增加d,d被设为80除以10000,当然,你轻而易举地能够把这个程序改成步长为80除以一亿什么的,反正计算机不怕累。

在循环体内,就是从For的那一行直到下一个next s语句之间,就是计算机不怕麻烦反复要做的事情,先算出底边长b是s的开平方,当然c和b是一样的,底边是正方形嘛。然后算出高a=(80-s)/(4*b),在程序语言中*就代表乘。然后算出体积v=a*b*c。用一个变量vmax来存放已经发现的最大的体积,如果v比它还要大,则把这个v存入vmax,这是语句vmax=v完成的,同时也要把相应的a,b,c存放到amax,bmax,cmax中。

在循环完了之后,就把计算出来的高amax,长bmax,宽cmax,及最大的体积vmax还有不妨再计算一下表面积当然还是80统统用上次测试的办法打印出来。最后你发现,每运行一次宏,你的文件中多了这么一排字:

2.58224711250028,5.16371958959798,5.16371958959798,68.8530370077021,80

也就是说,答案是底是边长为5.16的正方形,而高为低边的一半,是2.58。这时的体积是68.9,表面积嘛,当然还是80。

运行这个宏要多长时间?一贬眼功夫,计算机做起事情来可是很快的。

好了,讲过我的这个用计算机来解决问题的笨办法之后,相信会受到不少网友的嘲笑,因为本来有那么一个花巧的非常巧妙的思考办法,结果我这里却用了这么一种笨呆傻的办法。其实,还可以搞得更加笨呆傻一些,比如我都不肯定正方形是底边最好的,因此再搞一个循环套循环,在每一个底面积给定时尝试各种长宽,这都是可以的。

我的观点正在这里,我认为,让小孩去学习那种精巧办法的数学,实际上是在摧残儿童,而且学到的知识没有什么屁用,根本不适应当代科学技术发展的潮流。一些个小学教师中学教师仍然呆在五六十年代的水平,为他们的各种机巧自鸣得意,并用这些机巧来作为惩罚儿童表示自己有多么了不起的手段。

那么,我这里做的示范是什么意思呢?我这个人其实是一个科学家,所以知道当代世界的发展潮流,就是解决数学问题要越来越多地靠计算机。因此,如果你真的想要训练你的孩子成为科学家,最好现在就训练他编这样的程序来用笨呆傻的办法解决问题。

我的这个解决办法,看上去笨,却是前途无量的。比如说,如果把问题中的长方体,改成一个圆柱体,或者底边是三角形?五角形?或者干脆是一个正态分布函数包括的图形?或者是一个艺术家画的抽象图形?(不许你用牛顿莱布尼兹公式求解定积分,只许用矩形法或者梯形法!)这一类问题,只要按同样的思路改一改程序,都能够算出来。

当然还会有人批评我的编程技术不够精炼,有一些变量根本没有必要设,应当在程序中怎样寻求花巧等。但这都是扯淡。有了计算机就不要沉浸在那种花巧之中。

微软是靠什么取胜的?美国的软件是靠什么取胜的?当我国的程序员处于小农经济的想法一遍遍地沉浸在一个两个算法的精巧这样的喜悦中时,微软可不怕使用大量的笨呆傻办法,因此当年你编一个程序在屏幕上显示一个"hello!"产生的代码只有几十个字节的时候,现在的微软编译出来的程序干同样的事情要用几十个千字节以上,够笨呆傻的吧?但是笨呆傻就是战胜了机巧与聪明。

计算机是人脑的延伸,计算机正是在近二十年大规模地被使用。因此,当代的教育,应当从小就培养小孩子构思能够让计算机解决问题的笨呆傻办法,能够组织大规模的数据运算,从而尽量少用自己的脑子来做事。正如机械是人手的延伸,因此要尽量用机械来使自己的手得到轻松一样。如果我国不能够在数学教育方面在这方面有所改进,我们在国际竞争中就会不断落伍。

但是,我们的小学的数学教师,中学的数学教师,仍然是师承五六十年代的那些老的中小学教师,那些人就津津乐道于各种各样的花巧,以获得所谓的奥数竞赛的各种奖为荣,他们沉浸在各种机巧算法的喜悦之中,以为这些个狗屁东西就对现代化有所作用,其实是屁用没有的。他们用各种各样的难题来折磨学生,照我看,去做这么道题,还不如去野外跑一跑,跳一跳呢,或者去农村锻炼一下。

而教育部要想进行数学改革,就征询这些中小学教师,甚至是所谓特级教师的建议,当然就越搞越糟。这些所谓的特级教师们就更神气活现地以为自己了不起了。

但是我要说,这些中小学数学教师,其实都是大脑非常懒的,不然就问一下他们,有谁会编写一个程序来解决问题?这些年编写过一行程序吗?没有。为什么?脑子懒,不愿意学新东西。



这个是香香解四人过河的类似版
5#
 楼主| 发表于 2011-11-3 01:46:43 | 只看该作者

我仔细思考,系统也要,面向对象也不能少。就是说,你构建一个系统,不要照般外面现成的,你在照顾里面的对象,重点关注里面的对象。所以,我的控制办法是体系差不多就行,但是用严厉的检查办法去记录所有的异常,我相信,质量是检查出来滴,哈哈。当然,这个检查,并不仅仅是指你们说的出货前检查。
6#
发表于 2011-11-3 01:46:49 | 只看该作者
呵呵,友情顶一个。


因为出现了和我相关的信息。哈哈。
7#
发表于 2011-11-3 01:46:55 | 只看该作者
你的图像.........
字数不够
8#
发表于 2011-11-3 01:47:01 | 只看该作者
你的头像很勾魂~~~~~~~~~~~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|标准下载库

GMT+8, 2024-11-28 06:33 , Processed in 0.041890 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表