编程语言实战

会议室:多功能厅 2+3
出品人:何婧誉(Loretta)

我们希望讨论一些有趣的编程语言,比如 ReScript、Scala、Go 等等,... 展开 >

专题出品人:何婧誉(Loretta)

汇丰全球外汇及大宗商品计算技术负责人

何婧誉(Loretta),汇丰全球外汇及大宗商品计算技术负责人,汇丰香港固定收益、外汇及大宗商品业务技术负责人,剑桥大学计算机科学系毕业,平时爱好各种新鲜事物,不会的都想学一点看一点。兴趣范围从技术、数学、金融到桌游、国标、英文书法、语言学、哲学、钢琴等范围极广,属于样样都知道一些的典型 Jack of All Trades。有收集德式桌游及大型乐高模型的癖好。

技术上主要擅长 JVM 语言,尤其喜爱函数式编程。初入业内时有几年 Java 经验,2010 年遇见 Clojure 之后顿时被其简洁的语法、简单的写法及极具表达力的特性深深吸引,2011 年得以专业写 Clojure 5 年,后在大摩专攻 Scala 三年多,后又在简街(Jane Street)写了几个月 OCaml。现于汇丰主职设计用于计算金融市场及信用风险的分布式计算系统。

业余也爱好各种概念新鲜的小众语言,如 Factor 和 Pony,当然最爱还是 Lisp-1 系列。

地点:多功能厅 2+3

专题:编程语言实战

我们希望讨论一些有趣的编程语言,比如 ReScript、Scala、Go 等等,并通过几个典型案例,分享这些编程语言是如何高效解决特定领域问题的。

by 张宏波

IDEA 研究院
基础软件中心讲席科学家、ReScript 语言作者

ReScript 是首个由中国人主导,在国际范围内拥有一定影响力的通用程序语言;该语言诞生于作者个人兴趣项目,后建立了来自世界各地的活跃社区(forum.rescript-lang.org),除英语外,ReScript 语言官方文档也被翻译成韩语、葡萄牙语等多国语言。ReScript 是一个由作者全程主导了整个程序语言工具链开发的语言,包括语言设计、编译器、构建系统、标准库、社区的培养等,因此对整个基础软件从开发到生态培养有着一个更好的全局的视角。

ReScript 的主要后端 JavaScript 虽然生态广泛,但是在某些对性能要求较高的场景依然受限。新一代跨平台标准指令集 WebAssembly 的发布,因为高效、轻便、安全、可以运行在服务端等特性弥补了 JavaScript 的这些缺点。但现在 WebAssembly 平台上主要的开发语言依然是 C++/Rust 这些相对程序员来说门槛较高的底层编程语言,而一些应用层的语言如 Go 语言在 WebAssembly 上输出的体积巨大,无法更好的发挥 WebAssembly 平台的优势。

为了弥补这一生态缺失,IDEA 开发的新一代软件开发平台 Moonbit,同时支持多后端(JavaScript/WebAssembly),并且对 WebAssembly 提供一等支持。与此同时,我们也将探索 IDE,构建系统,语言设计如何协同创新来给用户带来最好的体验,缩短 IDE 的响应时间;而在性能方面,我们将从架构上考虑如何做好全局优化,来达到代码体积和性能的最优。

本次分享将介绍 ReScript 语言的发展历史及其背后成功的原因,并结合云原生、开源等时代背景与 WebAssembly 等新兴技术,探讨了新平台在程序语言中后发领先的可能机会;最后,我们会分享下一代软件开发平台 Moonbit,通过已有的平台实操案例,向听众展示全新云端开发工具链的全方位特点及功能。

演讲提纲:

1. ReScript 语言发展历程与经验

  • ReScript 语言发展历史
  • ReScript 语言成功的原因
  • ReScript 语言的现状以及使用情况
  • ReScript 编译器内核

2. 当下程序语言发展机会与挑战

  • 从性能、平台及新一代指令集 Wasm 阐述当下语言机会
  • 当下程序语言面临的挑战

3. 下一代软件开发平台(Moonbit)

  • 平台设计背景、目标和特点
  • 全局优化设计+专为无用代码设计
  • Wasm 最佳支持,同步支持 Native、JavaScript 等多平台
  • 里程碑(Milestone Acheived):平台落地情况,已实现功能
  • 未来平台演进方向及发展潜力
  • Demo 操作演示

你将获得:

了解 ReScript 语言发展历程,成功经验,语言发展现状

了解 当下程序语言发展机遇与面临的实际挑战

了解下一代开发平台的设计逻辑、落地实况及可实现目标

by 刘鑫

CSDN
人工智能组开发工程师、编程语言专家

by 朱德江

蚂蚁集团
技术专家、Envoy Go 扩展 Code Owner

现代的网关使用场景越来越多,从南北接入,到 Service Mesh,功能角色也越来越多,负载均衡,服务治理,安全,等等。在云原生时代,很多基础能力已经逐步标准化,但还是大量长尾的非标准化需求,典型如蚂蚁的 LDC 单元逻辑。 尽管 Envoy 非常注重可扩展性,提供了良好的的扩展接口,也提供了原生的 C++,以及 Wasm,Lua,ext-Proc 等这些扩展机制。不过,Envoy 的扩展上手门槛依然是比较高的,研发效能也不尽如人意。 反观 Golang 上手门槛低,生态丰富,工程化能力强,很适合协作。因此,我们提出了 MoE 架构,将 Golang 嵌入到 Envoy,当做 Envoy 主链路上的扩展,如此重度的应用,在业界也算鲜有的尝试。 本次分享,将从网关的发展趋势,以及 C++,Golang 的语言生态位来阐述,为什么我们选择将 Golang 嵌入 Envoy。还将详细阐述,在具体实践的过程中,如何解决内存安全,并发安全,沙箱安全,同时享受 Envoy(C++) 和 Golang 的技术红利。以及 cgo 这个技术,作为 Golang 和 C++ 通讯的桥梁,在这次实践中也是业界鲜有的重度使用,我们是如何完成耗时优化,调度优化等。以及,MoE 架构在蚂蚁的落地实战经验。 

演讲提纲:

1. 背景与趋势

  • 网关的发展历程
  • 当前面临的变化:Service Mesh & Cloud Native

2. 两层架构的设计

  • 底层框架 vs 长尾需求
  • C++ 与 Golang 的语言生态位置

3. Envoy 和 Golang 的融合

  • 内存安全
  • 并发安全
  • 沙箱安全

4. cgo 优化

  • CPU 耗时优化
  • Goroutine 调度优化
  • GC 优化

5. MoE 架构的现状和未来

  • 在蚂蚁内部在落地状况
  • 在 Envoy 社区的进展
  • 未来基于 MoE 架构的网关产品 

你将获得:

  • 了解 MoE 架构选型的初衷,利弊分析,落地经验
  • 了解 Golang 与 C++ 融合的实战经验
  • 了解 cgo 深度优化的实战经验 

交通指南

广州·粤海喜来登酒店

Hilton Guangzhou Baiyun
地址:广东省广州市天河区天河南街道天河路208号粤海天河城商业F3
  • 微信咨询

  • 电话咨询

    联系电话:+86 18514549229

微信联系我们

在报名过程中如有任何问题,欢迎微信扫描二维码联系我们的票务经理