有没有人想过,编程语言为什么要划分数据类型?

dash_running 2006-08-24 08:57:19
java,c等都有数据类型的概念,但是basic等没有数据类型的概念,那么为什么在c,中要有数据类型的概念?
...全文
1874 44 打赏 收藏 转发到动态 举报
写回复
用AI写文章
44 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuanzh 2006-11-25
  • 打赏
  • 举报
回复
厉害,厉害
mark,以便以后查找
「已注销」 2006-08-28
  • 打赏
  • 举报
回复
我才学JAVA 不太懂
就像人名吧 两个字、三个字、四个字 5个以上可能就不合法了。
默认的规定 便于管理
创造者也会遵守人类潜规则吧
login_user 2006-08-26
  • 打赏
  • 举报
回复
类型既然存在就有它的道理,直到有一天大家发明新的语言,就有可能没有类型啦:)
flyforlove 2006-08-25
  • 打赏
  • 举报
回复
Gujianda(朝成暮毁,越学越怕!) ( ) 信誉:100 Blog 2006-8-24 18:32:27 得分: 0



呵呵,发了一通感慨,没回答正题,回答正确的就不表扬了^_^。
所有举例人啊、鸟啊的都是我批评的对象!你们只会"顾名思义"!
楼主您肯定知道,程序运行时数据是放在内存里的,而数量有大小,
计算机是个连傻瓜都不如的(毫无智能)机器,它怎么知道程序员
准备"借"它的内存放多大的数据?安排得多了浪费,少了不够!
不说了,只要体谅计算机仅仅是一台机器,思路就正确了。


-------------

你说了半天也只是说的确定大小,但是你却忘了重要的一点,那就是限制行为,
在jsdk1.3的时候,基本数据类型仅仅是用来限制行为的,所有基本类型占内存的大小是一样的。
程序虽然是写给机器的,但是却是由人来写的,不要只想着机器,忘记了人,一切都是无用的。
dash_running 2006-08-25
  • 打赏
  • 举报
回复
"程序提供类型包括方法都是 符合人类思维逻辑而产生的"

"人是人,鸟是鸟。自然中就有类别属性了,有类型不是很自然嘛?"

"因为我们无法认同计算机是为了确定一个大小的值而引入类型的概念的,而是为了描述系统和系统的部分才引入类型这样的概念的"

"因为这个自然本来就是有类属的。
所以就连面向对象都是那么的自然,符合人类对自然界的认知规律。"

两位的论述很精辟,但是不容易理解.我来解释一下(有不少个人理解的成分):


人们发明编程语言的目的是要在人的观念世界和机器世界之间建立桥梁,让机器按照人的思维为人办事,所以编程语言的发展也经历了从低级到高级的过程,发展的方向是程序设计语言越来越接近人们的思维.(比如从机器语言到汇编,再到c,c++,java等)

程序设计语言的发明创造过程中,人们首先看到的就是数据和数据之间的不同(从人的角度,而不是计算机的角度),因而对数据进行归类总结提炼出不同的数据类型,以方便人操纵计算机.

所以说数据类型的引入就是为了方便人以更接近人的思维的方式操纵计算机,而之后的内存分配了,编译器的类型检查及优化了等等都是结果而不是原因




healer_kx 2006-08-25
  • 打赏
  • 举报
回复
类型是语言发展,(从打纸带到人机对话)过程中必然出现的。
至于说什么学高级语言,不了解低级语言什么的,说这样就不能了解本质了。这是一种主观的错误看法。
就像我们研究社会行为学一样,难道我们一定要深入到原子的运动,才能看清社会的本质嘛?

鄙人打从GWBasic就开始学了,也没有意识到类型的观念。因为那个时候除了数字就是字符串了。
好歹我也是个自动化专业的毕业生,当然知道微机原理。至于汇编... ...我没有学C++的时候,就会了。


有一天,到了人机对话的阶段了,我们口述一个事物,机器人不了解,就会产生一个新名词来表现他,然后来fill它的表现和功能,等等。而至于它的存储大小等等,就变得非常基础和普通的问题了,而我们要做的就是在一个更高的层次理解类型。

healer_kx 2006-08-25
  • 打赏
  • 举报
回复
本人还是看过一些caffe,Python,Jython解释器和ANTLR的东西的。
我也梦想创造一种脚本出来,于是我开始构想我的类型系统。
我会想这样的类型要有什么样的用处。

而在这之后,等你具体实现他们的时候,才有存储的需求,你得为他们搞个能存放它们的,大小合适的空间。而不是本末倒置。
healer_kx 2006-08-25
  • 打赏
  • 举报
回复
人的例子是我举的,鸟的例子也是我说的。你说我顾名思义。。。
我倒是觉得你还没有上升到一个真正类型的抽象概念。
类型是为了表征、刻画不同事物必然的产物。
你说的什么大小啊,我不否认,只不过那不是根由。

因为我们无法认同计算机是为了确定一个大小的值而引入类型的概念的,而是为了描述系统和系统的部分才引入类型这样的概念的。

对于C++程序员来说,sizeof就是我们面试的基本功。类型的大小被计算出来是为了存储这个类型。很明显,是因为有了类型的概念,才有存储他们实例的必要,然后才有sizeof一说。

  • 打赏
  • 举报
回复
举例只是把抽象的东西具象化,但是世间的例子都不可能完美的涵盖出抽象的内容来,会有缺陷。问题在于用抽象的语言解释抽象的概念并不会使人有清醒的认识。
gherb 2006-08-25
  • 打赏
  • 举报
回复
呵呵,有些人喜欢打着原理的幌子招摇

却忘了磁盘为什么叫作[磁]盘

imnol 2006-08-25
  • 打赏
  • 举报
回复
所谓数据类型是按被说明 量的性质,表示形式,占据存储空间的多少,构造特点来划分的。

应该是为了便于对内存的分配管理,有利于对象的创建。
Juchiyufei 2006-08-25
  • 打赏
  • 举报
回复
mark
1111111 2006-08-24
  • 打赏
  • 举报
回复
什么叫数据类型?
int?byte?double?算么?basic里有没有说不好。但是visual basic里边有类型的
  • 打赏
  • 举报
回复
严重同意
healer_kx(甘草(朝圣中... ...))

有了类型,鸟笼里的是鸟,狗窝里的是狗,如果没有,你永远不知道冰箱里的是不是大象
pauliuyou 2006-08-24
  • 打赏
  • 举报
回复
内存分配的问题, 还有如何编码的问题 ...等等问题太多啦
flyforlove 2006-08-24
  • 打赏
  • 举报
回复
1.确定大小
2.限制行为

狗窝里不能住人,也住不下。
daiybh 2006-08-24
  • 打赏
  • 举报
回复
有了类型 找起来也方便了三.
bigc2000 2006-08-24
  • 打赏
  • 举报
回复
内存存在的缘故
huihui0103 2006-08-24
  • 打赏
  • 举报
回复
严重同意
healer_kx(甘草(朝圣中... ...))
healer_kx 2006-08-24
  • 打赏
  • 举报
回复
人是人,鸟是鸟。自然中就有类别属性了,有类型不是很自然嘛?

PS:谁说BASIC没有类型?
加载更多回复(24)

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