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



编程语言中类型前置和类型后置的优缺点各是什么? 第1页

  

user avatar   Ivony 网友的相关建议: 
      

类型后置和无类型的程序设计语言其实更多。


类型前置一般都是C语系的,例如C/C++/Java/C#啥的。



类型前置的逻辑就是,类型是必需的。

所以那我们就先写类型好了,每个语句开头的第一个Token不是关键字就是类型。(对于某些类型前置的语言,赋值也是需要LET关键字的。就算考虑赋值,那么第一个Token也是可以不依赖后面的东西判断出来的)。

所以某答案显然是胡扯,也不知道为啥赞最多。


然后这就成了传统延续了下来。


类型后置多见于非强类型语言和无类型语言,后者就不说了,无所谓前置后置。类型是一个可选的注解(optional annotation)。既然是可选的,可选的东西当然是后置的。


所以说类型后置更便于省略类型是有一定的道理的。像C#要玩省略类型就只好加一个var关键字。

因为没有var关键字,那就很难确定这是一个定义变量的语句,还是赋值的语句,非常麻烦。


user avatar   huxpro 网友的相关建议: 
      

谢邀,手机答

想毕作者想说的是类型标注(type annotation) 在前还是在后。

Java 需要写类型的地方大部分都是定义(def)不是使用(use),不知道作者说的自动补全变量名是哪类场景?

类型标注放后面风格的好处简单说就是 可以先不写……所以无论对于 TS 这样的渐进类型场景或者有一定类型推导能力的现代语言都比较适合。


user avatar   chunquedong 网友的相关建议: 
      

反对高票答案!

  1. 后置类型之所以遇到第一个token就知道,那是因为fun/val关键字的原因,与前置后置没有关系。
  2. 有些人喜欢拿C语言函数指针说事,说明后置类型好。事实上int (*func)(int);是变量在中间,类型在两边,既不是前置也不是后置。本来讨论A好还是B好,结果搬出一个C来和B对比一通,得出B比A好的结论,这种辩论技巧值得每个人学习。
  3. 类型前置也可以做类型推断,来省略类型。在现代解析器中,超前查看一个根本不是事。还是应该着眼于人类可读性来说。

我的观点是前置和后置没有特别明显的优缺点。只能想到这几个不痛不痒的原因了:

1.类型后置看起来更整齐。有些C代码喜欢在类型后换行,大抵也是这个原因。

       void foo(int a);     

2.名称比类型重要,所以先写名称更好。

3.初始化语法,很容易让人感觉是在给Int赋值:

       i : Int = 0;     

4.不知道为什么类型后置的语言很多喜欢中间加冒号,冒号好像是多余的。


我的Fanx语言有两种文件格式,及支持类型写在前面,也支持类型写在后面。满足两种习惯。




  

相关话题

  那些总是熬夜的人后来怎么样了? 
  函数式编程(Functional Programming)相比面向对象编程(Object-oriented Programming)有哪些优缺点? 
  不懂就问:Linux、安卓和鸿蒙到底是什么关系? 
  关于后端程序员写前端用什么框架更好? 
  国内的老程序员最后都去哪儿了? 
  .NET 和 Java 在 Web 开发上各有什么优缺点? 
  Java 中的多态是不是违背了里氏替换原则? 
  华为方舟编译器开源,是否达到了大家的预期? 
  什么情况下用私钥加密公钥解密,什么情况下用公钥加密私钥解密? 
  教授说没有写过一千行以上代码的程序就别想上大公司,这种说法对吗? 

前一个讨论
315 晚会曝光的「浏览网页就能泄露手机号」的原理是什么?
下一个讨论
乌克兰可不可以冒充俄军进攻波兰、立陶宛等北约国家,强行把北约拉进战争破局?





© 2024-12-26 - tinynew.org. All Rights Reserved.
© 2024-12-26 - tinynew.org. 保留所有权利