百科问答小站 logo
百科问答小站 font logo



计算机语言可以以变量名作为类型判断么? 第1页

  

user avatar   ninputer 网友的相关建议: 
      

早期BASIC语言的变量名A是integer型的,A$是string型的,而且只能这样命名区分(没有integer这样的关键字或者变量声明语句)

后来又增加了这些…

A#,Double型

A&,Long型

A!,Single型

A@,Currency型


user avatar   rednaxelafx 网友的相关建议: 
      

于是我想起了神奇的Fortran:

变量名以I, J, K, L, M or N开头的变量都默认声明为INTEGER类型的。不用显式声明,可直接用。呃…习惯了也挺顺手的。

题主想要的是用

匈牙利记法

中的Systems Hungarian记法来直接声明变量类型。我不知道有没有这样做的编程语言流行过,不过毫无疑问肯定有人试过这样做,因为挺容易想到的。

题主的这个问题或许能吸引想到过同样做法的人来一起讨论。也挺有趣~

然而其实这并不会让编译器编译得更快——一点也不会。

静态类型语言的编译器一般会在变量声明处记录下变量的类型,放到符号表里;后面就可以通过符号表里记录的信息来做类型检查和推导。

题主建议的做法只是让本来编译器可以自动记录在符号表里的信息散布在源码里而已,编译器(一般)还是需要符号表,要做的工作并没有减少多少。

至于让程序员在编程时能一眼就看出类型,这是萝卜青菜各有所爱,看看大家对匈牙利记法的讨论就知道自己站在讨论的哪边了。相信不喜欢匈牙利记法的人是一定不会喜欢强制使用这种记法的编程语言的…

我自己是不喜欢匈牙利记法的。但这只是我自己的习惯,并非对题主的习惯做评论。

组织良好的代码应该尽量让变量声明的位置和使用的位置接近,这样在使用处要找到声明处也很近。

在现代IDE的辅助下,要知道一个变量是啥类型只要让鼠标悬浮在变量名上即可,也不需要用匈牙利记法。

另外在泛型编程时变量类型本来就是参数化的,并非固定类型,标记它的类型缺乏意义。




  

相关话题

  CPU 的摩尔定律是不是因为 10 纳米的限制已经失效了?10 纳米之后怎么办? 
  有没有一种可能,做出来512g内存的计算机,这样就不需要外存了,那os这门课是不是内容可以少点? 
  民科是不是很少拿计算机科学开涮?为什么? 
  科学史上有哪些令人惋惜的遗憾? 
  在 linux 中,用 c 语言如何判断 yum 源是否配置好? 
  不太喜欢计算机,不喜欢编程,但是学了一段时间老师觉得我还可以,还建议学吗? 
  现在软件行业已经很成熟,为什么程序员还在没日没夜敲代码搞系统更新? 
  计算机、医学、法律和金融是目前最强最好的四个专业吗?大学专业该怎么选? 
  这世上的职业不是干的越久越有经验吗,为什么计算机专业 35 岁危机呢? 
  《黑客帝国》中的先知是人还是程序? 

前一个讨论
如何看待 Windows 10 即将到来的重大更新 Redstone?
下一个讨论
如何看待美国民主党内的爆料嫌疑人被谋杀?





© 2024-11-21 - tinynew.org. All Rights Reserved.
© 2024-11-21 - tinynew.org. 保留所有权利