今儿天气不错,起了个大早,为了大老远赶到公司参加一年一次的技术会议,名曰乐天技术会议。
乐天技术会议跟世界大部分的技术会议一样:以技术的名义…恩,你懂的,耍牛氓,比如做个广告、秀下业务、搞个招聘。
但是因为有Matz等嘉宾,所以每年对它还有个属于技术本身的期待。
此外,今年还有计算机视觉方向的泰斗级人物——Takeo Kanade,以及设计了一个非线性模式匹配语言的80后新生小将——Egison
计算机视觉的有趣研究:从机器人、体育到药品
Speaker : Takeo Kanade
木有找到百科简介,委屈读者大大勉力翻墙啦。
金教授主要谈了他在计算机视觉领域近30年的各种研究或开发的有趣点。具体来说有如下几个:基于视觉的自主机器人、电子眼的视觉、生物活细胞追踪、人脸图像分析和水滴照明。(很晕对吧,别慌,我当时也是)
关于演讲内容,金教授显然做过精心准备,考虑到普通听众的专业领域知识水平有限,介绍每个点基本围绕轶事经验、策略和研究哲学来介绍,听起来不怎么吃力。
同时整个演讲,教授的哲学始终贯彻如一:像外行一样思考,像专家一样行动 (Think like an amateur, do as an expert)
难忘的是,演讲中有不少段子,而情到处,金教授以70岁高龄,笑起来还像孩子一样
演讲前还翻到一篇池建强介绍其著书《像外行一样思考》的文章————你需要多久才能变成一个傻瓜
作者是美国卡耐基·梅隆大学(CMU)的计算机科学和机器人研究所的金出武雄教授。金教授的学术固然在同行眼里高山仰止,行文也极为流畅。关于写作,他的观点是,无论写科普还是论文,都要像创作小说那样写出引人入胜的独特观点。这一点和 MacTalk 秉承的写作原则一脉相承。
金教授在1980年的春天从日本到了美国,开始了自己的学术研究生涯。他信誓旦旦的对自己的妻子说:咱们只去五年。三十年过去了,伊带着这个弥天大谎参与了人工智能和机器人领域相关的各种研究,工作兢兢业业,为美国人民的人工智能事业做出了卓越的贡献,这包括:自动驾驶汽车,能够进行火星探查和火山口探查的机器人,自动驾驶直升飞机,虚拟现实和三维视频,等。
对教授背景或研究感兴趣的童鞋们拿走不谢
如何设计编程语言
Speaker : Matz
Matz一如既往,带来自己对于编程,对于程序员的新思考。去年是从Ruby中学到的经验,今年则是《如何设计编程语言》。
- 英语、日语、Java、Ruby都是语言,本质一样
- 没有人特意地去设计语言
- 你设计过语言吗?每个人都设计过语言,比如你设计过Interface、API、文档等等
- Programming is a process of design your own disable —- (The) Dave Thomas
- Coc (Convention over Configuration) 约定大于配置
- DRY (Don’t repeat yourself) 避免重复
- Avoid Guessing Games
- Avoid Alpha syndrome
这次因为时间的关系,Matz讲的没有上次那么多,那么细,但很直白、很容易GET到他的点。那些年,那些优雅那些坑。
最后,补上去年没能上的照片(右一),回想当年我还…没现在这么老呀。
Philosophy behind the Creation of Egison
Speaker : Satoshi Egi
先上个问题,会后有好事者问Egi,目前公司有人用Egison么? 答曰:目前只有我。泪奔…
学Egi不难,目测官网既有入门手册,又有交互界面,还有Cheatsheet,更别说还有文档和源码。
然后…就没有然后了…
演讲主要有三个部分:(果然Egi还年轻,07年才入读大学,只会总-分-总)
- 计算机科学中的各种抽象表示
- 创造一种新的抽象表示的过程
- Egison的诞生历史
住: Representation,暂翻译为 抽象表示。 求更好的翻译,请直接留言。
计算机科学中的抽象表示
举了很多栗子:如数字标记、数学表达式、化学公式、编程语言等等都是人类对自然现象的一种抽象表示。
同一种表示也有很多种:如数字标记就可以分阿拉伯数字、罗马数字、中文数字等等。不过根据语言、地域区分的不同表示,仅仅影响到可读性,在功能上是一样的。
创造一种新的抽象表示的过程
整个过程沿着这个过程:大自然 -> 人类直觉 -> 抽象表示
下面举例分析
n = a + b 10^1 + c 10^2 + … + z * 10^r
- 识别字符和数字, 如a-z, 1-10
- 识别加号
识别乘号
表达式中的所有数字是唯一的
如何设计
- 给每个数字一个名字
- 造一个数值系统
- 造一个0作为占位符
Egison的诞生历史
Egison作为一种语言,主要致力于更好地解决非线性的模式匹配问题,所以他不是一门大而全的语言,更像一种Lisp方言。
余下参考luikore在Egison: 非线性模式匹配的Lisp方言中的解释:
- Egison支持的matcher主要是三种:List、Multiset、Set
- Egison的模式构造器主要是:cons,join、snoc、nioj
- 模式运算: | (或), & (与), ^ (非)
参考资料
注: 15年官方资料还没公布,更新后会补充发布