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?
相关阅读
连scala都出series了IntelliJ热部署经常失败是什么原因?gcc编译选项 -lpthread vs -pthreadknuth dead?STL怎样同时重载()和< ?有人看好flink和storm吗请教一个图像相关的问题【科技】 来晒一晒你觉得最黑的科技 (转载)mobile app后端:parse倒闭后的糙快猛选择VisualStudio的LoadTest咋入门?golang现在发展的如何了??在各大公司。用python生成傻shell脚本如何?【考古】windows设计的真的比linux好?问个问题,关于隐藏实现细节, C plusplus请问这个cmake规则如何写?c字符串的问题go中如何在一行中定义多个不同类型的局部变量,并且初始化?未上市公司的RSU如果vested了是不是还得算收入报税?search in dictionary is O(1)Facebook开源了围棋人工智能 DarkForest