河南省工程建设协会网站青建设厅官方网站海省

web/2025/10/1 4:38:45/文章来源:
河南省工程建设协会网站,青建设厅官方网站海省,图片素材网站哪个最多,手机旅游网站建设摘要#xff1a;我们每个人都是工具的奴隶。随着我们的学习#xff0c;我们不断的加深自己对工具的认识#xff0c;从而从它们里面解脱出来。现在我就来说一下我作为各种工具的奴隶#xff0c;以及逐渐摆脱它们的思想控制的历史吧。 当我高中毕业进入大学计算机系的时候我们每个人都是工具的奴隶。随着我们的学习我们不断的加深自己对工具的认识从而从它们里面解脱出来。现在我就来说一下我作为各种工具的奴隶以及逐渐摆脱它们的思想控制的历史吧。 当我高中毕业进入大学计算机系的时候辅导员对我们说“你们不要只学书本知识也要多见识一下业界的动态比如去电脑城看看人家怎么装机。”当然他说我们要多动手多长见识这是对的。不过如果成天就研究怎么“装机”研究哪种主板配哪种 CPU 之类的东西你恐怕以后就只有去电脑城卖电脑了。 本科的时候我经常发现一些同学不来上数学课。后来却发现他们在宿舍自己写程序对MFC之类的东西津津乐道引以为豪。当然会用MFC没有什么不好可是如果你完全沉迷于这些东西恐怕就完全局限于Windows的一些表面现象了。 所以我在大学的时候就开始折腾Linux因为它貌似让我能够“深入”到计算机内部。那个时候书店里只有一本 Linux 的书封面非常简陋。这是一本非常古老的书它教的是怎样得到Slackware Linux然后把它从二三十张软盘装到电脑上。总之我就是这样开始使用Linux的。后来我就走火入魔了有时候上课居然在看GCC的内部结构文档。后来我又开始折腾TeX把TeXbook都看了两遍恁是用它写了我的本科毕业论文。 后来进了清华因为不满意有人嘲笑我用Linux这种“像DOS的东西”以及国内网站都对Windows和IE进行“优化”的情况就写了个“完全用Linux工作”。确实会Linux的人现在更容易找到工作更容易被人当成高手。但是那些工具同样的奴役了我经常以一些雕虫小技而自豪让我看不到如何才能设计出新的更好的东西。当它们的设计改变的时候我就会像奴隶一样被牵着鼻子走。 这也许就是为什么我在清华的图书馆发现《SICP》的时候如此的欣喜。那本书是崭新的后面的借书记录几乎是空白的。这些看似简单的东西教会我的却比那些大部头和各种 HOWTO 教会我的更多因为它们教会我的是WHY而不只是HOW。当时我就发现虽然自认为是一个“资深”的研究生学过那么多种程序语言各种系统工具甚至内核实现可是相对于SICP的认识深度我其实几乎完全不会写程序在第三章SICP 教会了我如何实现一个面向对象系统。这是我第一次感觉到自己真正的在开始认识和控制自己所用的工具。 因为通常人们认为Scheme不是一个“实用”的语言没有很多“库”可以用效率也不高而Common Lisp是“工业标准”再加上Paul Graham文章的怂恿所以我就开始了解Common Lisp。在那段时间我看了Paul Graham的《On Lisp》和Peter Norvig的 《Paradigms of Artificial Intelligence Programming》。怎么说呢当时我以为自己学到很多可是现在看来它们教会我的并没有《SICP》的东西那么精髓和深刻。开头以为一山还有一山高最后回头望去其实复杂的东西并不比简单的好。现在当我再看Paul Graham和Peter Norvig的文章就觉得相当幼稚了而且有很大的宗教成分。 进入Cornell之后因为Cornell的程序语言课是用SML的我才真正的开始学习“静态类型”的函数式语言。之前在清华的时候有个同学建议我试试ML和Haskell可是因为我对Lisp 的执着把他的话当成了耳边风。当然现在用上SML就免不了发现ML的类型系统的一些挠人的问题所以我就开始了解Haskell并且由于它看似优美的设计我把“终极语言”的希望寄托于它。我开始着迷一些像monadstype classlazy evaluation 一类的东西看Simon Peyton Jones的一些关于函数式语言编译器的书。以至于走火入魔对其它一切“常规”语言都持鄙视态度看到什么都说“那只不过是个monad”。虽然有些语言被鄙视是合理的有些却是被错怪了的。后来我也发现monad, type class, lazy evaluation这些东西其实并不是什么包治百病的灵丹妙药。 但是我很不喜欢Cornell的压抑气氛所以最后决定离开。在不知何去何从的时候我发了一封email给曾经给过我fellowship的IU教授Doug Hofstadter《GEB》的作者。我说我不知道该怎么办后悔来了 Cornell我现在对函数式语言感兴趣。他跟我说IU的Dan Friedman就是做函数式语言的啊你跟他联系一下就说是我介绍你来的。我开头看过一点The Little Schemer跟小人书似的所以还以为Friedman是个年轻小伙。当我联系上Friedman的时候他貌似早就认识我了一样。他说当年你的申请材料非常impressive可惜你最后没有选择我们。你要知道世界上最重要的不是名气而是找到赏识你能够跟你融洽共事的人。你的材料都还在我会请委员会重新考虑你的申请。IU 的名气实在不大而Friedman 实在是太谦虚了所以连跟他打电话都没有明确表态想来IU只是说“我考虑一下……”这就是我怎么进入IU的。 Friedman的教学真的有一手。虽然每个人对他看法不同但是有几个最重要的地方他的指点是帮了我大忙的。有人可能想象不到在Scheme这种动态类型语言的“老槽”其实有人对“静态类型系统”的理解如此深刻。也就是在Friedman的指点下我发现类型推导系统不过是一种“抽象解释”而各种所谓的“typing rule”不过是抽象解释器里面的分支语句。我后来就通过这个“直觉”再加上Friedman的逻辑语言miniKanren里面对逻辑变量和unification的实现做出了一个Hindley-Milner类型推导系统HM 系统也就是ML和 Haskell的类型系统。虽然我在Cornell的课程作业里实现过一个HM系统但是直到Friedman的提点我才明白了它“为什么”是那个样子以至于达到更加优美的实现。后来经他一句话点拨我又写出了一个lazy evaluation的解释器也就是Haskell的语义才发现原来SPJ的书里所谓的“graph reduction”不过就是如此简单的思想。只不过在SPJ的书里细节掩盖了本质。后来我在之前的HM系统之上做了一个非常小的改动就实现了type class的功能并且比Haskell的实现更加灵活。所以就此我基本上掌握了ML和Haskell的理论精髓。 可是类型系统却貌似一个无止境的东西。在ML的系统之上还有System FFwMLFMartin Lof Type TheoryCIC……怎么没完没了我一直觉得这些东西过度复杂有那个必要吗直到Amal Ahmed来到IU我才相信了自己的感觉。然而这却是以一种“反面”的方式达到的。 Amal是著名的Andrew Appel“虎书”的作者的学生在类型系统和编译器的逻辑验证方面做过很多工作。可是她比较让人受不了她总是显得好像自己是这里唯一懂得类型的人而其他人都是类型白痴。她不时的提到跟Bob Harper, Benjamin Pierce等类型大牛一起合作的事情。如果你问她什么问题她经常会回答你“Bob Harper说……”她提到一个术语的时候总是把它说得无比神奇把它的提出者的名字叫得异常响亮。有一次她上课给我们讲System F我问她为什么这个系统有两个“binder”貌似太复杂了为什么不能只用一个她没有正面回答而是嘲讽似的说“不是你说可以就可以的。它就是这个样子的。”后来我却发现其实有另外一个系统它只有一个binder而且设计得更加简洁。后来我又在课程的 ailing list 了一个问题质疑一个编译器验证方面的概念。本来是纯粹的学术讨论却发现这封email根本没有发到全班同学信箱里被Amal给moderate掉了 看到这种种诡异的行为我才意识到原来学术界存在各种“帮派”。即使一些人的理论完全被更简单的理论超越他们也会为“自己人”的理论说话让你搞不清到底什么好什么不好。所以后来我对一些类型系统以及Hoare Logic一类的“程序逻辑”产生了怀疑。我的课程project报告就是指出Hoare Logic和Separation Logic所能完成的功能其实用“符号执行”或者“model checking”就能完成。而这些程序逻辑所做的事情不过是把程序翻译成了等价的逻辑表达式而已。到时候你要得知这些逻辑表达式的真伪又必须经过一个类似程序分析的过程所以这些逻辑只不过让你白走了一些弯路。当Amal听完我的报告勉强的笑着说“你告诉了我们这个结论可是你能用它来做什么呢”我才发现原来透彻的看法并不一定能带来认同。人们都太喜欢“发明”东西却不喜欢“归并”和“简化”东西。 可是这类型系统的迷雾却始终没有散去像一座大山压在我头上。我不满意Haskell和ML的类型系统又觉得System F等过于复杂。可是由于它们的“理论性”和它们创造者的“权威”我不敢断定自己的看法就不是偏颇的。对付疑惑和恐惧的办法就是面对它们看透它们消灭它们。于是我利用一个independent study的时间独立实现了一个类型系统。我试图让它极度的简单却又“包罗万象”。经过一番努力这个类型系统“涵盖”了System F, MLF 以及另外一些类似系统的推导功能却不直接“实现”他们。后来我就开始试图让它涵盖一种非常强大的类型系统叫做intersection types。这种类型系统的研究已经进行了20多年它不需要程序员写任何类型标记却可以给任何“停机”的程序以类型。著名的Benjamin Pierce当年的博士论文就是有关intersection types的。没几天我就对自己的系统稍作改动让它涵盖了一种最强大的intersection type系统System I的所有功能。然而我却很快发现这个系统是不能实用的因为它在进行类型推导的时候相当于是在运行这个程序这样类型推导的计算复杂度就会跟这个程序一样。这肯定是完全不能接受的。后来我才发现原来已经有人指出了 System I 的这个问题。但是由于我事先实现了这个系统所以我直接的看到了这个结论而不需要通过繁琐的证明。 所以我对类型推导的探索就这样到达了一个终点。我的类型系统是如此的简单以至于我看到了类型推导的本质而不需要记住复杂的符号和推理规则。我的系统在去掉了intersection type之后仍然比System F和MLF都要强大。我也看到了Hindley-Milner系统里面的一个严重问题它导致了这几十年来很多对于相关类型系统的研究其实是在解决一个根本不存在的问题。而自动定理证明的研究者们却直接的“绕过”了这个问题。这也就是我为什么开始对自动定理证明开始感兴趣。 后来对自动定理证明Partial Evaluation 和 supercompilation的探索让我看到那些看似高深的Martin Lof Type Theory, Linear Logic等概念其实不过也就是用不同的说法来重复相同的话题。具体的内容我现在还不想谈但是我清楚的看到在“形式化”的美丽外衣下其实有很多等价的重复的无聊的东西。与其继续“钻研”它们反复的叨咕差不多的内容还不如用它们的“精髓”来做点有用的事情。 所以到现在我已经基本上摆脱了几乎所有程序语言编译器类型系统操作系统逻辑推理系统给我设置的思维障碍。它们对我来说不再是什么神物它们的设计者对我来说也不再是高不可攀的权威。我很开心经过这段漫长的探索让我自己的思想得到了解放翻身成为了这些工具的主人。虽然我看到某些理论工具的研究恐怕早就已经到达路的尽头然而它们里面隐含的美却是无价和永恒的。这种美让我对这个世界的许多其它方面有了焕然一新的看法。一个工具的价值不在于它自己而在于你如何利用它创造出对人有益的东西以及如何让更多的人掌握它。这就是我打算现在去做的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/84853.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浦口区网站建站公司win7不能运行wordpress

