谈一谈为什么编程语言都需要“变量类型”

文章探讨了编程语言中变量类型的需求源于计算机硬件的基本结构,如处理单元、内存和总线。硬件设计限制了数据类型的灵活性,尽管存在无需类型的语言,但因其代价过高而不切实际。作者表示将通过阅读进一步研究这方面的内容。
摘要由CSDN通过智能技术生成

        最近越来越感觉到,想要了解一个类型的编程语言,最后都会回到计算机硬件的结构特性上。

        为什么需要变量类型,回顾一下计算机的结构:计算机有处理单元,总线,内存,IO组成,处理单元基本做的事情就是输入,处理,输出,但是存储器面对的都是01010101010二进制,我拿的时候我怎么知道要拿多少,所以就必须定义一个“拿”的范围,我要拿多少来处理,处理完成后,我需要给总线上放多少位数据,所以这个才是变量类型诞生的根本原因,这是从娘胎里带来的。任何的编程语言最终都需要转换为机器语言执行,你上层的语言自由度肯定不能大过机器语言。

        上述看似回答了问题,但仅仅只是初步的回答,我如果要继续问,为什么硬件就设计成这样,为啥不能硬件上就规定数据类型,或者硬件上就不要整什么数据类型,我想,可能有这种不需要数据类型的实现方案,但是代价太高了,目前的计算机的方案是理想化方案下放的一个权衡实际的方案。所以问:有没有不需要类型的编程语言,答案是“有,但是不现实,没必要”。

最近会看一些相关的书,有新的感悟会及时更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值