问题标签 [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 投票
5 回答
31484 浏览

haskell - Haskell 和 F# 之间的主要区别是什么?

我在 Internet 上搜索了F#Haskell之间的比较,但没有找到任何真正确定的东西。主要区别是什么?为什么我要选择其中一个?

0 投票
4 回答
1305 浏览

python - 如何在纯 Python 中表达这个 Bash 命令

我在一个有用的 Bash 脚本中有这一行,但我还没有设法将其翻译成 Python,其中“a”是用户输入的要归档的文件的天数:

对于最通用的跨平台元素,我熟悉 os.name 和 getpass.getuser。我也有这个函数来生成相当于 ~/podcasts/current 的所有文件的全名列表:

首先,必须有更好的方法来做到这一点,欢迎提出任何建议。无论哪种方式,例如,“AllFiles('/users/me/music/itunes/itunes music/podcasts')”都会在 Windows 上给出相关列表。大概我应该能够检查这个列表并调用 os.stat(list_member).st_mtime 并将所有超过某个天数的东西移到存档中;我有点坚持这一点。

当然,任何带有 bash 命令简洁的东西也会很有启发性。

0 投票
5 回答
14101 浏览

groovy - Groovy 相对于 Jython 或 Jruby 的优势?

当我可以使用 Jython 或 Jruby 时,为什么还要选择使用 Groovy?该语言是否提供任何固有优势来弥补 Jython 和 Jruby 技能适用于 JVM 之外的母语这一事实?

请记住,我故意让这个问题保持通用性,但如果在特定领域存在任何优势,请毫不犹豫地描述它们。

编辑
澄清一下,如果我在 Jruby 中编写一些代码,我现在可以在某些情况下,如果需要,将代码移到 JVM 之外,或者至少我对 Ruby 有了更好的理解。而 Groovy 技能仅在使用仅存在于 JVM 中的语言时才适用。Jython 和 Jruby 有这个内置的优势,Groovy 必须用什么来弥补这个劣势?

如果 Groovy 没有您发现的任何优势,并且您建议只使用 Jython 或 Jruby,请告诉我。

编辑 2
感谢大家的所有答案,他们中的大多数人都提出了相同的观点,Groovy 与 Java 的集成略好于 Jython 或 Jruby。

跟进
使用 Netbeans 6.5 作为我的 IDE 我发现 Groovy 与 Java 项目的集成比 Jruby 更好。我不确定缺乏集成是否是 Jruby 或 Netbeans 的失败。但是在将它用于一点 Groovy 之后,肯定似乎有了优势。

0 投票
5 回答
85192 浏览

python - Perl、Python、AWK 和 sed 有什么区别?

它们之间的主要区别是什么?在哪些典型场景中使用每种语言更好?

0 投票
8 回答
29072 浏览

haskell - Haskell, Lisp, and verbosity

For those of you experienced in both Haskell and some flavor of Lisp, I'm curious how "pleasant" (to use a horrid term) it is to write code in Haskell vs. Lisp.

Some background: I'm learning Haskell now, having earlier worked with Scheme and CL (and a little foray into Clojure). Traditionally, you could consider me a fan of dynamic languages for the succinctness and rapidity they provide. I quickly fell in love with Lisp macros, as it gave me yet another way to avoid verbosity and boilerplate.

I'm finding Haskell incredibly interesting, as it's introducing me to ways of coding I didn't know existed. It definitely has some aspects that seem like they would aid in achieving agility, like ease of writing partial functions. However, I'm a bit concerned about losing Lisp macros (I assume I lose them; truth be told I may have just not learned about them yet?) and the static typing system.

Would anyone who has done a decent amount of coding in both worlds mind commenting on how the experiences differ, which you prefer, and if said preference is situational?

0 投票
2 回答
201 浏览

ruby - 是否有与 Perl 的 Data::Rmap 等效的 Ruby?

Perl 的Data::Rmap允许您在数据结构列表上递归评估 BLOCK(本地设置 $_ 到每个元素)并返回由此类评估结果组成的列表。$_ 可用于修改元素。

这对于迭代嵌套散列或散列数组的层次结构等非常有用。

0 投票
13 回答
72563 浏览

c# - C# 与 Java 枚举(适用于 C# 新手)

我已经用 Java 编程了一段时间,刚刚被扔到一个完全用 C# 编写的项目中。我试图加快 C# 的速度,并注意到在我的新项目中的几个地方使用了枚举,但乍一看,C# 的枚举似乎比 Java 1.5+ 实现更简单。谁能列举 C# 和 Java 枚举之间的差异,以及如何克服这些差异?(我不想引发语言火焰大战,我只想知道如何在 C# 中做一些我以前在 Java 中做的事情)。例如,有人可以发布 C# 对应 Sun 著名的 Planet 枚举示例吗?

0 投票
8 回答
2709 浏览

c# - 为什么 Java 没有指定非转义字符串文字的方法?

在 C# 中,如果您希望字符串按字面意思理解,即忽略转义字符,您可以使用:

但是,Java 中没有等价物。Java没有包含类似的东西有什么原因吗?

编辑:

在查看了一些答案并思考之后,我真正要问的是:
是否有任何令人信服的论点反对将此语法添加到 Java 中?一些负面的,我只是没有看到?

0 投票
9 回答
2338 浏览

php - php的整体设计理念是什么?

我最近通过一个客户端的 Drupal 应用程序第一次接触 PHP (5)。体验当然没有什么困难(例如文档很好),但我从来没有想过,“这真的很聪明!”,或者“哇,这使用起来很有趣!” 此外,我无法准确预测函数将如何命名,也无法确定要遵循的指导原则。

这与 Ruby 形成鲜明对比,例如,在 Ruby 中,一切都是对象,方法是可预测的和伪多态的,块使用起来很有趣(仅举几个例子)。其他语言的对比亮点:Python 的列表推导改变了你对迭代的看法,C 用它的指针和位操作把你带回了硬件,javascript 的无名函数和对哈希的高级支持令人惊讶,甚至 SQL 在它的硬性迫使你欣赏你的数据并以相关的方式思考它。

那么考虑到这一点,php的亮点是什么?该语言的整体设计理念是什么?我知道 php 总体上并不享有很高的声誉,但我一直听说这是一个认知问题,因为大量非专业开发人员敲打复制和粘贴代码。

编辑:

好的,所以共识是 PHP 是 web 程序员的扳手。我可以接受。我只是在寻找一个洞察力,但我想我已经有了它。例如,我当然很欣赏 mod_php/libphp。而且我能够在没有任何 PHP 经验的情况下在两周内完成我的应用程序,所以我想这也是不言而喻的。

感谢您的帖子。

0 投票
7 回答
3209 浏览

c# - 从 C++ 到 C# 的惊喜

我是一名进入 C# 的 C++ 程序员。我使用这门语言工作了一个月,理解了很多概念。

从 C++ 迁移到 C# 时,我可能会遇到哪些惊喜?我被警告说析构函数没有按我的意图执行。最近我尝试用泛型做一些事情,将 T 作为基类。那没有用。我还有另一个问题,但我会将其归结为缺乏 C# 经验。我也很惊讶我的应用程序正在占用 RAM,然后我发现我需要.dispose在一个功能中使用。(我认为它会像智能指针一样清理)

还有什么可能让我感到惊讶?

请不要语言抨击。我怀疑有人会,但以防万一......