jro*_*uie 8 c# ocaml types programming-languages dynamic-languages
关于静态与动态类型的SO有很多问题,但我没有找到很多关于同时具有这两种语言的语言.让我解释.
似乎动态类型语言在快速原型设计方面具有优势,例如Python或Perl,而静态类型语言(如C++,OCaml)允许更多的编译时检查和优化.我想知道是否有一种语言允许两者:
在C#中,默认是静态类型,但您可以编写:
dynamic fooVar = new FooClass();
Run Code Online (Sandbox Code Playgroud)
在这种情况下fooVar是动态类型.
似乎OCaml与http://www.lexifi.com/blog/runtime-types也提供类似的东西.
请不要主观建议哪种语言最好,只有客观特征!
当然.它被称为"渐进式打字",我认为它是时髦的.
"逐渐打字"的表亲是"可选打字".在这两种情况下,包含和不包含静态类型的代码共存.但是,在"可选类型"中,语言的语义完全与静态类型无关,而在"渐进式键入"中,语义可能会考虑静态类型(如果可用).
从" 集成静态和动态打字 " 课程的页面,我看到他们学习
最新语言的设计集成了静态和动态类型,包括Typed Racket(以前的Typed Scheme),C#4.0,Diamondback Ruby,Haskell,Sage和Thorn
您可以将Dart添加到列表中,该列表提供可选类型,如位置文件Pluggable,Optional Type Systems中所示.
| 归档时间: |
|
| 查看次数: |
804 次 |
| 最近记录: |