![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
胡思乱想
denis_scott
这个作者很懒,什么都没留下…
展开
-
我所理解的计算机(三) 之 UNIX与交响乐
表面上看UNIX是一种操作系统,实际上它代表着计算机世界里的贵族文化。如果你做得事是和UNIX沾上一点边,那么大家都对你刮目相看,哪怕你是看机房的。 UNIX产生和发展以大公司和大学为背景[d1] (那时候有数的几台计算机都在政府、大公司、学校里)教授和学生都有很多研究题目需要用计算机来算。而作业操作系统在多人共享使用方面做得太差,提交一个作业要排很久的队,还要看原创 2005-07-07 16:08:00 · 1026 阅读 · 0 评论 -
购物返券问题
某人到商场购物,共买了n件商品,价钱分别是m1,m2,……mn。商场正在搞活动,当购买超过x的商品时,可以返y元的购物券。当你最后离开商场时,可以把购物券按照3:2卖给倒券的贩子。问有没有多项式算法求出购买这n件商品的最省钱的方式。注:1、商品可以分多次购买2、每个商品都可以用钱+券的方式购买原创 2005-08-16 15:47:00 · 1014 阅读 · 0 评论 -
程序员的语言表达能力
工作间隙,照旧翻看几页温伯格的《程序开发心理学》,在讲到程序员的素质评判问题时,它引用了E.W.Dijkstra的一段话:“我参与了研究生层次的教学工作,我们的目标是培养某种类型的‘数学工程师’。当需要考察某人是否可以成为我的学生时,我所知道的最有力的测试指标就是:他必须能够纯熟的驾驭自己的母语;为此,你所需要做的就是竖起耳朵去听。”。信哉斯言! 我见到过原创 2005-08-05 16:20:00 · 7807 阅读 · 5 评论 -
程序-社会-人
做一个程序员,当然要写好程序,钻研一下技术。如果再追问一下,写好程序是为了什么呢?不同的人会给出不同的答案。为了谋生计的人是让自己掌握一门手艺;追赶技术潮流的人可以获得名利和敬仰。每个人都是独一无二的,他赋予自身技能的意义也一定不一样。那么程序技术本身想被赋予什么意义呢?假如它也能自己自主的做出选择的话。我想它应该会同意并且愿意加入我们,共同建设和谐发展的节约型原创 2005-08-25 23:12:00 · 999 阅读 · 0 评论 -
论设计模式
与人聊了聊有关设计模式,遂记下我当时的观点。以下所称的模式皆是设计模式的简称,而不是其他含义的模式。也就是有人描述过的那种每次应用时都有不同,但是又有着似曾相识味道的东西。 定义模式的角度应该从方法学角度,而不是人们通常习惯的逻辑角度,更不是程序员喜欢的符号逻辑。它的表述应该是“做XX这种事,XX做会有XX好处”;而不是“在XX情况下,应该XX做”。 举一个简单的例子,从这里到火车原创 2005-09-01 19:53:00 · 919 阅读 · 0 评论 -
心血来潮有个比喻
在单台计算机上写程序好比自我规划,不管是PC机、服务器还是MainFrame,根据自己的特点和能力管好自己就行;在LAN中基本同构的若干计算机上写程序,像集群、群件环境,就不能只管自己了,这时候要像一家之主一样,协调整体利益的一致,而每个计算机都有自己的自助权,这时就不能太霸道,有矛盾要协商解决;在广域网上的程序,对计算机的脾气秉性就不能做大胆的假设,不会像自家人那样有那么多共同点,好说话,就得有原创 2006-04-06 09:31:00 · 1050 阅读 · 0 评论 -
学习C#的委托时,有点想法和大家共享
委托[或者叫做回调、监听]模式,本质是一个执行代码的晚绑定方式,与虚方法的多态类似,但是区别在于委托的执行代码绑定在消息数据上,而虚拟多态是绑定在对象数据上,消息数据和对象数据只是视角的区别,依赖于你的对象设计。 实现一个委托模式分为四个部分,(涉及至少两个对象实体:消息源和消息目的):委托声明(消息源和消息目的都可见),建立委托实例和委托点(消息源可见),实现委托(消息目的可见),委托绑定(消息原创 2006-06-13 13:13:00 · 991 阅读 · 0 评论 -
Internet心得偶记
能够长时间上网的日子已经快有四年了,越来越感到网民已经把生活的一部分和Internet紧紧binding在一起了。曾经的任天堂红白机换成了网游和战网(我已经不玩游戏很多年了);哥们儿一起吹牛变成了上论坛拍砖;去查资料打听事儿也不用出门,上网搜索就行了;老一辈的人更喜欢使用廉价的网络电话和IM电话。我把我想到的关于Internet的写下来,希望不止能聊以自慰,还能给其他灵魂正在或将要游走在网上的原创 2006-11-29 16:21:00 · 951 阅读 · 0 评论 -
Internet偶记续I
每天我都要上网,和好些人一样。一根网线把我的电脑联到一个巨大无比的世界。对于任何一个上过网的人,都会有几个老地方去看一看。想当年我上网习惯刚刚养成的时候,先要到sina看看首页新闻和体育新闻,然后到csdn关心一下业界新闻动态,如果有时间就泡在天涯论坛上找感兴趣的帖子看,有问题需要答案时,就用google搜一下,实在难解的就发帖到论坛求救。而现在我看新闻用RSS订阅,官方的新华网,华语的联合早报,原创 2006-12-11 21:02:00 · 889 阅读 · 0 评论 -
我所理解的计算机(四) 之 一网情深下篇
在说其他东西前,应该先谈谈Java,免得让人说跟不上流行趋势。 Java的发明者Sun的初衷是作为一种吸收了面向对象特性的介于脚本语言和高级语言之间的一种东西,针对的是受限的计算环境,比如嵌入式环境和浏览器环境。Java虚拟机(JVM)就是对这些受限的计算环境的抽象,因而使用了堆栈式汇编。Java程序被编译成字节码在JVM上解释执原创 2005-07-21 19:55:00 · 710 阅读 · 0 评论 -
我所理解的计算机(四) 之 一网情深上篇
网络来了,对计算机来说只是多了一个通信的手段,而对人来说,却是极大的丰富了使用计算机的方式。几乎所有原来局限在一台计算机内部的东西都因为网络的到来换了个新面孔。写到这儿,没办法只好把前边所有的陈芝麻烂谷子都捡起来,挨个都再讲讲。这种回头做事的感觉真不好,让文章显得不那么水到渠成,在我没想到怎么重新组织之前,就先这样吧。 UN原创 2005-07-21 19:52:00 · 713 阅读 · 0 评论 -
我所理解的计算机(三) 之 PC与大小提琴二重奏
一台UNIX主机仍然是非常贵的,并且用户之间是虚拟隔离的,程序员这样的完全的自由主义者不会满足于此的,每个人都梦想着能真正的拥有自己独享的计算机。个人计算机是人们追求自由自我的光荣与梦想在计算机上的体现。这个梦想必然会导致计算机制造成本和使用门槛的降低,这个降低达到的程度是当时习惯了昂贵的服务器主机的人难以想象的。好些人都跳出来针对此作出预言,其中包括盖茨(怎么会用到比640K更大的原创 2005-07-07 17:00:00 · 813 阅读 · 0 评论 -
我所理解的计算机(三) 之 非程序员的计算机与民歌联唱
自从计算机易用性的门槛一降再降,除了程序员编程用,还有大量的不编程序的人的工作和生活也离不开它了。尤其是五花八门的计算机教育(怎么看都像是在加利福尼亚矿河边上卖铁锹的),培养了大量的不编程序的计算机使用者。不编程序的人在坐在计算机前的任务只能是使用别人编的程序。富有爱心和责任心的程序员就开始不断生产出一些不懂写程序的人都可以用的软件,让人们认识到软件也是一种生产和生活资料,用户原创 2005-07-07 17:09:00 · 1086 阅读 · 0 评论 -
我所理解的计算机(引)
从接触计算机到如今已经9年了,有个很深的感触,就是我们的计算机教育和实践培养了太多的泥瓦匠而不是建筑师。一个学计算机的人初入这个计算世界,就被领到一个房间,很可能一直就在里面打转,没有人告诉他整个世界的样子,大部分人以为世界就只有巴掌那么大的地方。而我认为先要知道有这么一个世界是有智、有趣(王小波语)的工作的开始。因此我就把我所知的这个世界描述一下供大家分享,更藏私的想法是有更多的人能原创 2005-07-07 15:51:00 · 834 阅读 · 0 评论 -
我所理解的计算机(一)
最高级的计算机是图灵机[d1] ,能够处理任何符号输入序列,能够产生任何形式的输出。这种变换的能力也就是图灵机描述算法的能力,图灵机也就是具有最强描述符号算法的能力的东西。简单的说,在只有符号的世界里图灵机就是最有魔力的法师,不论是点石成金,还是呼风唤雨,没有它做不到的。这么厉害的东西只能存在于人们的想象空间,现实生活中是没有的。但是人们还是不断的研究不如图灵机厉害的概念计算机,原创 2005-07-07 15:54:00 · 1398 阅读 · 0 评论 -
我所理解的计算机(二)
接下来我说的计算机不是图灵机这些概念计算机,而是我们使用的看得见摸得着的计算机。概念理论是由来已久的,而实际使用中的计算机的发展与制造工艺的发展是紧密联系在一起的。计算机越来越快,越来越好用实际上是半导体技术、数字存储技术、数字通讯技术等发展的结果。计算机技术实际上是在这些基础技术之上长出来的树,给了花盆计算机就会成为盆景,给了院子就会长成大树。当我们只有电子管的时候,我们就只能原创 2005-07-07 16:00:00 · 1041 阅读 · 0 评论 -
我所理解的计算机(三) 之 数字多媒体与Apple钢琴独奏
数字多媒体是个多姿多彩的世界,但实际上数字多媒体并不是计算机内部的一个领域,关系顶多只能算是表兄妹。我现在把Apple公司拿出来说事,大部分是因为我最喜欢Apple的标志,那个咬了一口的苹果始终散发着对人类的诱惑力,就算没有蛇我相信夏娃也很难长久控制住自己。其次是因为它把计算机技术和数字多媒体完美的结合在了一起。 很多天才的想法出自Apple,如图形用户界面,原创 2005-07-07 17:07:00 · 804 阅读 · 0 评论 -
我所理解的计算机(三) 之 数据库、企业应用与歌剧
把各种东西数字化带来了大量的数据,仅仅针对数据管理的研究就形成了一个相对独立的领域。在计算机里,数据的基本组织方式是用文件。不管是二进制文件还是文本文件,文件内的数据都是被排列成一维的流状数据。在进行数据处理的时候,你要把一维数据读出来按你所需的形式组织成树型、链表或者哈希列表[d1] 等等。这种简单的方式在处理几KB的数据时是非常有效的。当文件的大小进入MB级,并且文件内的原创 2005-07-07 17:13:00 · 1361 阅读 · 0 评论 -
我所理解的计算机(三) 之 大型软件开发与摇滚乐
人们有把世界上的东西尽可能数字化的倾向,但是世界是多样的,相对而言程序的表达方式是单一的,程序只拥有用一个个过程和数据结构组成的描述手段。在相当程度上,这与人们观察现实世界的习惯有偏差。使用过程化语言写应用逻辑程序有点像用钳子拧螺丝,除了用拧力还得握紧,不如使用扳子趁手。某个东西作为独立的客体,区别于其他的东西,必然带有一定自给自足和封闭的特征。所以产生对象的概念是自然的,在面原创 2005-07-07 17:16:00 · 1275 阅读 · 0 评论 -
我所理解的计算机(四)
前边说啥来着,计算机技术总是受到其他更基础的技术发展的影响,近十几二十年来,一场数字通讯的发展革命又席卷了计算机的世界。人们把越来越多的计算机作为节点连上各种数据网络。想想吧,最早人们用什么方式在计算机之间传递数据――磁盘。这种非实时的、静态的数据交换太不方便了(虽然有时候大量数据用磁带拷贝、卡车运输会更实惠),人们很早就开始试图给计算机之间建立稳定的连接原创 2005-07-21 19:48:00 · 940 阅读 · 0 评论 -
Internet偶记续II
Google是最流行的网络搜索工具之一。入门非常简单,敲入几个单词,然后回车看结果就行了。用的比较巧的人一般都会一些Google的定制搜索技巧。学习起来挺容易的,就不多说了。记忆力不好的人请参照使用http://www.faganfinder.com/engines/google.shtmlGoogle提供几十亿个网页的全文搜索,对于纳入它检索的网页,有很强的文本匹配的信息提取能力。需原创 2007-01-15 22:52:00 · 767 阅读 · 0 评论