惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
C
CERT Recently Published Vulnerability Notes
C
Cybersecurity and Infrastructure Security Agency CISA
P
Proofpoint News Feed
Security Latest
Security Latest
P
Privacy International News Feed
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
AI
AI
Cisco Talos Blog
Cisco Talos Blog
K
Kaspersky official blog
S
Secure Thoughts
PCI Perspectives
PCI Perspectives
Simon Willison's Weblog
Simon Willison's Weblog
D
DataBreaches.Net
GbyAI
GbyAI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
大猫的无限游戏
大猫的无限游戏
T
Tailwind CSS Blog
The Cloudflare Blog
阮一峰的网络日志
阮一峰的网络日志
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
罗磊的独立博客
V
Visual Studio Blog
aimingoo的专栏
aimingoo的专栏
H
Hackread – Cybersecurity News, Data Breaches, AI and More
IT之家
IT之家
V
V2EX
Last Week in AI
Last Week in AI
有赞技术团队
有赞技术团队
月光博客
月光博客
酷 壳 – CoolShell
酷 壳 – CoolShell
T
Tenable Blog
T
Threat Research - Cisco Blogs
T
Troy Hunt's Blog
V2EX - 技术
V2EX - 技术
S
Security @ Cisco Blogs
Security Archives - TechRepublic
Security Archives - TechRepublic
Project Zero
Project Zero
The GitHub Blog
The GitHub Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
L
Lohrmann on Cybersecurity
F
Full Disclosure
H
Help Net Security
博客园 - Franky
Stack Overflow Blog
Stack Overflow Blog
N
Netflix TechBlog - Medium
Engineering at Meta
Engineering at Meta
A
Arctic Wolf
O
OpenAI News
S
Securelist

博客园 - 人工智能-群513704292

再出发 新的一年快开始了,学点新东西吧,从React开始(一) ECMAScript 6 Features 中文版 必须清零 彩印网的第一阶段即将收官 终于感觉掌握了一门重要的技术 程序员的命运之轮 2015年开局 2014年总结 Swift来的正是时候 js的this和面向对象编程 js的this上下文的坑 JS正则表达式进阶 JS正则表达式基本概念 前端样板资源概览及总评 C#的前世今生,学会C#还能找到高薪工作吗? CSS基本知识6-CSS字体 CSS基本知识5-CSS对齐 CSS基本知识4-CSS行模型
终于理解了函数式技术
人工智能-群513704292 · 2014-06-15 · via 博客园 - 人工智能-群513704292

今天在随便看一些文章及思考的时候,突然就悟到了,这种感觉就象当年某一天领悟了面向对象。哈哈,我终于打通了任督二脉.

顺便看下,园龄刚好10年了。

当年理解面向对象后随手写了这篇:

http://www.cnblogs.com/DSharp/archive/2005/01/28/98632.html

面向对象编程的两顶帽子 

其实就是理解了面向对象的根本,定义和实现的两个面,通过接口关联了起来。世界都是通过这种方式来分类呈现的。所谓易经的阴和阳,阴阳转化不过如此。

今天领悟到的,就是易经里的那个不易,不变,就是函数式,函数的不变性,一致性,函数作为描述抽象及原理的,作为第一类的函数first function,就是终极。

所有的变化,最后都通过函数串了起来。而变化的后面,就是不变,以不变应万变。函数就是相当于太极,无级就图灵机,Lambda,太极就是函数。

易有太极,始生两仪,两仪生四象,四象生八卦。

函数产生了定义及调用。又产生了参数和返回值。最后组成了对象的定义和实现,然后派生了整个计算机世界。

可见,函数式编程的first function,改为all function也是可以的。先抛开函数式和面向对象的混合编程。我们来窥探下函数式。

函数的终级原理就是函数,函数是纯数学模型,具有不变性。比如function add(a, b) {return a + b};这就是函数式编程的原子。它就是一条数学规则。一致的输入产生一致的输出,比如我们给入1,1,给出永远是2.

那么函数式编程所架构的世界观,就相当于我们现实世界的物理及宇宙法则。变量是什么?是一个输入,为什么会有最初始的输入,这个已经无需考证,从虚空的无极诞生了太极,道生了一,然后就开始函数式演变了。

所以函数式编程的特点就在于所处规则,至于输入,在现实当中顺其自然就OK,我们关心的就是规则,比如上面的Add,这个规则一但实现,那么就可以搞定所有的加法,这就是函数式的威力,你就象是计算机中的上帝,你需要的就是制定规则。

那么函数式开发和现在流行的开发差异在哪里?我们搞面向对象,我们要去做实体,数据,控制器,业务逻辑,所有都是在模拟现实,而对象是什么?是变化的中间态,个体,实体,1,是一个对象,2,又是一个对象,张三是一个,李四又是一个。

然后呢,我们去做对象的类,就是类型抽象,人是一类,动物是一类,不停的分类,最终你会发现,分类也是无穷无尽的。这是一个永完也做不完的任务。

而函数式呢?定义规则,或者说声明,声明式编程,我们根本无需考虑类型和实体。所以说类型表面上好象很厉害,实际上,天地以万物为走狗,在上帝眼里,码农和土豪是一样一样的。

我们只要分规则就可以,一条大规则太复杂,怎么办呢?细分,函数嵌套,高阶函数,柯里化,比如add(funa(a), funb(b)), 规则要反复使用呢?递归。

在函数规则上使用几个大原则,世界就被定义出来了。这就是函数式!


当然了,理解了只是入世,我们还要出世赚钱,穷则省吃俭用,达则请客吃饭,接下来,理论联系实际,干出点有用的东西,还是需要不断的学习及探索的。