原文链接:https://my.oschina.net/u/3474266/blog/895696 我在安装免安装版的5.7.18的时候出现了问题,正好找到这个,十分感激 今天下载安装了MySQL Community Edition 5.7.18压缩版,过程中遇到了一些坑,特地写个博客记…

江苏华江建设集团网站网站建设 的公

Java 9集合工厂方法:用List.of、Set.of、Map.of创建安全不可变集合 Java 9引入了革命性的集合工厂方法List.of、Set.of和Map.of,彻底改变了开发者创建小型不可变集合的方式。这些方法不仅语法简洁,还在安全性和性能上实现了质的飞跃。本文将…

乒乓球网站建设目标中信建设有限责任公司待遇怎么样

前言:前面写过一篇PytestAllure接口自动化测试框架搭建的博客,这篇博客学习另外一款优秀的开源的接口自动化测试框架:HttpRunner,本博客主要学习如何搭建基于HttpRunner的接口自动化测试项目 PytestAllure接口自动化测试框架搭建…

医院招聘网站建设和维护人员seo常用方法

说明过程 C语言程序可以通过分文件编写来提高代码的结构性和可维护性。下面是一个简单的示例,展示了C语言程序如何分文件编写: 创建多个源文件:将程序的不同部分分别写在不同的源文件中,每个文件包含一个或多个相关的函数。比如&…

