vimfun / Java_FP_example

Java Functional Programming Example (just for my share in Unipus Developer Team)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

引语

今天下午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的一个例子(这个可能要放在下一节中去讲)[ 其实可能不会再讲这部分了:( ]


Just for Vim command
    :!javac -cp vavr-0.9.0.jar FunctionalProgramming.java && java -cp vavr-0.9.0.jar:. FunctionalProgramming

About

Java Functional Programming Example (just for my share in Unipus Developer Team)


Languages

Language:Java 100.0%