时间: 2015年10月15~17日
地点: 上海·光大会展中心国际大酒店

专题: 新语言与新发展

Day of week:

编程语言既是开发工具,也是构成产品的原材料,以及软件开发者组织设计,表达思想的途径。编程语言的选择和运用,影响着软件开发者的生产、协作甚至思考方式。编程语言的发展,也是软件开发技术发展过程的一部分。了解编程语言的发展趋势,对我们是一件有意义且有趣的事。

近两年,新语言的明星 Golang 在迅速发展,不断催生一些成功案例。Swift 自发布以来,也得到狂热的追捧,Scala、Colujre等语言则在稳步发展,业内期待很久的 Rust 终于发布了 1.0 。而长久以来举足轻重的主流开发语言 PHP 和 C++,也都在这个时期发布了新的版本。

这些新语言或新的版本,与上一代的流行技术相比,普遍在并发模型、类型确定性、类型推导、类型安全、工程支持等方面有了很大的不同。这些进步和发展,并非凭空而来。它们的发展和变化,有迹可循。很多特性在前几年,还是一些“学术研究”型语言的特色。

本期编程语言专题,我们邀请几位专家,介绍这几年进入应用领域的新语言和新特性。现代软件开发,已经进入一个普遍的复杂系统的时代。编程语言的选择和使用,不再是一个单选题。

专题出品人:
刘鑫
云游道CTO