下载的网站模板怎么进入后台php做电影网站有哪些

0x01 Linux 分区简介主分区 vs 扩展分区硬盘分区表中最多能存储四个分区,但我们实际使用时一般只分为两个分区,一个是主分区(Primary Partion)一个是扩展分区(extended partition),主分区可以马上被使用但不能再分区,扩展分区必须…

网站建设与管理 ppt好的网站建设公司哪家好

linux最优秀的地方之一,就在于他的多用用户、多任务环境。 用户及用户组的概念 1、文件所有者 由于linux是一个多用户、多任务的系统。因此可能常常会有很多人同时使用这台主机来进行工作的情况发生,为了考虑每个人的隐私权以及每个人的喜好的工作环境&a…

宁都县建设局网站wordpress收费主题免费下载

1. 简介 模板方法模式是一种行为型设计模式,它定义了一个算法的骨架,将一些步骤延迟到子类中实现。这样,可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 2. 使用条件 模板方法模式适用于以下情况: 算法…

工程建设监理网站百度指数首页

在本文中,我们将深入研究ClickHouse索引。我们将对此进行详细说明和讨论: ClickHouse的索引与传统的关系数据库有何不同ClickHouse是怎样构建和使用主键稀疏索引的ClickHouse索引的最佳实践 您可以选择在自己的机器上执行本文给出的所有Clickhouse SQL…

