【有书共读】《码农翻身》第五章:我的编程语言史
JavaScript:一个草根的逆袭
- 强大的JS
一开始JS只能在浏览器上操作HTML的DOM,根本不需要刷新网页就可以展示出来,由于互联网的高速发展,JS被应用到每个网站上,网页的局部刷新,让用户体验极佳,而且用JSON传输数据极其方便快捷,现在的JS可以开发前端又可以写后端的的程序,成了所谓的"全栈工程师"
- Node.js
C
C是代码可移植性,而不是程序可移植性的,也就是一次编写到处编译,而由于20世纪70年代的条件下要想在windows平台的API在Linus上运行就得使用条件编译了,而且C是直接操作内存和硬件交互的,所以效率极高,虽然指针管理内存很容易出错,所谓C语言中的链接就是把一个函数的名称和函数的地址绑定起来,以此来调用函数的指令
VB
VB这个图形界面编写程序是极强的,可以开发桌面型数据库的神器,但由于互联网时代的来临,也就没落了
C++
C++可以说是C的延展,极其复杂,学这门语言不能光读书,要多实践,也要多看看一些优秀源码,要想学会C++就得成为C++高手
Java
没有指针,不用自己管理内存,一大堆的类库,庞大的生态系统,无数个开源的小程序,不用考虑大小的集合框架,不过Java最适合的还是后端
Ruby
Ruby的结构很优雅,而且开发效率特别高,把wed开发简化到了极致,但是动态性是一把双刃剑,缺乏编译期的类型检查,很多错误就只能在运行的暴露出来
命令式编程vs声明式编程
现在绝大多数的程序员都在用命令式的风格编程,这是和我们的冯.诺依曼计算机结构是分不开的,冯.诺依曼计算机中CPU和内存就是核心,每次CPU把指令取出来,然后译码,执行,然后把结果写回内存,这就是本质
声明式编程最知名的就是SQL了,只声明我想做什么,但不说怎么做,怎么做由数据管理系统完成,具体细节还是需要命令式编程风格实现