类型后置和无类型的程序设计语言其实更多。
类型前置一般都是C语系的,例如C/C++/Java/C#啥的。
类型前置的逻辑就是,类型是必需的。
所以那我们就先写类型好了,每个语句开头的第一个Token不是关键字就是类型。(对于某些类型前置的语言,赋值也是需要LET关键字的。就算考虑赋值,那么第一个Token也是可以不依赖后面的东西判断出来的)。
所以某答案显然是胡扯,也不知道为啥赞最多。
然后这就成了传统延续了下来。
类型后置多见于非强类型语言和无类型语言,后者就不说了,无所谓前置后置。类型是一个可选的注解(optional annotation)。既然是可选的,可选的东西当然是后置的。
所以说类型后置更便于省略类型是有一定的道理的。像C#要玩省略类型就只好加一个var关键字。
因为没有var关键字,那就很难确定这是一个定义变量的语句,还是赋值的语句,非常麻烦。
谢邀,手机答
想毕作者想说的是类型标注(type annotation) 在前还是在后。
Java 需要写类型的地方大部分都是定义(def)不是使用(use),不知道作者说的自动补全变量名是哪类场景?
类型标注放后面风格的好处简单说就是 可以先不写……所以无论对于 TS 这样的渐进类型场景或者有一定类型推导能力的现代语言都比较适合。
反对高票答案!
我的观点是前置和后置没有特别明显的优缺点。只能想到这几个不痛不痒的原因了:
1.类型后置看起来更整齐。有些C代码喜欢在类型后换行,大抵也是这个原因。
void foo(int a);
2.名称比类型重要,所以先写名称更好。
3.初始化语法,很容易让人感觉是在给Int赋值:
i : Int = 0;
4.不知道为什么类型后置的语言很多喜欢中间加冒号,冒号好像是多余的。
我的Fanx语言有两种文件格式,及支持类型写在前面,也支持类型写在后面。满足两种习惯。