当前播放: 关于“时间”的各种编程与API设计问题
00:00 / 00:00
普清
  • 高清
  • 标清
  • 普清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
合辑:编程语言实践案例
基于Kotlin协程实现异步编程
以Null的处理、回调地狱的应对为例,看C#背后的问题解决思路
关于“时间”的各种编程与API设计问题
从Observer到Observable:使用Functional Swift提升复杂iOS项目的可维护性
迁移至Go,老瓶新酒:讲给Java/C++开发者的Go高效并发编程
唯快不破:高效定位线上Node.js应用内存泄漏

关于“时间”的各种编程与API设计问题

贺师俊 百姓网前端工程师

贺师俊,百姓网前端工程师。

内容介绍

在编程时多少会遇到需要处理“时间”的情况,在各语言平台下通常也会内置时间相关的 API。“时间”作为一个问题领域:第一,非常常见;第二,往往比想象中的要复杂!因此程序员常会因为轻视它而踩坑。实际上,就连语言和库设计者也不能例外。JavaScript 语言在 1995 年诞生时因为只有十天时间,并且因为管理层要求“像 Java”,所以内建的 Date 直接照搬了 Java 1.0 中 java.util.Date 的设计。然而该 API 却非常糟糕,以至于在 1997 年 Java 1.1 中就被 deprecated 了。不幸的是,因为种种原因,此 API 却一直在 JavaScript 中沿袭了 20 多年至今。这些年以来,在 JavaScript 社区中出现了许多非常优秀的类库和框架,2011 年诞生的 Moment.js 作为一个仅仅专门用于时间处理的库,也忝列其中。然而 Moment.js 至今仍然有一些重大缺陷。另一方面,Java 1.1 之后的 java.util.Calendar 也仍然一直被诟病,从而出现了如 Joda-Time 这样的库,并成为了事实标准。可是 Joda-Time 也不是没有问题。最终直到 2014 年发布的 Java 8,才包含了重新设计的 java.time 包。以 Java 和 JavaScript 为代表的主流工业语言及其社区的历史经验证明,设计一个好的时间 API 远比我们想象的要困难得多。本次分享将以 JavaScript 语言标准新的 Temporal 提案为核心,结合前述历史,探讨“时间”这一领域的各种编程问题和 API 设计问题。

展开
22
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
其他推荐
33:16
PerfLabs: 以Cloud Native的姿势进行应用测试和调优
乐鸿辉 携程高级研发经理
免费
38:40
NBF:新零售服务开放的Serverless架构与深度实践
冯微峰 阿里巴巴高级技术专家
免费
42:37
诗和远方:蚂蚁金服Service Mesh深度实践
敖小剑 蚂蚁金服高级技术专家
免费