今天下午5点分享我对函数式编程的理解。(以我在现实工作中的一个小例子做引子)
函数式编程 曾经在我怀疑自己的是否适合编程写代码的时候 让我重拾对编程的乐趣与信心 函数式编程 是我从Java转Python的部分原因 函数式编程 让我工作中有了多一些的掌控感 函数式编程 我还在路上 ... ...
希望有兴趣的童鞋到时去捧场。
由于上周二的6点大家基本都走个差不多了,没走的,基本也有事在忙,在加班。 所以,这次分享我把时间定在了下午5点。(如果没有异议,我就在5点分享)
谢谢大家
先讲一个函数式的真实例子
再讲一下这个例子中,函数的一些体现
再讲函数的本质是什么?
f: x -> y
再讲函数的,我的理解
像咱们公司,出版教材
但要有编辑 才能出教材,
有的教材,也不行
(
敦煌书多不多?
教材多不多,
上下几千的文化资料,
前后几百年的积累,
周围几个国家的文明之凝聚
)
要有学生,学生学习教材
从上面来看我们公司的意义是什么?功能是什么?“函数”是什么?
传播文明 在帮孔子做事情,在帮上帝做事情,在帮阿拉做事情(虽然现在...)
他们是人类共同体的文明表现,我们在帮助我们整个的人类命运共同体
所以我们要有环境才能成就我们公司的事情
我们工作中也是,
要有产品,
要有研发, 每一个环节都是下一个环境的输入与输出
要有测试,
但放到大一点点的环境中,我们是一起做了多个产品(iWrite, iSpeak, iTest, U校园, U讲堂)
但大家一起在做一个共同的产品就是 Unipus,
然后大家一起为了**的外语教育提供线上教材。
而从教材这点上又是要有它的输入与输出
各种环节,各个步子,都可以理解成不同的 输入与输出。(当然也可以从不同维度去理解公司这个事物,比如财务、人力......)
我本人对函数式编程的最本质的理解:
摒弃杂念 只有两端 如若需要,观其内在
f : x -> y
放回在我们编程代码中来:
number (int, double, float)
string
tuple
list
map ==> DATA 数据
class
struct
function
所有一切都是数据到数据的映射, 都是"函数"
再讲函数的对工作帮助的巨大帮助,它的"输入和输出"和"各类接口"的比较
返回头回顾这个例子
再讲一个真实的工作中的例子,然后帮助大家提高理解,对函数式语言的应用。(由于时间关系,没有讲这部分)
再讲一个关于Monad的一个例子(这个可能要放在下一节中去讲)[ 其实可能不会再讲这部分了:( ]
:!javac -cp vavr-0.9.0.jar FunctionalProgramming.java && java -cp vavr-0.9.0.jar:. FunctionalProgramming