专题演讲嘉宾 :何婧誉(Loretta)

Morgan Stanley VP

我是一枚剑桥大学计算机科学系毕业的妹子,平时爱好各种新鲜事物,不会的都想学一点看一点。兴趣范围从技术、数学、金融到桌游、国标、英文书法、语言学、哲学、钢琴等范围极广,属于样样都知道一些的典型 jack of all trades。有收集德式桌游及大型乐高模型的癖好。

技术上主要擅长 JVM 语言,有几年 Java 经验,2010 年遇见 Clojure 之后顿时被其简洁的语法、简单的写法及极具表达力的特性深深吸引,2011 年得以开始专业 Clojure 5 年多,现于大摩写 Scala。主要用 Clojure 做数据流处理,但也曾用其做过网络应用乃至安卓应用。JVM 之外亦与 Python、Perl 等主流语言,以及 ML 等非主流函数语言打过交道。

约四年前开始与国内的 Clojure 社区有所接触,业余时间致力于解答 Clojure 相关问题,并希望能将 Clojure 的影响范围继续扩大。

演讲:属兔的处子——喜欢 Clojure,但怕动态语言太灵活怎么办

时间:04月17日 14:55
地点:307B
所属专题:编程语言

静若处子,动若脱兔。对于从事编程工作的我们来说,动静之分又有另一番意义。我们写着静态语言往往想着动态语言的灵活,写着动态语言又容易想着静态语言的稳定和可靠。因此 IT 界又有俗话说:最好自己写的时候用动态语言,读别人写的用静态语言。静动态语言之争更是到如今仍然没有平息,两边各说各有理,似乎是肯定没有鱼与熊掌可以兼得的好事的。

常听到有人说,Clojure 确实优美,但动态语言实在驾驭不了啊!没有类型的帮助,在涉及到复杂的数据结构之后很容易失去对现有程序的理解,易读性也会急速下降,而这也确实是 Clojure 作为动态语言所造成的问题。但是部分解决这个问题的办法总是有的。core.typed 和 core.spec 两个核心库就可以帮助我们缓解动态语言太过野性框不住的问题,而本次演讲的任务就是向大家介绍这两个库,以及这两个库解决这一问题的不同角度。

主要内容

  1. Clojure / 动态语言的问题;
  2. 灵活的胖子——给 Clojure 加个类型系统;
  3. 给脱兔系上牵引绳——core.spec;
  4. 讨厌给复杂数据结构写测试?试试生成性测试 ;
  5. 两种角度的比较。

本专题下其他演讲

关注主办方(InfoQ)

InfoQ Qcon

交通指南