为什么C#中不包含Java"throws"子句(在方法声明中)?
创建新编程语言的真正好处是什么?你真的不太可能实际使用它.
简而言之,创建新语言的过程将如何使您成为更好的程序员?
今天在C#中编写以下内容时
DateTime.Now.AddYears(-60)
Run Code Online (Sandbox Code Playgroud)
我想知道是否有任何语言允许使用单位更自然的语法:
DateTime.Now - 60years
Run Code Online (Sandbox Code Playgroud)
有谁知道吗?具体来说,我对将"60年"变成例如"TimeSpan.FromYears(60)"的单位运算符(?)的存在感兴趣.能够定义自己的单元运算符也很简洁,类似于在C#中编写转换运算符的方式
(是的,我知道TimeSpan多年来都不满足 - 这是一个例子.)
谈到一些quants/hedgies,我得出的结论是,他们中的很多人似乎都在使用自制语言或OCaml执行许多任务.许多人无法回答的原因是.
我当然可以理解他们为什么不想在大多数情况下使用C++,但为什么OCaml与其他脚本语言(如Python,Ruby等)相比更适合这些用途?
试图弄清楚PHP是否支持方法重载,继承和多态等功能,我发现:
但我不确定多态性.我发现这是谷歌搜索互联网:
我应该注意到,在PHP中,多态性并不是它应该的方式.我的意思是它确实有效,但由于我们的数据类型很弱,所以它不正确.
它真的是多态吗?
编辑
只是不能确定肯定是或旁边没有PHP supports polymorphism.我不愿意说:"PHP不支持多态",而实际上它确实如此.或相反亦然.
也许这只是一个小小的误解,但是如何实现编程语言呢?
我不是在谈论如何实现我自己的编程语言,而是关于"已实现"这个词?我的意思是,你可以实现编译器或解释器,但是编程语言?
如果我读"C++是用C实现"还是"Python用C实现"是什么意思?
我认为一种语言更为严肃.就像某人如何思考事情的协议一样.例如,如果他想要显示一个消息框,他可以说这个命令是ShowMessageBox(字符串)并实现一个编译器,它将把它转换为在计算机上工作的东西(除了他想象的选定的编程范例).
我认为这个问题导致了"现实中的编程语言是什么"的问题?关于如何用语言实现事物的编译器,解释器或文档语言标准?
[编辑]
答:语言从未实现,只有编译器/口译员等.就是这么简单.
将Scala 2.7.7(最后的2.7.x版本)与Scala 2.8.1(最新的2.8.x版本)进行比较,我收集了以下指标:
Scala version | 2.7.7 2.8.1
------------------------------------------------
Compressed jar file | 3.6 MB 6.2 MB
Uncompressed files | 8.3 MB 16.5 MB
.class files in . | 1.8 MB 1.7 MB
in ./actors | 554.0 KB 1.3 MB
in ./annotation | 962 B 11.7 KB
in ./collection | 2.8 MB 8.8 MB
in ./compat | 3.8 3B 3.8 KB
in ./concurrent | 107.3 KB 228.0 KB
in ./io | 175.7 KB 210.6 KB
in …Run Code Online (Sandbox Code Playgroud) 好的:我编辑了我的问题:我听说某处PHP语言是用C语言编写的.
那么,例如发生在你运行PHP中的功能,如date("Ymd");或file_get_contents("file.txt");?
它是否将该代码转换为C并请求服务器,还是php执行此操作?
如果它确实翻译它并请求,这意味着它基本上是C?
VB和VB.NET有什么区别?
优选使用示例进行说明.