分享一位影响业界的巨人,RxJava的设计者 —— Erik Meijer

前言

本人在接触RxJava以后,因为被其独特的优雅之处深深吸引,便自发的了解一些背后的历史(考据狂本质),在了解以后十分想为你们分享这位站在RxJava背后的巨人 —— Erik Meijer。php

注:因为本文大多数连接来自Youtube。并且还没有发现国内有转载。因此几乎有所视频可能都须要FQ观看。敬请谅解。所谓 Knowledge comes to those who crave for it. 我相信对你们来讲这应该不是问题。程序员

背景

Erik Meijer 出生于库拉索,是一位资深学院派计算机科学家,同时也是一位企业家,和扎染爱好者面试

早先在微软做为软件架构师,对.Net,F#等有重要贡献。包括LINQ,Volta,Rx.Net等等。至今Rx扩展到多种语言,尤为以RxJava和RxJs最为出名。编程

同时 Erik Meijer 做为坚决的学院派,参与设计Haskell。而且也参与推出一系列课程好比:C9 Lectures: Dr. Erik Meijer - Functional Programming Fundamentals架构

在离职微软后,与facebook合做参与设计 Hack (php的一种方言)。与Google合做参与设计 Dart。机器学习

目前 Erik Meijer 在Facebook就任,而他的主要工做就是咱们讨论的不少的人工智能。主要课题就是如何训练模型来自动生成代码。异步

Erik Meijer 与 Rx

Erik 本人其实也出过许多的Rx解释视频。其中最为精华的我认为即是这个Expert to Expert: Brian Beckman and Erik Meijer - Inside the .NET Reactive Framework (Rx) 。我也是第一次从这个视频接触到 Rx 是从IEnumerable(Java 中的Iterable)来推导出。也第一次从这个视频了解到 Erik 是如何将 Monad 的概念应用到 Rx 中,来使其更增强大。 从 IEmuerableIObservable 一个简单的对偶操做。极大的简化了异步的复杂度。Erik 本人也称 Rx 是异步的表现形式(representation of asynchrony)。 对这个概念的具体解释,能够参考个人以前一篇文章:一篇不太同样的RxJava介绍 async

Erik Meijer 与 Machine learning

我第一次据说到Erik Meijer 是有些惊讶却又以为理所固然的。 惊讶是我我的觉得他会继续在软件架构或者函数式编程上继续深造。而理所固然的是,他本人做为数学的狂热爱好者,作以数学为主的机器学习就显得十分理所应当。ide

我第一次接触是在Erik Meijer 在一次 Kotlin Conference 中提到:KotlinConf 2017 - My Life as a Tech Transfer Monad by Erik Meijer 。 虽然他在研究机器学习相关,他本人并不认同“人工智能”这一说法。他认为这只是对数据的一个通常化(Generalization),而且用的是18世纪的古老数学:贝叶斯几率公式。 视频中,他有讲到在咱们目前的软件工程世界(Software 1.0)。程序员喝咖啡(吃零食),写代码。而在新世界(Software 2.0)。咱们给机器输入数据,经过机器学习来生成模型。 函数式编程

软件
而模型与代码的重要区别就是:代码是精确的,例如一个 Boolean类型就必定只会是 truefalse。而模型是不肯定的,他的结果多是一个几率分布,例如80%可能性下是true,20%是false。 另外一个区别是代码是离散的,模型是连续的。
代码与模型的区别
并且也由此引出了,贝叶斯公式其实其实是一个Monad(真的是万物皆可Monad)。
Monad
至此,后面Erik讲到他将经过几率编程(probabilistic programming)的方式,来对模型进行训练。从而实现机器本身生成代码而不是由人来进行手写代码。 因为本人对机器学习,几率编程等等概念并非十分了解。因此也不在此多作解释。有兴趣的同窗能够观看视频尝试理解一下。 视频中也提到了他们团队目前的一些目标:

Goals

看了以后以为若是真的在短时间内作成功,可能我这种程序员就要面试“失业”了吧。固然,拥抱将来和变化的咱们,也不该该恐惧。而是更加期待这一天的到来。

总结

短短一篇博文确定不能概述Erik对业界的贡献。并且做为一个普通程序员,我对这种级别的大神的了解只能停留在Conference和一些视频,文献等等资料中。仅仅是冰山一角。可是他的种种贡献对我能够说是改变了人生轨迹。从一个过程式编程程序员慢慢走向了函数式的世界。 也从RxJava等等中了解了数学以及范畴论中一些的一些理论。更在以后的讲座中了解几率编程这种目前来看十分超前的概念。 他在视频中说到:

若是纠结于Framework诸如 Vue和React 哪一个更好,Flutter和Kotlin哪一个更该学这种问题,咱们无疑是自掘坟墓。

这句话也是我想分享给你们这篇的主要缘由。虽然生活不易,可是若是想在技术上有一些建树,就不要把眼界放的太窄,只纠结于眼前这些区别不大而又收获甚微的细节。

最后

虽然此次其实也是因为某位粉丝强烈催更下写出。但本着写文章就不要水的原则。也是纠结了好久的主题。但愿你们看完这篇会有所收获而不会以为浪费了人生中宝贵的5分钟。

相关文章
相关标签/搜索