4月19日,第十二届年度新兴技术企业大会(Emerging Technologies for the Enterprise Conference,ETE)在宾州费城山喜来登酒店迎来了第二个活动日。ETE大会由来自坐落于宾州福特华盛顿的IT咨询公司Chariot Solutions组织举办。大会第二日包括了一个主题演讲,由来自微软的首席项目经理和播客主播Scott Hanselman主持。第二日活动还包括了如下演讲嘉宾:GitHub工程经理Kyle Daigle、IBM首席工程师Holden Karau、甲骨文公司JVM技术主管Karen Kinnear、 Clojure Applied的联合作者Alex Miller和Symphonia公司联合创始人Mike Roberts。
\\专题演讲
\\播客主播,同时也是来自微软的Outreach \u0026amp; Community(扶贫与社区)、开源项目工作者Scott Hanselman带来了题为“后端到前端的历史:从大型主机到编译型JavaScript以及未来”的演讲,拉开了第二日的序幕。Hanselman引用了计算机领域早年间(1949-1956)IBM主席Thomas J. Watson曾说过的话:“我想,5台计算机足以满足整个世界市场。”
\\Hanselman专注于早年间万维网与当今新兴的JavaScript技术。他说:“HTML表格曾经是网页开发中最先进的技术。”从早年间的LiveScript到如今被人熟知的JavaScript,他探索了这些年JavaScript的进化历程。Hanselman引用Secrets of a JavaScript Ninja这本书的时候,他质疑封面的角色是否真的像一个忍者。他开玩笑道:“嗯,JavaScript是松散类型的。”
\\ \\随着JavaScript变得更受欢迎,Stack Overflow和Stack Exchange的联合创始人Jeff Atwood基于Berner-Lee的最小力量法则(The Rule of Least Power)提出了一个推论。这个推论即为人们所熟知的Atwood定理:“任何可以使用JavaScript编写的应用终将使用JavaScript来编写。” 在2011年,Hanselmans研究了JavaScript是如何成为网页的汇编语言。他声明:“没人在写JavaScript了,他们转而使用jQuery”。Hanselman还展示了一个可运行在浏览器中的单行JavaScript PC 模拟器。这个模拟器包含了一个控制台窗口。
\\Hanselman说,由于当今的浏览器有些令人迷惑性的强大,开发者应从网页开发工具中挖掘更多的潜能。他还声明:“浏览器插件已死”。
\\Hanselman还讨论了当今云服务技术的崛起与这项技术带来的大规模和易伸缩计算能力。他提出,由于“云计算不关心开发语言的选择”,开发者可以为云计算选择自己需要的开发语言。
\\尽管网页开发在这些年间有了长足的进步,Hanselman坚持认为开发者们依旧在“向冷藏柜中发送原料”。他是这样解释的:“大型主机就像冷藏柜,因此在当今我们还在向理论上处于天空中的冷藏柜 — 也就是云 — 发送原料 。”
\\重要演讲
\\Java的未来:模块化及其他。甲骨文JVM运行时主管Karen Kinnear。
\\Kinnear提供了一个关于Java 9的综合性介绍,着重于新的模块系统,并检阅了Java 9相关的JEP(JDK Enhancement Proposals,JDK精进提案)。Java 9有提高开发者生产力、提升Java在云计算的表现的目标。Kinnear声明,新引入的模块系统可以集成到已有系统中。她向大会展示了模块和包之间交互和访问的细节,以及模块路径与类路径的区别。她还讨论了开发者们如何在出现不兼容问题时,维持向下兼容性,解决将已有系统向Java 9移植的问题。
\\使用Apache Spark做扩展(或者从一次意外后果中得到的教训)。IBM Spark科技中心首席软件工程师Holden Karau。
\\Karau讨论了关于处理包含DataFrames和Datasets在内的弹性分布式数据集(Resilient Distributed Datasets, RDD)会遇到的挑战。她着重讨论了数据划分,表达了“键偏斜”(key skew)的重要性,也就是键没有平均分布的问题。针对键偏斜可能会导致的数据划分不平衡问题,Karau分享了一些方法,以避免解决这个问题时可能碰到的陷阱。她强调了把全部有同样键的数据记录聚合到同一记录的groupByKey()函数,在运用到不平衡数据的时候可能会产生灾难性后果。Karau还简要概述了Spark Python API,PySpark。
\\Clojure.spec:不使用类型系统表达数据约束。Cloure Applied联合作者、Clojure语言提交者Alex Miller。
\\Miller介绍了Clojure.spec,这是一个用来表述数据和函数结构的Clojure库。设计上,它为Clojure语言提供了自动化属性,如验证、错误报告、共享语义以及测试数据生成。Clojure.spec不是一个类型系统,它的设计哲学着重于数据本身。Miller提供了大量源码例子,展示了如何使用Clojure.spec与语言核心特性进行配合。
\\使用Next.js库开发通用React应用。Next.js联合作者Guillermo Rauch。
\\Rauch将Next.js描述成“易用、简洁的通用性React.js”:通用性,指的是它可以同时运行在服务端和客户端;易用,指的是对大多数常用任务只要一条命令;简洁,指的是它定义了明确的边界,行为稳定并且可预测。他说,利用Next.js:“可以使用同一个通用软件模型(React)和语言(JavaScript),渲染简单的网页应用或是动态的实时应用。”Rauch把用Next.js重写的Hacker News网站作为展示。可以在他的网站上找到他的幻灯片。
\\总结
\\第二日由25个演讲组成,话题包括:Java 9、Haskell、TensorFlow、Swift、Apache Spark, Containers、Convox、C#、F#、Agile和GraphQL。
\\编者的话
\\Michael Redlich(原文作者)自2008年开始积极参与ETE大会,并在最近(2013年)以成员的身份加入ETE指导委员会。
\\查看英文原文:Emerging Technologies for the Enterprise Conference 2017: Day Two Recap
\\感谢薛命灯对本文的审校。
\给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号:InfoQChina)关注我们。