函数式编程学习之路(14)

谢奇略
2023-12-01

科学家的逆袭:

    数据库服务初创公司Cloudant是由三位麻省理工的物理学家联合创立,他们当时致力于分析大型粒子对撞机的海量数据,不过在研究的过程中,管理和分析大数据的可用性工具竟然受限,于是他们构建了一个新的数据库服务。

    Good,科学家逆袭成功,而这引出了一个新东西,就是JSON格式的数据库!

    然后又引出这个:

什么是 CouchDB?
CouchDB 是一个开源的面向文档的数据库管理系统,可以通过 RESTful JavaScript Object Notation (JSON) API 访问。术语 “Couch” 是 “Cluster Of Unreliable Commodity Hardware” 的首字母缩写,它反映了 CouchDB 的目标具有高度可伸缩性,提供了高可用性和高可靠性,即使运行在容易出现故障的硬件上也是如此。CouchDB 最初是用 C++ 编写的,但在 2008 年 4 月,这个项目转移到 Erlang OTP 平台进行容错测试。

 

    最后就是Google的MapReduce:

最简短的语言解释MapReduce:

We want to count all the books in the library. You count up shelf #1, I count up shelf #2. That's map. The more people we get, the faster it goes.

我们要数图书馆中的所有书。你数1号书架,我数2号书架。这就是“Map”。我们人越多,数书就更快。


Now we get together and add our individual counts. That's reduce.

现在我们到一起,把所有人的统计数加在一起。这就是“Reduce”。

其中涉及一个概念:RESTful

什么是REST?
REST (REpresentational State Transfer) 描述了一个架构样式的网络系统,比如 web 应用程序。它首次出现在 2000 年 Roy Fielding 的博士论文中,他是 HTTP 规范的主要编写者之一。
REST 指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是 RESTful。


 

结合HTML, Javascript, JSON, Web Api, 加上上面那些东西来拼图,那么一幅图象产生了.这就是基于函数式编程的简化互联网开发模式.是一种完全取代现有开发模型的新方法,它是这么干的:

界面层:

Html+CSS呈现,运行在浏览器里.

编程语言:Javascript

数据模型:JSON

后台服务标准:RESTful, 也是基于JSON

Web服务:Node.js编程语言也是Javascript

数据库:JSON数据库

数据库分布式:MapReduce

搭建这样的一个开发框架:其带来的好处就是无限制的兼容,无限制的跨平台,无限制的分布式,无限制的性能,无限制的界面,无限制的移动...

这样的一个开发平台,对于程序员需要掌握什么技术?

基本的前端html+css+javascript

基本的后端:javascript+json

而其中json, html,css都是一些格式定义,理解起来相当简单.只需要学习javascript,而javascript是所有编程语言中最容易入门的.

可见,这种模式每个人都可以编程,最小集可以写个Html页在浏览器里玩,极限可以开发云计算.这可能会是互联网技术发展大同吗?

 

 类似资料: