
编程语言
闭眼卖布
微信公众号:闭眼卖布
展开
-
编程语言的一些基础概念(一)
世界上最好的编程语言是什么?这就好像问 世界上最好的车是什么车?F1 比赛的,日常家用的和跑山路的最好的车显然是不一样的。同理,不同的编程语言也有他们最适合的使用场景,程序员们通常都会个几种语言,因为工作需要可能要学新的语言。不同编程语言之间是不是完全不一样呢?他们之间有没有什么共同点是不同语言间类似的呢?有没有一些最基本的概念?最近在看了 Coursera 上的 Programmin...原创 2019-06-09 17:55:00 · 681 阅读 · 0 评论 -
编程语言的一些基础概念(二):动态函数式编程
在上一篇《编程语言的一些基础概念(一)》中,通过静态类型的函数式编程语言,介绍了一些编程语言的特性,包括数据不可变,尾递归,匿名函数等。这一篇在上篇的基础上,通过 Dynamic Typing (动态类型) 的函数式编程语言 Racket,再介绍一些编程语言的特性,比如 Stream, 惰性求值, 宏 Macro 等。括号的使用天花乱坠的括号,这是 Racket 和 LISP 等这类语言最直观...原创 2019-06-22 17:04:50 · 833 阅读 · 0 评论 -
静态类型和动态类型有什么区别?
编程语言按照类型检查可以分为两大类:**静态类型 (Static Typing) **和 动态类型 (Dynamic Typing)。在现在比较流行的这些语言里,静态类型的代表人物有 Java、C/C++、Golang 等,动态类型有 Python、Ruby 等。静态类型和动态类型有什么区别呢?为什么在程序语言设计时要考虑是静态还是动态?在写代码时,Python 写起来简洁,效率高,可能100行...原创 2019-07-01 14:30:25 · 11130 阅读 · 1 评论 -
编程语言的一些基础概念(一):静态函数式编程
世界上最好的编程语言是什么?这就好像问 世界上最好的车是什么车?F1 比赛的,日常家用的和跑山路的最好的车显然是不一样的。同理,不同的编程语言也有他们最适合的使用场景,程序员们通常都会个几种语言,因为工作需要可能要学新的语言。不同编程语言之间是不是完全不一样呢?他们之间有没有什么共同点是不同语言间类似的呢?有没有一些最基本的概念?最近在看了 Coursera 上的 Programming ...原创 2019-07-02 15:06:32 · 962 阅读 · 2 评论 -
函数式和面向对象编程有什么区别?
函数式编程 (Functional Programming) 和 面向对象编程 (Object Oriented Programming) 是两个主流的编程范式,他们有各自独特的闪光点,比如函数式编程的数据不可变、惰性求值,面向对象编程的继承、多态等。这些语言特性上的区别,可以参考之前的文章,这篇文章主要从实现相同功能的角度,来对比这两种编程范式,他们在实现上的逻辑是截然相反的。初步实现在函数...原创 2019-07-02 15:07:08 · 9904 阅读 · 0 评论 -
编程语言的一些基础概念(三):面向对象
在前面两篇中,主要讲了函数式编程语言的一些基础概念。这篇是 Coursera Programming Languages, Part C 的总结,通过 Ruby 介绍面向对象编程里的一些概念。了解这些概念能让你在上手任何一门新的面向对象语言时,都更加得心应手。虽然用的是 Ruby,但是不会涉及很深的 Ruby,即使不懂 Ruby,读下来应该没问题。对于已经了解面向对象编程的朋友,可以考虑直接跳到...原创 2019-06-30 23:11:07 · 3443 阅读 · 0 评论