7
|
Edward Tanguay · 技术社区 · 16 年前 |
![]() |
1
15
F和Ironpython/IronRuby是一个与语言观点不同的光年。F是一种功能性、高度类型化的编译语言。IronRuby/Ironpython是动态类型化的解释语言。 我相信Ironpython还额外支持编译,但我不是100%确定,更不用说Ruby了。 vb.net和c_的关系更为密切。 |
![]() |
2
6
在许多方面,f和ruby/python表面上是相似的。这三种语言都允许您简洁地表达思想,而不必将代码与许多类型混淆在一起。但是,F实际上与Ruby和Python非常不同,因为F_是一种静态类型的语言,而Ruby和Python是动态类型的。惯用的F代码很少提到类型,但编译器推断类型,编译期间编译器将标记任何类型错误。对于Ruby和Python,使用错误类型的值只会在运行时产生错误。Ruby和python的动态性意味着两者都比f_is更易于进行元编程(例如,类型可以在运行时修改)。另一方面,F对于大多数任务(与C相比)将更具性能,并提供许多不错的功能抽象,例如带有模式匹配的区分联合。毫无疑问,学好这些语言会让你以不同于C或VB.NET的方式思考问题,但你的方法在F和python/ruby之间也会有很大的不同。 |
![]() |
3
5
我想说F从ocaml学到的比Ruby和Python结合起来学到的要多得多。唯一真正的比较是f将ML带到.NET,就像Ironpython/Ruby将python/Ruby带到.NET一样。 |
![]() |
4
0
F更像是一种“工具”语言,其中存在一些特定的问题,最好用功能性方法来解决。F本质上是线程安全的,这使得它有助于将应用程序扩展为使用多个处理器。我看到f被用于构建将在vb.net或c_中用于处理特定问题的组件。 |
![]() |
5
0
F的某些方面与动态语言相似;然而,Jaredpar的回答确实总结了这一点。F属于函数式编程的一类,其中IronRuby和Ironpython是动态语言和C/VB OO语言。他们都能做同样的事情,这取决于你想怎么做。每个问题都有其优缺点。 |
![]() |
6
0
注:这主要是我对这个问题的想法和看法的汇编。我白天是C程序员,晚上是Python。 是的,我同意一些已经说过的话,但是我有一些时间,我想详细阐述和分享我的想法。 F是一种功能性语言。也就是说你更关心动词。它仍然是静态类型的,并在clr上运行,但是您的代码结构不同,处理问题的方式也不同。通常人们认为函数语言在结构上更具数学性,更容易被正式证明。当然,这通常被认为是学术性的。 C和其他静态类型的OO语言实际上更关注名词,以进一步进行我的类比。因此,您构造代码并解决与之相关的问题。当然,在维护状态和对对象使用非确定性方法方面也存在一些自然的问题,这些对象往往在OO语言中出现得更频繁。 当然,F有一些从OO语言中借来的特性和想法,而C有一些从函数中借来的特性和想法。 比较python和c_更多的是关于动态类型和静态类型之间的区别(尽管python提供了一些c_仍然没有的功能特性)。动态类型通常更容易处理自省/反射活动和运行时修改,同时增加了由于输入错误或“常规”代码中使用的不正确对象而导致运行时错误的风险。 静态语言通常有一些开发人员开销,而动态语言没有。开销通常是由于必须创建层来抽象事物,并创建继承层次结构和接口来使用所需/想要的抽象。因为您试图避免依赖于类型。 似乎静态语言在更大的团队中更容易管理。另外,使用所有的检查和工具,您可以很容易地得到重构的优势。 |
![]() |
Mear1628 · vb.net从随机选择的端口号接收UDP 7 月前 |
![]() |
user1946932 · .Net正则表达式在所有字符前添加空格 8 月前 |
![]() |
user1946932 · 正则表达式:删除连续两个以上的<br>? 1 年前 |
|
Josh · 通过反思访问孩子的财产 1 年前 |
![]() |
Khu RJ · 更新网格中的单元格-DevExpress网格控件 1 年前 |
![]() |
Mick · VB.NET Regex。替换不起作用(数组未更新) 1 年前 |