编程思考

由于 语言切换太多,不得不去思考下各们语言的本质

1、语言的最底层

  计算机底层数据为二进制数据,各种语言通过编译再编译转换成二进制数值,通过各种编码表最终转换为计算机可识别的数值

2、追本溯源

  底层是二进制数据,那么各门语言之间的关系是什么?

  C为各大语言的爸爸。在计算机内底层设计中,数值被存贮在内存空间中

  <1>如Python语言

  m = “body”  是在内存中开辟出一块内存空间,这块内存空间有它自己的内存地址。计算机可以通过内存地址找到它,由于内存地址记不住,所以给它起了一个别名m

Python 也可以通过别名去找到它

     拿 清华大学作比喻,清华大学就是别名,清华大学的地址就是内存地址,清华大学的各种建筑物,里面所有的东西都是内存空间的数据。

  <2> 语言的底层

  所有语言中,都会给内存地址起一个别名。对数据进行操作,最核心的是对内存空间中的数据进行操作。

  在内存空间中,body是一个字符串,在计算机看来,是4个二进制数据,每个二级制数字通过编码表代表一个字符,因而

  body这个字符串,底层被设计为数组是最合理的。

  由于编码的原因,因而所有语言中,int类型都被强制转换为string类型,float和int可以互相强转。

  <3>go

  go 在我看来,是吸收了c的指针精华,c++的内存管理,java的严谨,Python的灵活的一门新语言,既然是一门新语言,所以忘了前面的四种特性

  在语言中,最核心的部分还是对内存空间中数值的操作。

  数值最常规的操作为增删改查。

  以下是go的最主要的特性:

  1. 自动垃圾回收
  2. 更丰富的内置类型
  3. 函数多返回值
  4. 错误处理
  5. 匿名函数和闭包
  6. 类型和接口
  7. 并发编程
  8. 反射
  9. 语言交互性

  

  

  

posted on 2018-07-18 07:13  姜伟  阅读(119)  评论(0编辑  收藏  举报

导航