Questions tagged «comparison»

有关数据比较和完成数据的有效方法的问题。

3
是否有关于不同语言对软件质量影响的经验研究?
支持功能性编程语言的人断言,功能性编程使代码推理变得更容易。那些支持静态类型语言的人说,他们的编译器捕获了足够的错误以弥补类型系统的额外复杂性。但是,我在这些主题上阅读的所有内容均基于理性的论据,而不是基于经验数据。 是否有任何关于不同种类的编程语言对缺陷率或其他质量指标产生什么影响的经验研究? (对这个问题的回答似乎表明,没有这样的研究,至少对于动态与静态的辩论没有。)

1
Haskell Web框架调查[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 Haskell有多个Web框架,例如Happstack,Snap和Yesod,还有可能更多。 它们在哪些方面有所不同?例如: 功能(例如,仅服务器,或客户端脚本,轻松支持各种数据库) 成熟度(例如稳定性,文档质量) 可扩展性(例如性能,方便的抽象) 主要目标 另外,使用这些框架的真实网站/ Web应用程序的例子有哪些? 非常感谢。


12
带注释的简短代码与无注释的较长且易于理解的代码-哪个是首选?
有时可以用两种方式编写算法: 一种简短的幻想方式;要么 更长的,易于理解的方式。 例如,这是一种将字符串复制source到destC中的更长,更简单的方法: *dest = *source; while (*source != '\0') { source++; dest++; *dest = *source; } (true); 这是一种简短的幻想方式。 // Copy string source to dest while (*dest++ = *source++); 我一直听到并读过,应该避免使用花哨的代码,我倾向于同意。但是,如果我们考虑到评论该怎么办?假定像上面的示例一样,我们有一个未注释的,较长的并且据说更易于理解的代码,以及一个注释良好的,简短的,精美的代码?非花哨的代码还是首选吗? 编辑:许多人对变量名发表了评论,所以我修改了示例代码,以免在优先选择其他变量时使它成为一个因素。我试图在第一个示例中删除双重分配,但这只会使代码的可读性降低。 也许这不是最好的示例,因为许多人发现“花哨的”代码比较长的代码更具可读性和可理解性。这个想法是要有一个更长的代码,比一个简短但复杂的代码更容易理解。 EDIT2:这是我从SO获得的一个新例子: 评论版本: //direct formula for xoring all numbers from 1 to N int Sum = (N & …

6
Fortran编译器是否真的比C编译器生成更快的代码?
当我在大学学习时,我经常听到这样的想法:对于同等程序,Fortran编译器生成的代码比C编译器更快。 关键原因是这样的:Fortran编译器每行代码平均发出1,1个处理器指令,而C编译器每行代码平均发出1,6处理器指令 -我不记得确切的数字了,但是想法是C编译器发出明显更多的机器代码,因此产生较慢的程序。 这样的比较有效吗?我们可以说Fortran编译器比C编译器生成更快的程序,反之亦然,为什么存在这种差异?

4
Java对Linux是什么,.NET对Windows是?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 4年前关闭。 Java是否会以同样的方式成为Linux应用程序开发的事实上的标准?.NET是Windows应用程序开发的标准吗?如果不是,为什么不呢?
14 java  .net  comparison 

2
试图了解2N lnN与Quicksort的比较
我正在对Sedgewick的Algorithms一书中的quicksort进行分析。他为quicksort中的比较数创建了以下递归关系,同时对N个不同项目的数组进行了排序。 我很难理解这一点...我知道任何元素成为枢轴都需要1 / N的概率,并且如果k成为枢轴,那么左子数组将具有k-1个元素,而右子数组数组将包含Nk个元素。 1.分区成本如何变为N + 1?做分区需要N + 1比较吗? 2.Sedgewick说,对于k的每个值,如果将它们相加,则划分元素为k的概率+两个子数组的成本,您将得到上述方程式。 有人可以解释一下,以便那些数学知识(我)较少的人可以理解吗? 具体来说,您如何获得方程式中的第二项? 这个词到底代表什么?

1
Scala作为通用编程语言
在Garcia等人的论文“针对通用编程的语言支持的扩展比较研究”中。给出了通用编程的编程语言功能的有趣比较: 简要解释术语: 任何人都可以在此框架内测试Scala对通用编程的支持吗?即,如果可能的话,在第一张表中添加一列,并附上说明。


2
IComparable接口是否过时/“有害”?
IComparable 仅以一种方式工作 假设您有一Employee堂课。在一个视图中,您要显示所有Employees按名称排序的视图-在另一个视图中按地址显示。您将如何实现?不使用IComparable,至少不是以任何惯用的方式。 IComparable 逻辑错误 通过调用使用该接口.Sort()。在显示Customer按名称排序的视图中,根本没有代码暗示如何进行排序。 另一方面,Customer该类假设如何使用它-在这种情况下,它将在按名称排序的列表中使用。 IComparable 隐式使用 与替代方案相比,很难看到在何处使用了比较逻辑,或者根本看不到。假设您使用标准IDE,并从Customer课堂开始,我将不得不 搜索所有引用 Customer 查找列表中使用的那些引用 检查这些列表是否曾经拜访过.Sort()它们 更糟的是,如果删除IComparable仍在使用的实现,则不会收到任何错误或警告。您将得到的唯一一件事就是在所有难以理解的地方出现错误的行为。 这些问题加在一起,加上需求不断变化 我之所以开始考虑这一点,是因为它对我来说是错的。我已经IComparable在我的应用程序中愉快地使用了两年了。现在,需求发生了变化,事物需要以两种不同的方式进行分类。已经注意到,遍历上一节中描述的步骤并不是一件有趣的事情。 问题 这些问题使我认为IComparable不如IComparer或.OrderBy(),以至于看不到任何其他替代方案无法更好地解决的有效用例。 使用IComparer或LINQ 总是更好吗,还是这里没有我看到的优点/用例?
11 c#  sorting  comparison 

6
Eclipse中的哪些功能在Visual Studio中不可用?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,以使它成为软件工程堆栈交换的主题。 8年前关闭。 我已经使用Eclipse在Java中进行了大量开发,现在我已开始将Visual Studio用于.NET开发。到目前为止,我发现IDE能够执行相同的操作,但只是有所不同。 Eclipse中的哪些功能在Visual Studio中不可用?

5
衡量发展速度的方法
我见过很多测试来衡量编程语言的执行速度的测试,但是我从未发现过衡量开发速度的测试。 我听说使用动态语言时,开发速度有所提高,但是有什么证明吗?我并不是要说动态语言效率不高,但是我想看看科学研究的结果(如果存在的话)。 更好的是有关维护设施的信息。有些语言比其他语言更容易调试吗? 编辑:我最感兴趣的是语法紧密的两种语言之间的差异。例如,我想用C编程通常会比用Java编程慢。但是Java编程比C#编程快吗?

4
仅使用带有两个参数的PHP三元运算符
我最近正在查看我的一些代码,并注意到由于缺乏思想,我留下了如下结构: $guid = empty($subscription->guid) ? : $subscription->guid; 现在,这没有做应该做的事情,而且是错误的,但是由于该属性始终处于设置状态,因此它可以正常工作,并且由于以下更改,自5.3以来没有语法错误: 从PHP 5.3开始,可以省略三元运算符的中间部分。如果expr1的计算结果为TRUE,则表达式expr1?:expr3返回expr1,否则返回expr3。 我当时还没有意识到这一变化,现在我很好奇是否应该使用它。这是ruby之类的语言所无法比拟的,您可以在其中a = b || c获取b或不获取c“真实”布尔值。但是,他们为三元运算符选择的语法对我来说似乎有点不直观。我应该在生产代码中使用它吗?当我偶然看到它的时候,它肯定让我感到震惊。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.