刘鑫,互联网旅游行业的创业者。是 Python Tutorial 多个版本的译者。两届 PostgreSQL 中国用户大会的演讲嘉宾。目前定居珠海,是云游道(http://tratao.com)CTO。目前专注于建设智能的在线旅游平台。我们的团队在使用且不仅限于 PostgreSQL 、 golang、swift、rust 等工具,并且开源了包括 parsec for golang/swift/rust 等项目。积极的学习和运用新技术,使得我们拥有更好的生产效率,可以为用户提供更优质的服务。


by 何婧誉(Loretta)
Swiftkey软件/自然语言工程师

Lisp已然到了年近半百的年纪,与如今世界上的大多主流语言相比是近乎爷爷辈的。在这个技术越发日新月异的年代,为什么我们中的一些人对Lisp这门古老的艺术仍旧情有独钟?

当今大数据是技术领域中最为时髦的名词之一,我们中越来越多的技术人员开始接触数据(流)处理,进而发现程序中副作用的麻烦之处。而这也催生了很多新兴的函数语言,这其中就包括Lisp家族的最新成员之一Clojure。

本次演讲将包括:

  1. 为什么用Lisp?
  2. 为什么用JVM?
  3. Clojure的三简主义--简洁,简便,简单
  4. core.async - clojure式并行
  5. 什么是transducers?
  6. 现实世界中的应用

by 张淞
网易杭州研究院高级开发工程师

Haskell中的主要概念其实都是围绕类型展开的,类型系统主要是为我们管理程序的抽象与保证程序的正确性而引入的。为了更好的复用代码,于是有了多态类型。某些类型有着共同的属性于是Haskell引入了类型类来管理它们。有一些类型是需要接受一个或者多个类型参数的,为了保证这一环节不会出错于是Haskell又引入了kind这一概念,同样出于复用代码的原因,Haskell又引入了kind多态。总之,抽象在一步一步加深,每加深一步就总结出更多公共的代码,为我们自动完成更多的事情,带来的问题就是会让人更加难以理解。所以了解Haskell的类型系统对于我们理解代码的复用、抽象非常有帮助。所以本次的演讲主要包括:

  • Haskell中的值
  • Haskell中的类型
  • Haskell中的类型类
  • Haskell中的类型的kind
  • 以及它们的应用

Haskell不仅仅是一门学术型的语言,而是一门非常适用于编写应用软件的工程型语言,其实相当多的思想是可以迁移到非函数式语言上的,...


by 林喆
芒果TV系统工程师

作为系统层程序设计中重要语言之一的C++在新千年里的第二个十年里终于发布了C++11标准,其中许多对旧标准的改革和全新的特性也全面被各路编译器实现,等待工程师们来使用,本次演讲将围绕以下内容来重点介绍一些特性和库:

  • 右值引用和转移语义
  • lambda与std::function
  • 泛型函数的返回值推导
  • 多线程

选取以上这些内容的依据是,它们全部在redis-cerberus项目中实际用到,避免空谈新特性,使得演讲变成枯燥的授课。


by 赖勇浩
广州齐昌网络科技有限公司总经理

在与陈儒先生合作把他广获赞誉的佳作《Python源码剖析》迁移到Python 3的过程中,Python 3.5发布了它的第一个beta版本,而async/await搭上最后的这班车,也让3.5版本备显豪华。这个特性使得Python具备语法级别的协程支持,也让它有了更容易理解和交流的异步编程模型。那么,这个特性在虚拟机里是如何实现的呢?是否用了什么很特别的机制?跟之前的yield/yield from有何异同?我觉得有必要在书中加入这一章节,更期望在该书新版上市之前跟大家分享。


by 施凡
微软亚洲研究院研发工程师

很多现代命令式语言,例如C#或Python,都吸收了相当多的函数式语言特性,从而能够用比以往简单得多的语法实现语法分析器(或Parser)。许多开发人员都以能够用华丽而简洁的语法实现Parser甚至Parser生成器为荣。利用函数式语言的特性,这些语言都可以实现一种称作组合子的逻辑来生成Parser。组合子可以将基本的语法元素用函数式的语法加以组合,优雅地表达各种语法的同时将Parser本身实现出来。然而,尽管最简单的Parser组合子只需要数行代码即可实现,但它的功能和性能尚无法达到实用阶段。在真实世界,我们希望语法分析器能够报告出文本当中所有的语法错误,而不仅仅是在第一个语法错误上抛出异常。这就需要Parser具有错误恢复的能力。此外,大部分编程语言的文法,若采用左递归的形式通常都会更加简洁直观,有些语言甚至要利用一些带有歧义的文法。而最简单的组合子Parser不仅不能够进行错误恢复,支持的文法也仅限于不支持左递归的LL类型。

本次演讲将从一个数行代码就能写出的,优雅漂亮但不实用的玩具级Parser组合子开始,逐渐增强为带有错误恢复,并且支持全部上下文无关文法...


by 许式伟
七牛云存储CEO

本次演讲主要涉及Go语言本身功能特性的发展状况,第三方库的发展情况,国内外开源社区与企业对Go的应用,以及近期Go发展的趋势性判断和展望。


by 贺师俊
百姓网前端工程师

这些年以来,随着HTML5的发展和Node.js的兴起,JavaScript已经从当年的“世界最被误解的语言”变成了“世界最流行的语言”。不过人们观念转变的速度还是远远落后于JS的发展速度,在JS诞生20周年之际,我们在短短几个月里就见证了ES6正式发布、WebAssembly项目启动、Node.js发布4.0等具有历史意义的时刻。且其发展之势,从语言本身的进化,库和包的增长,工具支持的完善,明星项目和领域解决方案的涌现,平台、技术栈、应用领域的扩张等诸方面来看,都是前所未见的。没有人能想象,一门只用10天设计实现出来的脚本语言,能形成今天之繁荣生态。

有感于此,本次演讲我将挑战“最好的语言”这一禁忌话题,比较JS相对于其他编程语言的优势,探讨形成这些优势背后的原因,并跟大家分享我对JS生态未来走向的展望和对编程语言未来发展的思考。

演讲专题

Covering innovative topics

10月15日,星期四

  • 可扩展、高可用架构

    很多互联网(包括移动)业务成长非常迅速,在系统搭建之初和成长阶段就需要充分考虑系统架构设计,以满足在稳定性、扩展性、性能和成本方面的要求。

  • 新时代的前端

    最近几年,Web前端领域的新标准、新框架、新工具、新理念不断涌现。今年6月,ES6正式发布,也标志着Web前端已经进入了一个全新的时代!

  • 运维之痛

    最近互联网公司接二连三的故障,黑天鹅事件层出不穷,让我们更加体会到了运维人员的痛苦。谁来拯救我们苦逼的IT运维工程师!

  • 技术创业

    分享技术人创业案例,揭示背后的技术选型,人才招聘与培养等背后故事。

  • 开源实践

    很多企业都在拥抱开源,开源能给公司带来哪些好处?又有什么样的问题?

  • 数据分析与移动开发工具专场

    本专场将邀请来自大数据及移动应用服务相关供应商的Hadoop、机器学习、即时通讯等领域的技术专家,分享各自在全民大数据化背景下的最新技术实践经历,内容涉及前端数据收集、数据分析模型、数据安全等多个方面。

10月16日,星期五

  • 新语言与新发展

    现代软件开发,已经进入一个普遍的复杂系统的时代。了解编程语言的发展趋势,对我们是一件有意义且有趣的过程。本期我们邀请几位专家,介绍这几年进入应用领域的新语言和新特性。

  • 新兴大数据处理

    大数据的批量处理框架趋于完善,业务还需要什么?更大规模的内存和实时计算?更便捷的用户数据交互和触达?更高效的业务驱动?还是来自物联世界的数据接入?

  • 移动开发新趋势

    移动互联网是这些年发展最快的技术领域,也是机会最多的领域,从无到有的这几年,这个领域已经吸引了大量的工程师,资金和创业项目,在这个迅速变化的时代,在这个变化最快的领域,我们都需要随时保持学习。

  • 建设高效团队

    团队的特点就在于具有统一的目标,并且成员可以为其通力协作。在本话题中我们会讨论,如何建设起高效的团队,并使其一直保持高昂的战斗力,高速、高质地完成各种任务。

  • 大规模软件持续交付与改进

    越来越多的大型企业在市场残酷的冲击下,需要快速地转变以应对市场的快速变化,其中最重要的是如何缩短产品上市周期。通过一组精彩的真实案例,看看“别人家”如何快速持续交付及改进。

  • 公有云服务与基础设施建设专场

    本专场将邀请多位来自云服务供应商的CDN、容器、OpenStack技术工程师,分享最新的云计算实践经历,探讨云服务及IT基础设施建设的发展趋势,内容涵盖微服务架构开发、持续交付实践、网络加速等热门话题。

10月17日,星期六

  • Java问题诊断与性能优化实践

    当Java系统变得日趋纷繁复杂,背后日益凸显的性能问题就会变得越发的举足轻重。本专题会从不同角度,多领域,结合云计算,大数据的当下,审视和关注在不同层次上,不同领域内Java性能问题以及优化实践。

  • 安全与隐私

    应对安全挑战。

  • 容器与云计算

    Docker容器和集群管理技术的背后是什么原理,能解决什么问题,有什么最新进展?关注Docker容器技术, Mesos等集群管理技术的原理和实践,容器相关的云计算服务。

  • 基于大数据的机器学习技术

    本专题将介绍业界最为前沿的大数据和机器学习技术,以及它们在搜索、推荐和数据挖掘等场景下的应用实践。我们邀请了国内一线互联网公司的技术精英们,看他们是如何利用机器学习技术让大数据产生真正价值的。

  • 互联网产品案例研究

    通过一组经典互联网产品案例分析,看看他们在产品开发过程中对设计、技术和市场等因素的决策过程,是如果一步步走到今天的产品形态的,曾经放出哪些大招或者下出哪些臭棋。

  • 开发平台与服务技术实践专场

    本专场将邀请来自应用开发平台及服务供应商的资深研发工程师、高级程序员及技术专家,分享敏捷开发、搜索引擎优化、容器应用管理等方面的技术实践与创新经验,以及应用开发领域目前所面临问题的解决之道。