d*e
2 楼
假设fotran, cobal是上古语言。
第一代是pascal, c这种面向过程的语言
第二代事面向对象的语言。
第三代是fp和oop的结合。
现在看,es 6, swift, rust在语法和功能上相似点非常的多啊。
我预计最后都会提供let, option, try, promise, future,curry and patrial,简单的
OO. mixin or trait. collection和高阶函数。generator和各种comprehension. 将来
也许有coroutine?
第一代是pascal, c这种面向过程的语言
第二代事面向对象的语言。
第三代是fp和oop的结合。
现在看,es 6, swift, rust在语法和功能上相似点非常的多啊。
我预计最后都会提供let, option, try, promise, future,curry and patrial,简单的
OO. mixin or trait. collection和高阶函数。generator和各种comprehension. 将来
也许有coroutine?
z*e
4 楼
swift出问题的基本上都是fp的部分
if let的闹剧跟fp有很大关系
immutable真是没事找事
搞得{}里面无法重用let后面那个常量
需要更改时候,又不得不重新定义变量
导致内存使用上升,而且为了避开try catch和if != null判断
又引入了if let这个block,从本质上说反而降低了代码的可读性
当然知道if let啥意思的,就没啥问题,但是如果不知道
查起来都费劲,我是花了几个小时才弄明白这个啥意思
而且swift框架都是单线程,又不存在有并发冲突
这个时候搞成immutable,实在是不知道为了啥
如果有个if var判断,那我能接受,well,如果不考虑字面上的可读性的话
字面上的可读性甚至还不如try catch,要么干脆当初就不要搞这个
搞了这个之后,金字塔造了一堆,最后还不如回去用try catch
至少可读性更强,好处可能就只有一个,就是optional chain
就像这样if let a?.b?.c? as? d
但是optional chain本身又有debug的问题,一旦出错
都不知道是哪里出了问题,这个如果是exception
可以通过exception chain来解决,catch之后再catch
但是optional chain在debug时候可没这个优势,不过如果有人知道怎么区分
请务必告诉我,我的swift生产代码已经上万行了,庆祝一下
if let的闹剧跟fp有很大关系
immutable真是没事找事
搞得{}里面无法重用let后面那个常量
需要更改时候,又不得不重新定义变量
导致内存使用上升,而且为了避开try catch和if != null判断
又引入了if let这个block,从本质上说反而降低了代码的可读性
当然知道if let啥意思的,就没啥问题,但是如果不知道
查起来都费劲,我是花了几个小时才弄明白这个啥意思
而且swift框架都是单线程,又不存在有并发冲突
这个时候搞成immutable,实在是不知道为了啥
如果有个if var判断,那我能接受,well,如果不考虑字面上的可读性的话
字面上的可读性甚至还不如try catch,要么干脆当初就不要搞这个
搞了这个之后,金字塔造了一堆,最后还不如回去用try catch
至少可读性更强,好处可能就只有一个,就是optional chain
就像这样if let a?.b?.c? as? d
但是optional chain本身又有debug的问题,一旦出错
都不知道是哪里出了问题,这个如果是exception
可以通过exception chain来解决,catch之后再catch
但是optional chain在debug时候可没这个优势,不过如果有人知道怎么区分
请务必告诉我,我的swift生产代码已经上万行了,庆祝一下
g*g
14 楼
得了,fp比OOP还早。两者加起来都是80年代就有了。现在混一下就下一代了?
【在 d******e 的大作中提到】
: 假设fotran, cobal是上古语言。
: 第一代是pascal, c这种面向过程的语言
: 第二代事面向对象的语言。
: 第三代是fp和oop的结合。
: 现在看,es 6, swift, rust在语法和功能上相似点非常的多啊。
: 我预计最后都会提供let, option, try, promise, future,curry and patrial,简单的
: OO. mixin or trait. collection和高阶函数。generator和各种comprehension. 将来
: 也许有coroutine?
【在 d******e 的大作中提到】
: 假设fotran, cobal是上古语言。
: 第一代是pascal, c这种面向过程的语言
: 第二代事面向对象的语言。
: 第三代是fp和oop的结合。
: 现在看,es 6, swift, rust在语法和功能上相似点非常的多啊。
: 我预计最后都会提供let, option, try, promise, future,curry and patrial,简单的
: OO. mixin or trait. collection和高阶函数。generator和各种comprehension. 将来
: 也许有coroutine?
m*s
19 楼
为了fp而fp就是病态
假设fotran, cobal是上古语言。第一代是pascal, c这种面向过程的语言第二代事面向
对象的语言。第三代是fp和oop的结合。现在看,es 6, swift, ru........
【在 d******e 的大作中提到】
: 假设fotran, cobal是上古语言。
: 第一代是pascal, c这种面向过程的语言
: 第二代事面向对象的语言。
: 第三代是fp和oop的结合。
: 现在看,es 6, swift, rust在语法和功能上相似点非常的多啊。
: 我预计最后都会提供let, option, try, promise, future,curry and patrial,简单的
: OO. mixin or trait. collection和高阶函数。generator和各种comprehension. 将来
: 也许有coroutine?
假设fotran, cobal是上古语言。第一代是pascal, c这种面向过程的语言第二代事面向
对象的语言。第三代是fp和oop的结合。现在看,es 6, swift, ru........
【在 d******e 的大作中提到】
: 假设fotran, cobal是上古语言。
: 第一代是pascal, c这种面向过程的语言
: 第二代事面向对象的语言。
: 第三代是fp和oop的结合。
: 现在看,es 6, swift, rust在语法和功能上相似点非常的多啊。
: 我预计最后都会提供let, option, try, promise, future,curry and patrial,简单的
: OO. mixin or trait. collection和高阶函数。generator和各种comprehension. 将来
: 也许有coroutine?
相关阅读
一个印度人小公司样本请大家批判一下 What is Functional Programming?拿数学函数说FP,那么西格玛函数不就是for loop吗?面试做题是不是相当于古人当场写诗作赋java的AspectOrientedPrograming 就是屎请问python有什么好的中英词典吗?阿提雅 说他证明了黎曼猜想李彦宏称"百度没有占便宜,有信心再赢一次"还有王法吗?[bssd]我觉得我可以摆摊算卦了。函数式语言怎么实现常用数据结构?你们要不要第一人称写个小说人民日报欢迎Google回归, 百度: 我们有信心再赢一次!线性代数学的好的进来一下 (转载)库存管理是用数据库还是缓存类的其它记录方式比较好?“玩抖音不到半年,我买了一套房”[bssd]我以前算过黎曼函数零点现在机器学习的都用什么语言了你们写JAVA用月食还是intelliJ? (转载)被keras干死了