2016-11-22 生活

11 月 19 日早晨 8 点到了 Ohio Union。是在二楼的一个很大的房间里,外面走廊上有一些公司在做宣传,桌子上有一些小贴纸和水杯什么的。房间里放了几排桌子,每个组用一张,但每两桌只有一个接线板,确实不太够,好在另拿了两个接线板。有两处提供食品饮料,午餐是三明治水果,晚餐很不错,特别是肉类,早餐是简单点心。和我一起去的队友: hcz, Wally, Tiger, 柴犬

接下来说说我们这次做了什么。我们这次的目标是一门语言,Mendel,并在赛场完成它的编译器,使其能够编译到 JavaScript 和 C。Mendel 是一个静态类型的编译型的多范式编程语言。它拥有基于模板的泛型,基于原型的面向对象编程,支持过程式、面向对象以及函数式编程,并拥有类型推导。Mendel 已经被发布到 github: Mendel

在赛场上,我负责编译器前端,hcz 负责后端,Wally 和柴犬负责标准库,Tiger 负责写文档还有给我们画了个 logo。我这边的在晚餐前,已经可以完整生成语法树。两点左右,可以生成ast1。四点之前,大部分语法已经可以支持,并完成 debug。然后睡觉到六点多,继续工作,解决一些小 bug。

在 Hackathon 中编程和平时自己坐在家里写代码是不太一样的感觉。首先,会场上一直有很多人产生的噪音,即使带着耳机也没有好很多。另一方面,和小伙伴们坐在一起写代码,随时都可以讨论一下也很有意思。还有,非常重要的一点,平常自己写代码就是慢慢地写,注意各种问题,试图尽量写出优雅简洁便于以后维护的代码。但是在 Hackathon 中时间有限,更重要的是尽快搞定。24 小时的 Hackathon 还是挺消耗体力的,中途只在地板上睡了两个小时,睡的也不算很好,地板上又冷又硬,周围还很吵,但结束之后回去睡了个好觉。