有没有人想过,编程语言为什么要划分数据类型? java,c等都有数据类型的概念,但是basic等没有数据类型的概念,那么为什么在c,中要有数据类型的概念? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 人是人,鸟是鸟。自然中就有类别属性了,有类型不是很自然嘛?PS:谁说BASIC没有类型? 严重同意healer_kx(甘草(朝圣中... ...)) 严重同意healer_kx(甘草(朝圣中... ...))有了类型,鸟笼里的是鸟,狗窝里的是狗,如果没有,你永远不知道冰箱里的是不是大象 什么叫数据类型?int?byte?double?算么?basic里有没有说不好。但是visual basic里边有类型的 没有数据类型的语言也有啊你可以用汇编啊再强一些的话,你可以用01代码啊写完01代码,保存为.exe文件就可以啦 ^_^ 在Java中有了类型JVM才能知道要给他开辟多少内存大小! zgysc(翠湖寒) 已经在第二时间说得很清楚了(“第一时间”被 zhmt 抢去了):是【强类型/弱类型】的差别,而不是【有数据类型/没有数据类型】的差别。只要是高级语言,都会有数据类型的概念,因为只有这样才算得上“高级”嘛 :)只不过“弱类型语言”不要求明确声明变量的类型,也就是说解释器会隐式转换而已。汇编语言没有数据类型吗?从某种意义上说,它也有 BYTE、WORD、DWORD、PTR、STRING 等类型的,这些在“机器指令”这一级上就已经有所体现了。 神说,要有光,于是这个世界就有了光(见马太福音)“要”是个什么意义? 是一个从“没有”到“有”的意愿。汇编是没有类型的,但是我们要有类型。因为这个自然本来就是有类属的。所以就连面向对象都是那么的自然,符合人类对自然界的认知规律。!这是必然的,和强弱类型关系不大,至少不是直接的关系,和POP EBP也没有关系。 其实在BASIC里面也有数据类型的定义。 只不过是在BASIC里面对于数据定义比较自由。 有类型便于操作啊,还有就是分配内存空间,int string 占用的空间不一样, 没有任何语言没有类型!即使是弱语言大家都知道,在汇编级别上就已经有byte word dword了 人的例子是我举的,鸟的例子也是我说的。你说我顾名思义我倒是觉得你还没有上升到一个真正类型的抽象概念。类型是为了表征、刻画不同事物必然的产物。你说的什么大小啊,我不否认,只不过那不是根由。因为我们无法认同计算机是为了确定一个大小的值而引入类型的概念的,而是为了描述系统和系统的部分才引入类型这样的概念的。对于C++程序员来说,sizeof就是我们面试的基本功。类型的大小被计算出来是为了存储这个类型。很明显,是因为有了类型的概念,才有存储他们实例的必要,然后才有sizeof一说。 本人还是看过一些caffe,Python,Jython解释器和ANTLR的东西的。我也梦想创造一种脚本出来,于是我开始构想我的类型系统。我会想这样的类型要有什么样的用处。而在这之后,等你具体实现他们的时候,才有存储的需求,你得为他们搞个能存放它们的,大小合适的空间。而不是本末倒置。 类型是语言发展,(从打纸带到人机对话)过程中必然出现的。至于说什么学高级语言,不了解低级语言什么的,说这样就不能了解本质了。这是一种主观的错误看法。就像我们研究社会行为学一样,难道我们一定要深入到原子的运动,才能看清社会的本质嘛?鄙人打从GWBasic就开始学了,也没有意识到类型的观念。因为那个时候除了数字就是字符串了。好歹我也是个自动化专业的毕业生,当然知道微机原理。至于汇编... ...我没有学C++的时候,就会了。有一天,到了人机对话的阶段了,我们口述一个事物,机器人不了解,就会产生一个新名词来表现他,然后来fill它的表现和功能,等等。而至于它的存储大小等等,就变得非常基础和普通的问题了,而我们要做的就是在一个更高的层次理解类型。 "程序提供类型包括方法都是 符合人类思维逻辑而产生的""人是人,鸟是鸟。自然中就有类别属性了,有类型不是很自然嘛?""因为我们无法认同计算机是为了确定一个大小的值而引入类型的概念的,而是为了描述系统和系统的部分才引入类型这样的概念的""因为这个自然本来就是有类属的。所以就连面向对象都是那么的自然,符合人类对自然界的认知规律。"两位的论述很精辟,但是不容易理解.我来解释一下(有不少个人理解的成分):人们发明编程语言的目的是要在人的观念世界和机器世界之间建立桥梁,让机器按照人的思维为人办事,所以编程语言的发展也经历了从低级到高级的过程,发展的方向是程序设计语言越来越接近人们的思维.(比如从机器语言到汇编,再到c,c++,java等)程序设计语言的发明创造过程中,人们首先看到的就是数据和数据之间的不同(从人的角度,而不是计算机的角度),因而对数据进行归类总结提炼出不同的数据类型,以方便人操纵计算机.所以说数据类型的引入就是为了方便人以更接近人的思维的方式操纵计算机,而之后的内存分配了,编译器的类型检查及优化了等等都是结果而不是原因 Gujianda(朝成暮毁,越学越怕!) ( ) 信誉:100 Blog 2006-8-24 18:32:27 得分: 0 呵呵,发了一通感慨,没回答正题,回答正确的就不表扬了^_^。所有举例人啊、鸟啊的都是我批评的对象!你们只会"顾名思义"!楼主您肯定知道,程序运行时数据是放在内存里的,而数量有大小,计算机是个连傻瓜都不如的(毫无智能)机器,它怎么知道程序员准备"借"它的内存放多大的数据?安排得多了浪费,少了不够!不说了,只要体谅计算机仅仅是一台机器,思路就正确了。 -------------你说了半天也只是说的确定大小,但是你却忘了重要的一点,那就是限制行为,在jsdk1.3的时候,基本数据类型仅仅是用来限制行为的,所有基本类型占内存的大小是一样的。程序虽然是写给机器的,但是却是由人来写的,不要只想着机器,忘记了人,一切都是无用的。 我才学JAVA 不太懂就像人名吧 两个字、三个字、四个字 5个以上可能就不合法了。默认的规定 便于管理创造者也会遵守人类潜规则吧 HttpClient获得的网页数据,长度太长,怎么处理? ThreadLocal一般用在哪些地方?有何用? 我想实现JAVA串口通信并把得到的数据画一个坐标显示出来连成折线或曲线 返回 String 对象内最后一次出现子字符串的字符位置 关于java io 的问题 关于类得嵌套问题,,十万火急。。在线求。。 一个文件操作的顾虑 tomcat作为应用服务器,怎么设置不让浏览目录 关于java中匿名内部类 谁知道Jb5 的注册号? 送分了! 谁知道北京达内培训的情况给介绍一下吧 java的数据库语句(急在线等)
healer_kx(甘草(朝圣中... ...))
healer_kx(甘草(朝圣中... ...))有了类型,鸟笼里的是鸟,狗窝里的是狗,如果没有,你永远不知道冰箱里的是不是大象
int?byte?double?算么?basic里有没有说不好。但是visual basic里边有类型的
你可以用汇编啊
再强一些的话,你可以用01代码啊
写完01代码,保存为.exe文件就可以啦 ^_^
只不过“弱类型语言”不要求明确声明变量的类型,也就是说解释器会隐式转换而已。汇编语言没有数据类型吗?从某种意义上说,它也有 BYTE、WORD、DWORD、PTR、STRING 等类型的,这些在“机器指令”这一级上就已经有所体现了。
因为这个自然本来就是有类属的。
所以就连面向对象都是那么的自然,符合人类对自然界的认知规律。!
这是必然的,和强弱类型关系不大,至少不是直接的关系,和POP EBP也没有关系。
即使是弱语言
大家都知道,在汇编级别上就已经有byte word dword了
我倒是觉得你还没有上升到一个真正类型的抽象概念。
类型是为了表征、刻画不同事物必然的产物。
你说的什么大小啊,我不否认,只不过那不是根由。因为我们无法认同计算机是为了确定一个大小的值而引入类型的概念的,而是为了描述系统和系统的部分才引入类型这样的概念的。对于C++程序员来说,sizeof就是我们面试的基本功。类型的大小被计算出来是为了存储这个类型。很明显,是因为有了类型的概念,才有存储他们实例的必要,然后才有sizeof一说。
我也梦想创造一种脚本出来,于是我开始构想我的类型系统。
我会想这样的类型要有什么样的用处。而在这之后,等你具体实现他们的时候,才有存储的需求,你得为他们搞个能存放它们的,大小合适的空间。而不是本末倒置。
至于说什么学高级语言,不了解低级语言什么的,说这样就不能了解本质了。这是一种主观的错误看法。
就像我们研究社会行为学一样,难道我们一定要深入到原子的运动,才能看清社会的本质嘛?鄙人打从GWBasic就开始学了,也没有意识到类型的观念。因为那个时候除了数字就是字符串了。
好歹我也是个自动化专业的毕业生,当然知道微机原理。至于汇编... ...我没有学C++的时候,就会了。
有一天,到了人机对话的阶段了,我们口述一个事物,机器人不了解,就会产生一个新名词来表现他,然后来fill它的表现和功能,等等。而至于它的存储大小等等,就变得非常基础和普通的问题了,而我们要做的就是在一个更高的层次理解类型。
所以就连面向对象都是那么的自然,符合人类对自然界的认知规律。"两位的论述很精辟,但是不容易理解.我来解释一下(有不少个人理解的成分):
人们发明编程语言的目的是要在人的观念世界和机器世界之间建立桥梁,让机器按照人的思维为人办事,所以编程语言的发展也经历了从低级到高级的过程,发展的方向是程序设计语言越来越接近人们的思维.(比如从机器语言到汇编,再到c,c++,java等)程序设计语言的发明创造过程中,人们首先看到的就是数据和数据之间的不同(从人的角度,而不是计算机的角度),因而对数据进行归类总结提炼出不同的数据类型,以方便人操纵计算机.所以说数据类型的引入就是为了方便人以更接近人的思维的方式操纵计算机,而之后的内存分配了,编译器的类型检查及优化了等等都是结果而不是原因
呵呵,发了一通感慨,没回答正题,回答正确的就不表扬了^_^。
所有举例人啊、鸟啊的都是我批评的对象!你们只会"顾名思义"!
楼主您肯定知道,程序运行时数据是放在内存里的,而数量有大小,
计算机是个连傻瓜都不如的(毫无智能)机器,它怎么知道程序员
准备"借"它的内存放多大的数据?安排得多了浪费,少了不够!
不说了,只要体谅计算机仅仅是一台机器,思路就正确了。
-------------你说了半天也只是说的确定大小,但是你却忘了重要的一点,那就是限制行为,
在jsdk1.3的时候,基本数据类型仅仅是用来限制行为的,所有基本类型占内存的大小是一样的。
程序虽然是写给机器的,但是却是由人来写的,不要只想着机器,忘记了人,一切都是无用的。
就像人名吧 两个字、三个字、四个字 5个以上可能就不合法了。
默认的规定 便于管理
创造者也会遵守人类潜规则吧