柳州网络网站建设上海高档网站建设

在Kerberos阶段认证的AS-REQ阶段,请求包cname对应的值是用户名,当用户名存在时候,密码正确和错误两种情况下,AS-REP返回包不一样,所以可以利用这一点对域用户名进行密码喷洒攻击 域内密码喷洒工具 Kerbrute kerbrut…

网站后期的维护设计与制作网站

大家好,我是海鸽。 今天,我要和大家分享如何将请求 GPT 的案例,快速“复刻”成 GPT 网页版。这不仅简单,而且对于我们这些后端开发者来说,简直是福音! 先睹为快 看看这个界面,是不是感觉很熟…

做暖暖免费视频网站哪些人做数据监测网站

目录 事务基本概念 前置准备 Spring Boot 事务使用 编程式事务 声明式事务 Transactional 注解参数说明 Transational 对异常的处理 解决方案一 解决方案二 Transactional 的工作原理 面试题 Spring Boot 事务失效的场景有那些? 事务基本概念 事务指一…

动漫男的和女的做视频网站广州怎么做网站

原文:The ChatGPT GoldRush 译者:飞龙 协议:CC BY-NC-SA 4.0 一、ChatGPT 简介 什么是 ChatGPT? ChatGPT 是由 OpenAI 基于 GPT-4 架构创建的大型语言模型。它旨在理解和回应自然语言文本输入,使得可以与机器进行对话…

适合个人网站的名称域名注册信息怎么查

目录 一、环境准备 二、下载Tampermonkey 三、安装脚本 四、启用脚本 一、环境准备 微软自带的 edge 浏览器(电脑端) 二、下载Tampermonkey 安装地址:Tampermonkey 篡改猴(油猴脚本) 下载完成会在浏览器拓展中自动生成一个插件,此时点击管理拓展&…

资料库网站开发报价湖北专业的网瘾戒除学校有哪些

电脑休眠指的是将当前处于运行状态的数据保存在硬盘中,整机完全停止供电。通常电脑的自动休眠是有一个电源计划的,电脑如果在设定的时间内没有使用,那么就会进入自动休眠状态。然而许多人长时间不操作电脑,只是想让电脑继续执行一…

为什么要做网站推广中国十大服务外包企业

题目描述: n 只奶牛坐在一排,每个奶牛拥有 ai 个苹果,现在你要在它们之间转移苹果,使得最后所有奶牛拥有的苹果数都相同,每一次,你只能从一只奶牛身上拿走恰好两个苹果到另一个奶牛上,问最少需要…

白云鄂博矿网站建设为什么做免费视频网站

maven配置testng为了有用,自动测试应该运行得非常快。 否则,将不会在开发期间经常运行,甚至在开发人员工作站上的默认配置中将被忽略。 最简单的规则是只编写小型单元测试,该测试将模拟给定类的邻居。 然而,有时在IoC容…

桂林住房城乡建设厅网站哈尔滨中国建设银行网站首页

目录 目录 前言 数据准备 文档搜索 一、查询所有文档 二、全文检索 (1)全文检索 (2)自动纠错 三、范围搜索 四、短语检索 五、单词/词组搜索 六、复合搜索 前言 数据准备 PUT /students {"mappings":{&qu…

1元购类似网站架设药多少钱七牛备份wordpress

1、添加用户控件 2、编写水泵UI 控件中用到了Viewbox控件,Viewbox控件是WPF中一个简单的缩放工具,它可以帮助你放大或缩小单个元素,同时保持其宽高比。通过样式和属性设置,你可以创建出既美观又功能丰富的用户界面。在实际开发中…

网站分类目录为什么大网站的百度快照更新速度慢还排第一

大家好,我是若川。持续组织了6个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列这本新…

镇江网站优化少女论坛资源

FL Studio2024版是一款在国内非常受欢迎的多功能音频处理软件,我们可以通过这款软件来对多种不同格式的音频文件来进行编辑处理。而且FL Studio 2024版还为用户们准备了超多的音乐乐器伴奏,我们可以直接一键调取自己需要的音调。 FL Studio 2024版不仅拥…