前往奥胡斯 2012

2012 年 10 月 16 日

过去几个月我一直在忙着旅行(最后我算了一下,过去 44 天中有 40 天都在路上),所以我的网站一直很安静。现在我回到了家,可以反思一下这段旅程——而 goto 会议 总是充满了值得反思的东西。

goto/infoQ 会议在 数据新思维方面投入了大量精力,在它们成为潮流之前,所以今年再次出现了很多这样的内容。有几个主题专门关注 NoSQL 技术,其中一个快速介绍了许多领先的 NoSQL 数据库,另一个则集中在它们的应用上。

Netflix 大规模使用 Cassandra 尤其令人感兴趣,我想花点时间表达我对 Netflix 在分享其经验教训和工具方面的开放性的感谢。我们的行业进步往往受到保密性的阻碍,而这种保密性更多地源于虚荣心,而不是任何真正的竞争优势。Netflix 是一个很好的例子,它既推动着边界,又在前进的道路上分享着他们的工具。

事实上,新的数据全景是我在 goto 之外的旅行中的一大主题。我的许多同事都在探索这种可能性,无论是在他们的客户工作中还是在业余时间。这是我目前发现最引人入胜的计算领域,它提供了许多机会来探索新技术,并找到新的方法让软件改善其用户的 工作。它也提供了一个机会来抵制将开发人员视为被动接受需求的这种可悲趋势。新数据世界提供的许多机会只有那些更接近技术的人才能看到,所以我希望这能让我们回到 对话故事

另一个让我印象深刻的主题是 javascript 日益重要的中心地位。Scott Hanselman 的主题演讲展示了 javascript 在浏览器中运行的许多意想不到的方式,这些方式让许多人感到惊讶。当然,还有 Anders Hejlsberg 的闭幕主题演讲,它提出了另一种驯服 javascript 复杂性的方法。

我喜欢嘲笑那些深入研究 Clojure、F# 和 Scala 等现代、复杂语言的同事,声称 Javascript 是未来唯一的语言。虽然这很有趣,但这不是一个令人愉快的想法——我属于那些对这种存在着如此深层缺陷的语言在计算中扮演如此重要角色感到绝望的人之一。然而,其结果是,我们必须 认真对待 javascript 作为一种一等语言,并集中精力如何限制其缺陷造成的损害。微软的 TypeScript 方法有很多值得称道的地方,我很容易想象自己会在未来几个月使用它——我希望在那段时间里,我能有更多时间花在涉及比任何理智人都多的 javascript 的工作上。

Javascript 是 Scott 和 Anders 演讲中一个共同的主题,但另一个同样重要的元素是,早在 2007 年,我就写过关于 微软如何努力与开源世界共存。后来我得知,我的那篇小文章引发了一场小风暴,各种微软经理谴责我的批评,并把我贴上不可救药的敌人的标签。这种反应令人沮丧,但幸运的是,其他更强大的力量正在发挥作用。无论是 Scott 在 ASP.NET/Azure 世界中的同事,还是 TypeScript 团队,都表现出一种开放程度,这在几年前似乎是令人震惊的。TypeScript 位于 codeplex 上,并且用它本身实现,因此在 Mac 和开源 Unix 上运行与在 Windows 上一样容易。我的感觉是,微软是一个非常有派系性的组织,许多派系仍然深深地敌视开源世界,但现在有如此多的派系致力于与开源世界共存,许多长期以来不信任邪恶帝国的开发人员应该重新考虑将他们的怀疑指向何处。

Anders Hejlsberg 的主题演讲是连续第二年在 goto 上的主题演讲谈论一项重要的技术来修复 javascript 的缺陷。

另一位谈论以浏览器为中心的未来的演讲者是 Dan North,他在一个挤满了人的房间里,以一种极具娱乐性的方式表演了浏览器应用程序的演变。在此过程中,他表明他对图形的许多发展漠不关心;虽然我基本上同意他的无动于衷,但我不同意一项技术:SVG。SVG 不仅仅是一个在 Web 上获取矢量图形的标准,SVG 更重要的影响是它将矢量形状创建为 DOM 中的元素,javascript 和 CSS 可以访问它们。我认为这是一个深刻的转变。你可以通过浏览 d3 画廊 来看到这种转变的结果,在那里你可以看到它如何重新思考数据可视化的世界。目前,Web 仍然是一个静态文本和图像的世界,视频存在,但本质上是外来的。SVG 为动画和交互性开辟了一个工具箱,我认为这可能意味着我们如何使用浏览器来进行应用程序 UI 和出版物会有很大的不同。