写点什么

面向基础软件领域,ReScript 编程语言中文文档正式上线

  • 2022-11-18
    北京
  • 本文字数:2073 字

    阅读完需:约 7 分钟

面向基础软件领域,ReScript编程语言中文文档正式上线

ReScript 是什么?

ReScript是由 IDEA 讲席科学家张宏波于 2015 年设计的一门静态函数式语言,由国人主导设计研发,且目前已成为了在国际上有一定影响力的通用程序语言。

 

ReScript 起源于 OCaml,能被编译成高质量、可读性强的 JavaScript 代码,其性能在同类型语言中遥遥领先,ReScript 本身也被用于OCaml官方网站的搭建。

 

ReScript 语言有着相对活跃的国际化社区。这门程序语言曾被多个业界巨头使用,如 Meta 用于Messenger 和 Chats,Google 用于WebAssembly spec;此外,ReScript 在全球范围也具有一定的影响力,曾被欧洲、澳洲、北美、亚洲甚至中东的数百家公司采用,如欧洲的 Wolt、 澳洲的 TinyMCE、韩国的 GreenLabs、印度的 Porter 以色列的 AT&T 等等。截止目前,ReScript 全球累计下载量近 3 百万,每周平均下载量约 1.5 万次。

 

ReScript 社区在线下也有过比较积极的交流,在疫情前曾分别在维也纳,芝加哥共召开过三次 ReScript 全球开发者大会。此外,ReScript 编译器本身的贡献也非常多元化,除了原作者张宏波本人以外,有来自世界各地近 300 名的贡献者,目前累计约 1.4 万多次提交。其核心开发人员中也不乏业界权威如Cristiano、著名的静态分析软件Infer的作者。 ReScript 作者在加入 IDEA 之前,因其在社区的特殊贡献成为 Meta 在中国大陆的唯一一名特聘软件工程师。

 

ReScript 社区还具有多元化的特点,目前社区已经贡献了英文官方文档并被翻译成韩语、葡萄牙语等多国语言。ReScript 作者离开 Meta 后致力于中文社区的推广,开设了国内首门以 ReScript 语言来实现的程序语言理论和实践公开课程。同时,为了让国内开发者更方便地学习和入门这门语言,在社区众多志愿者的帮助下,完成了中文文档的首次发布。

 

本次 ReScript 中文文档上线,不仅能够降低该语言对于国内开发者的学习门槛,还能为之后中文社区的建设夯实基础。欢迎广大开发者使用 ReScript 做出更多技术性尝试,一起为我国的基础软件领域发展添砖加瓦。

 

文档主页:https://rescript-idea.github.io/

ReScript 语言中文手册:https://rescript-idea.github.io/docs-cn/manual/latest/introduction

为什么选择 ReScript?

 

开发者所使用的编程语言除了会影响日常所写的代码,还会塑造这门语言的使用者在编写程序时的思维方式,甚至也会影响到其在开发软件以及设计架构时的思维方式。

 

另外一方面,软件开发所选择的程序语言会影响代码的可靠性、安全性和性能,从长远来看也影响开发者阅读代码的流畅度,以及对现有代码进行重构和扩展的复杂度。

 

ReScript 采用了过去几十年业界和学术界一些关键语言特性的优雅组合,使其具备了效率、表达能力和实用性的良好平衡。

 

ReScript 具有两大亮点,一是类型系统:在程序执行之前,编译器会检查数据的类型和对其进行的计算是否相匹配。对于出现类型不匹配情况的程序,类型系统会进行报错,而不会在执行程序的过程中出现未定义行为或者程序崩溃的情况。这有助于帮助语言的使用者及时排查出程序中可能存在的 bug,从而提升程序的可靠性和稳定性。

 

另一大亮点是 ReScript 可以沿用当前JavaScript的生态,ML 语系很多方言设计的很优雅,但是当需要做工业应用的时候往往因为缺乏完善的第三方库而让人望而却步。ReScript 得益于和 JavaScript 共用运行时,使得业界可以快捷方便地拿来作为主要工具语言开发工业级应用,而不会产生大量的额外负担。

 

ReScript 曾被著名程序员 Paul Biggar(连续创业者: CircleCI、Darklang 的创始人,程序语言专业博士)认为是可能是 JS 平台上最好的编程语言。



虽然同赛道的 TypeScript 搭配孪生项目 VsCode 已经占据了绝大部分市场份额,但由于设计思路上更具远见,在未来,ReScript 仍然有机会可以成为国产基础软件的一个突破。

