问题标签 [language-comparisons]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
6 回答
7125 浏览

c# - ASP.NET - C# vs VB.NET - 间接差异和您最初可能不会考虑的事情

我对开始另一个“谁拥有更大的成员”VB 与 C# 辩论不感兴趣(https://stackoverflow.com/questions/158229/what-are-the-pros-of-vb-net似乎已经涵盖了)虽然我对可能影响一个与另一个发展的间接差异感兴趣。我所有的商业 .NET 开发都是 VB 中的桌面应用程序,直到最后 3 个月我有一个 Web 项目,并认为这是一个强迫自己学习 C# 的好机会。在这样做的过程中,我注意到了一些非技术差异:

  • 与 VB 相比,C# 中提供了更多成熟的开源应用程序和详尽的示例。

  • 用于重构和文档等方面的插件的第三方供应商往往比 VB 更好地支持 C#(如果有的话),而 VB 对类似 C# 版本的类似功能的支持通常落后或不存在。

  • 针对 C# 的 ASP.NET 工作似乎比 VB 中的其他相同工作平均多支付 15-20% 左右(至少在澳大利亚,在 seek.com.au 和 careerone.com.au 上寻找参考)。

跳转到 ASP.NET、MVC 和 C# 一次带来了很多减速带,但我认为这是非常值得的。我现在需要做出的决定是,是否将更多的精力放在追求 C# 以进行未来的 .NET 开发,或者我是否还不如坚持使用 VB。在这种情况下应该考虑的语言之间是否存在其他差异点(除了已经涵盖的直接语言特征比较)?

0 投票
21 回答
15098 浏览

ruby-on-rails - Grails(现在)值得吗?

我知道这是重复的,但是自从一年多前提出这个问题以来,Grails 世界已经有了很大的发展,Eclipse 中的 IDE 支持也是如此,所以请不要盲目地关闭它。

我认为答案是肯定的,并且已经开始使用Grails 1.2.0开展一个新项目,并且对STS Eclipse Integration中的 Groovy/Grails 部分感兴趣。

我认为这个问题值得在 Grails 进化一年之后重新审视,当时答案肯定是混杂的。

因此,作为一名经验丰富的 Java Web 开发人员,我有这些问题,并且希望我的假设受到挑战:

  • 与 Ruby 相比,Grails 现在值得还是自己动手?
  • 它克服了错误的开始吗?
  • 它真的能带来快速发展的好处吗? (我承认我现在很挣扎,我已经通过了广泛的基线配置来制作我的定制应用程序,它不是面向列表和页面的)
  • 它是否适用于现实世界的生产应用程序? (感觉很重)
  • Eclipse 插件是否比以前更好并且适合目的?(我认为还没有)

谢谢

编辑: 我边走边学,对于使用框架而不是框架功能本身,我有一些重要的抱怨。我之所以添加这些,是因为我认为它们应该是考虑因素,并且基于我的经验和观点,并且可能会帮助那些试图决定是否去圣杯的人。我也可能表明我对框架缺乏经验,所以这些都不是彻头彻尾的批评。我是一位经验丰富的开发人员,这就是我发现的:

调试真的很难。事实上,这几乎是不可能的,尤其是作为框架的初学者,这时你最需要你信任的调试器朋友。我花了比我应该的更多的时间来追踪代码中某些部分的语法错误问题,这些问题与引用域字段有关,这些域字段会导致堆栈中某处的静默失败。

坦率地说,日志记录很糟糕。你有两种模式,“没什么用”和“大量无用的东西”。单页请求后,我的调试日志为 128Mb,并且不包含任何关于我的错误的信息。在我看来,整个日志记录问题需要在框架中重新考虑。

STS Eclipse IDE 价值不大。除了语法高亮之外,它没有多大用处。您无法调试代码,因此它是一个美化的编辑器。代码提示不完整,据我所知,根本没有 GSP 支持。它也是我桌面上最慢的 Eclipse 插件 - 大约需要 2 分钟才能启动。它慢得令人震惊。我已恢复为文本编辑器(您会注意到所有在线教程视频也都这样做)和一些自定义语法高亮显示。

