晓松奇谈说目前的国际形式类似于一次世界大战前。当时也是国际商品、人员交流频繁,国家观念淡薄,但最后还是发生了惨烈的两次世界大战。

Posted in Uncategorized | Comments Off on 晓松奇谈说目前的国际形式类似于一次世界大战前。当时也是国际商品、人员交流频繁,国家观念淡薄,但最后还是发生了惨烈的两次世界大战。

面向对象 vs 函数式

  • 函数式是可变数据和不可变数据分开的。
  • 函数式是可执行和不可执行分开的。
  • 函数式是不变的,面向对象是多变的。
  • 不可变的好处
    • 函数式更明确,就像unix的命令一样。屏蔽了实现。函数式就像unix命令一样让人熟悉。
    • 不可变,大家的交流语言就是统一的。
    • 面向对象方便更改也增加了复杂程度。因为要面对多个对象。
  • 可变的好处
    • 面向对象则是多变的。可以适应复杂的情况。方便进行更改。
    • 面向对象对命名的负担清。
    • 函数内部引用参数则比较繁琐,直接引用,需要写结构名,如果想简化,就要重新赋值。
  • 高级与底层
    • 面向对象更高级,更符合人的思维。
    • 函数式更底层,更有执行效率。
  • 适用
    • 面向对象适合写只用在一个地方的东西。
    • 函数式适合写大家都用的东西。
  • 互通
    • 函数式可以用结构数据类型来模拟面向对象。
    • 函数通过可选项来保持变化。
    • 函数式是必须要有一个参数,面向对象是必须要有一个对象。
  • 顺便说
    • 王垠:链表比数组的消耗大。
    • 动态语言就是可重载、数据可变、不区分执行和非执行,也就是和面向对象特征相似。
    • c语言之上的编程语言,为了适应c语言,都函数式特征明显,都排斥面向对象。
Posted in Uncategorized | Comments Off on 面向对象 vs 函数式

我在知乎回答了哪个编程语言最漂亮

http://www.zhihu.com/question/19643954/answer/44337818

haskell确实漂亮。只是多范式的编程语言更有前途,我推荐一个多范式的漂亮的编程语言:iolanguage。iolanguage漂亮在哪里:

iolanguage是没有括号的lisp,用惰性参数等方式实现了宏。

iolanguage是没有语句的,方便自定义。

iolanguage程序看起来和haskell一样,最多的是等号,书写简洁。

不区分函数和变量,无参数的函数调用不用写括号,这样函数调用就和haskell一样简洁。

是纯面向对象的。就是基本书写顺序是:“对象 方法”,和函数调用常常相反,函数调用是“函数名 参数”。面向对象能解决命名问题,命名更漂亮。

是没有类只有对象的面向对象,也叫基于原型的编程语言。没有类,语言更简洁。

是不用self的面向对象语言,很多面向对象语言大量的self,很啰嗦。

Posted in Uncategorized | Comments Off on 我在知乎回答了哪个编程语言最漂亮

我在知乎上回答了惰性求值

http://www.zhihu.com/question/20009057/answer/44332778

我理解的惰性求值就是程序代码没有先后顺序。如下:

a = b + 1
b = 1

可以先引用,后定义。

这样,python和ruby的惰性序列,和惰性求值无关,只是一种程序性能优化。dlang的惰性参数,我没理解,iolanguage的惰性求值我知道,就是一种宏定义方法,也和惰性求值无关。

确实,能定义函数的语言都有惰性求值功能,函数定义就是惰性求值。只是,很多编程语言区分函数和变量,这样,写出来的代码很难看,有很多括号。比如

def a():
    return b()+1
def b():
    return 1

iolanguage、rebol是不区分函数和变量的,smalltalk有可能也是,这样就好看多了:

a := method(b+1)
b := method(1)

racket有一个方言,就是惰性求值的,我还没搞懂这个惰性求值的方言怎么和其它语言混合编程。

毕竟是过程式编程语言,haskell的where是实现不了的,其它编程语言哪个有where请告诉我,看haskell:

a = b + 1 where
    b=1

只有where才符合人的思维,先标题后内容,就像写文章一样。过程式的编程语言如果习惯了看程序从后往前看,也是一样。

其实惰性求值不难实现,只要在原有语言基础上新建一个语言就行了,就像coffeescript和javascript的关系那样。

我的网站: tomzheng.com 网站将来编程语言方面的内容会有一些。

Posted in Uncategorized | Comments Off on 我在知乎上回答了惰性求值

本来ios app都非常安全,只能查看自己的数据。现在有了icloud drive,变得非常不安全,都可以查看、添加、编辑任意app的数据。不过也可能是安全的,所有操作都需要人工确认。

Posted in Uncategorized | Comments Off on 本来ios app都非常安全,只能查看自己的数据。现在有了icloud drive,变得非常不安全,都可以查看、添加、编辑任意app的数据。不过也可能是安全的,所有操作都需要人工确认。

用了手写输入法才知道我多年以来“算”字都没写对。

Posted in Uncategorized | Comments Off on 用了手写输入法才知道我多年以来“算”字都没写对。

创业就像炒股,里面有很多盲目自信的人.

Posted in Uncategorized | Comments Off on 创业就像炒股,里面有很多盲目自信的人.

要小心王垠的删除大法。网站和博客的文章删了很多。

Posted in Uncategorized | Comments Off on 要小心王垠的删除大法。网站和博客的文章删了很多。

** google vs mozilla

| google             | mozilla    |
|——————–+————|
| go                 | rust       |
| js                 | dart       |
| chrome             | firefox    |
| 安卓               | firefox os |
| 浏览器运行本机代码 | asm.js     |
| 财力雄厚           | 相对资源少 |
|                    |            |

Posted in Uncategorized | Comments Off on ** google vs mozilla

互联网思维就是比连锁经营、消费品品牌、电视广告,更快发展,更
快获得用户。

Posted in Uncategorized | Comments Off on