未来 ReScript 将如何发展?


ReScript 是由国人主导设计的一门编程语言,未来它的发展将立足中国,拥抱世界,努力培养一个开放,多元化的社区。

 

在语言本身发展方面,ReScript 将加速和 TypeScript 的整合,提高和 TypeScript 的互操作。同时,由于 ReScript 的类型系统的可靠性,ReScript 也将聚焦去实现一些 TypeScript 不能做到的事情,如将更多的类型信息用于代码优化,对多后端如 WebAssembly 的探索。

首个以 ReScript 语言实现的程序语言理论与实践公开课上线

 

程序语言与编译器的设计与实现体现了计算机科学中的最核心的思想和技术,并且和业界新兴的技术领域,如人工智能加速芯片、云计算、物联网等都有着非常重要的联系。但目前在国内一直存在缺少优质教学资源、入门难、领域人才稀缺的问题。

 

最近,IDEA 基础软件中心在 bilibili 平台推出由张宏波亲自讲授的《程序语言理论与实践公开课》,这是首个以 Rescript 语言进行教授的编程语言课程。

 

这门公开课的制作团队曾深度参与过哈佛、耶鲁、宾大相关课程的制作。课程以理论与实践相结合的方式讲授编程语言最核心内容填补了国内该教学领域的空白,意在培养更多学生及业界同行对基础软件相关领域的兴趣,为国内基础软件行业贡献一份力量。

 

参考链接:

https://idea.edu.cn/dii.html

https://bobzhang.github.io/courses/

https://space.bilibili.com/1453436642/video

https://www.zhihu.com/column/c_96822072

 

2022-11-18 10:232843
用户头像

发布了 460 篇内容, 共 145.9 次阅读, 收获喜欢 600 次。

关注

评论

发布
暂无评论
发现更多内容

模块一作业2(毕设构架设计)

Laintime

模块五作业

seawolflin

架构训练营

手撸二叉树之合并二叉树

HelloWorld杰少

8月日更 数据结构算法

Go- 字符串

HelloBug

索引 字符串 Go 语言 拼接 长度

【六顶思考帽】蓝色思考帽

LeifChen

8月日更 创新思维 蓝色思考帽

模块一课后作业

穿裤子的云

架构实战营

Linux之uniq命令

入门小站

Linux

为了完成小姐姐安排的打分系统,又熬了一个小时的夜补充视图与模板

梦想橡皮擦

8月日更

@ConditionOnClass的使用

Rubble

8月日更

ansible 循环

耳东@Erdong

ansible 8月日更 ansible 循环

Android EditText输入框实现下拉且保存最近5个历史记录

Andy阿辉

android Android 小菜鸟 编程思想 8月日更

vue入门:vuex概括与使用

小鲍侃java

8月日更

CSS的设计模式(二)BEM与SMACSS

Augus

CSS 8月日更

几种常用设计模式的简单示例

编程三昧

JavaScript 大前端 设计模式 8月日更

四种常见的 POST 提交数据方式

一个大红包

8月日更

如此爱国,必然自毁长城

箭上有毒

8月日更

高尚小区

escray

生活记录 8月日更

面试篇:虚拟机栈5连问,一听心里就乐了

阿Q说代码

面试 JVM 8月日更 虚拟机栈

在线BMI身体质量指数计算器

入门小站

工具

Yarn资源调度框架

布兰特

YARN

Android开发:新建后缀为txt的文件并且使用的步骤

三掌柜

8月日更 8月

Golang协程之了解管道的缓存能力

Regan Yue

协程 Go 语言 8月日更

IDEA2020.1构建Spring5.2.x源码

4ye

Java spring 源码 后端 8月日更

架构训练营第一模块作业(1)微信业务构架图学习

Laintime

架构实战营

使用Redisson优雅关闭订单

码农参上

redission 8月日更

ShardingSphere源码解析 初步准备

Java 源码 ShardingSphere

zookeeper集群怎么搞?

卢卡多多

zookeeper 8月日更

Java技术开发专题系列之【Guava Collections】实战使用相关Guava不一般的集合框架

洛神灬殇

Java Guava 8月日更 Guava Collections

Vue进阶(五十三):vue-cli 脚手架 webpack.prod.conf.js 配置文件详解

No Silver Bullet

Vue 8月日更

【LeetCode】压缩字符串Java题解

Albert

算法 LeetCode 8月日更

Android.mk

Changing Lin

8月日更

面向基础软件领域,ReScript编程语言中文文档正式上线_文化 & 方法_李冬梅_InfoQ精选文章