我对性能有一些严重的担忧。说得太早了,但我已经发现自己因为休眠而调整了数据库。也许这是意料之中的,但我确实必须保持我的域模型简单,以便约定产生高性能查询。

最后一个,逻辑域模型和物理数据库模型应该相同的约定不是明智的默认设置,在现实世界中也不太可能出现这种情况。我知道您可以将两者分开,但它会产生一定程度的复杂性,我认为如果扩展约定可以避免这种复杂性。没有足够的关于组合的文档以及你需要做些什么才能使其在实践中发挥作用

0 投票
4 回答
462 浏览

language-agnostic - 与 Perl 和 Ruby 比较的类似语言特性 __END__

背景

Perl 和 Ruby 具有允许将任意数据直接嵌入源代码文件中的__END__和标记。__DATA__

尽管这种做法对于通用编程用途来说可能不是很好的建议,但它对于日常任务的“一次性”快速脚本非常有用。

问题:

还有哪些其他编程语言支持相同或相似的功能,它们是如何做到的?

0 投票
2 回答
145 浏览

programming-languages - 为什么有些语言需要在调用之前在代码中声明函数?

假设你有这个伪代码

为什么某些编程语言需要调用 do_something() 出现在函数声明下方才能运行代码?

0 投票
9 回答
27349 浏览

c# - F# vs Haskell vs Lisp - 学习哪种语言?

我听说过很多关于函数式编程语言的知识,我愿意学习一门。我想这主要是为了好玩,但是,我希望它会提高我的编程技能。

我主要有 C#/.NET 背景,所以我的第一选择是学习 F#(因为 .NET 和熟悉 Visual Studio)。另一方面,我想知道 F# 是否具有 Lisp 宏或 Haskell 高阶函数等功能。

你能比较一下 F#、Haskell 和 Lisp 吗?哪一种是您选择的语言?

0 投票
3 回答
767 浏览

java - Java中是否有.Net TypeConverter等价物

在 .NET 中,当我有一个可以作为多种类型存在的“值”时,我可以轻松地使用 TypeConverter 在这些类型(货币类型、xml 数据与对象表示等)之间进行切换。在 Java 中,我不确定处理这种情况的首选方法是什么。Java中是否有等效的TypeConverter?

0 投票
2 回答
83 浏览

language-agnostic - 如何定义和描述这些不同的时间点?

背景: Eldridge 让我解释在编写和部署代码时不同阶段之间的区别。

他想知道:

  • 1)有什么区别:1)设计时间;2)编译时间;3)运行时间?
  • 2) 程序员无法硬连线到他的代码中并且直到运行时才知道的具体示例是什么?
  • 3)对于需要更多“运行时”灵活性的人来说,具有许多运行时“技巧”的脚本语言是否更好(除了个人偏好原因)?

问题:

尽管我根据自己的编程观点对 Eldrige 有答案,但获得不同的观点似乎是个好主意,以免给出“有偏见”的答案。......那么,你能给出什么公正的答案来解释这些事情(假设任何语言[s])。

0 投票
9 回答
113827 浏览

c# - 相当于 c# 中的 vbCrLf

我必须这样做:

在 c# AccountList 中是一个字符串。我能怎么做?

谢谢

0 投票
4 回答
6072 浏览

python - PHP 相当于 Python 的 __name__ == "__main__"?

根据标题,是否有 PHP 相当于__name__ == "__main__"

对于通过命令行和通过 Web 请求执行的脚本,是否有一些东西可以使用,或者是否需要自定义函数?

对于那些不熟悉 Python 的人,__name__ == "__main__"允许你定义一个模块文件,如果它是入口点,还有一些东西可以让你运行它。PHP 中的等效结构类似于:


注意zerkms 的答案是最好的,但并不完全正确 - 它应该是:

这比 !count(debug_backtrace()) 快得多,后者本身的速度大约是我的涉及 realpath() 的解决方案的两倍。

0 投票
4 回答
27063 浏览

bash - Bash 的 && 和 || 的 PowerShell 等价物是什么?运营商?

在 Bash 中,我可以轻松地做类似的事情

这意味着运行command1,如果command1成功运行command2,如果command1运行command3失败。

PowerShell 中的等价物是什么?