Node.js VS .Net:国外网友也吵起来了!

近日有人在 Hacker News 上询问了有关 Node.js 和 .Net Core(2024)生态系统,此前在 2016 年也有过同样问题的讨论。引发激烈讨论,有喜欢 Node.js 的、有喜欢 .Net 的,还有 Go 和 Java。

下面摘选几个不同角度的热点评论:

评论1:"两者都可以,但我更倾向于 .Net"

网友 "Atotalnoob":

两者都可以。这真的取决于你的使用情况。在我看来,对于 .NET,开发体验要好得多,但它也更昂贵,通常需要 Windows(是的,Linux 上也完全可以使用 .NET)。微软在从头到尾构建更好、更简单的工具方面投入了大量资源。如果你是 Azure 店铺,部署将非常容易。

我还没有看最新的基准测试结果,但我曾经看过的时候,C# 在性能、多线程等方面是一个明显的赢家。Node.js 在任何方面都不慢,但也不是不慢。

Node.js 擅长开发速度和像 Next.js 或其他 SSG 中的 BFF 模式。.NET 将引导你进入更好的设计模式,以便未来更易于维护。在 Node.js 周围还有更多需要注意的地方,这主要是由于 JavaScript 的怪异性。

如果你同时使用 Node.js 后端和前端,那会非常不错。这是一种语言,如果你使用 TypeScript,你可以共享类型!

总的来说,两者都有取舍。当你在它们之间做出选择时,我更关心的是你的团队构成、技能组合和项目类型。

如果你逼我做选择,我会选择 .NET。"

上面有一点是认同的,Node.js 服务端同前端是一种语言,因为大家都是用 JavaScript,学习成本总归是要低些的,有些通用的模块是可以共享的,例如,使用 TS 后,类型就可以共享啊!

评论2: "Node.js 生产力方面无语伦比"

网友 @dzonga:

.NET Core 相当不错。如果我没记错的话,它们甚至采用了与 Express 类似的 API。

是的,它也很快。比 Node 还要快。有类型等。但是 C# 是一种复杂的语言。而且它不断添加新特性。在 .NET 世界中有很棒的工具等。

但是你知道为什么 JavaScript / Node.js 会出色吗?JS 是一种简单的语言。当然,像 Clojure 这样的 Lisp 也很简单。但只有一种语言接近 JavaScript 的简洁性 -- Go 语言。

但是 Go 语言像 JavaScript 一样灵活吗?

在 JavaScript 领域可能唯一不太好的是工具。但就服务器端的东西来说,比如处理 JSON / 转换 JSON,这正是信息类应用所需的 -- 也就是我们大多数人工作的应用的大部分内容。Node.js 在生产力方面是无与伦比的。

所以,是的,Node.js 能够用 20% 的工作获得 80% 的结果。

评论3:"选择 JS 开发,因为不想与 Windows 人才打交道!"

我知道你不是在询问技能背后的人格,但我宁愿选择一个 JS 开发,而不是一个 .NET 开发(即使(也许特别是).NET Core 可以在 Linux 上运行),我甚至会更换整个技术栈,以避免与 Windows 人才打交道。基于 Microsoft 的生态系统中的 ClickOps 思维令人震惊。

这哥们不知道与 Windows 有啥恩怨,以至于选择选择 JS 开发的原因是不想与 Windows 人才打交道 😂

评论4:"我选择 go"

最后有一个由 @moomoo11 评论到 "正确的答案是 Go"

网友 @kcartlidge 回复到

我使用 Go、Node 和 C#(还有当前的 Python、Ruby 和 PHP),正确答案是没有正确答案。

你能做到的最接近的就是使用你已经了解的知识。

如果你已经得出结论你已经了解的知识无法完成工作,那么理论上你已经掌握了缺失功能的知识,这让你能够根据特定的使用情况进行正确的技术评估。

就好像有人说,我总是首先考虑 Go,还有人说 Go 是一个更糟糕的选择!正确上面 @kcartlidge 回复的,这里可能真的没有正确答案!

评论5: "赚钱还得是我 PHP"

这种讨论怎能没有我 PHP?网友 @delfinom 回复到:

你要使用最适合你应用程序的工具。这就是任何语言争论的答案。

这就是人们即使只运行 PHP,也能赚取数百万利润的方式。

前段时间知乎上有个 "2024年nodejs凉了吗?凉到什么程度了?",既然能有这么热烈的讨论,至少还没凉透吧,正常使用吧!没什么问题的。引用一句话:"世上只有两种编程语言:一种被人骂,一种没人用"。

参考

相关推荐
Nan_Shu_6142 分钟前
学习: Threejs (2)
前端·javascript·学习
G_G#10 分钟前
纯前端js插件实现同一浏览器控制只允许打开一个标签,处理session变更问题
前端·javascript·浏览器标签页通信·只允许一个标签页
@大迁世界25 分钟前
TypeScript 的本质并非类型,而是信任
开发语言·前端·javascript·typescript·ecmascript
GIS之路34 分钟前
GDAL 实现矢量裁剪
前端·python·信息可视化
是一个Bug37 分钟前
后端开发者视角的前端开发面试题清单(50道)
前端
Amumu1213839 分钟前
React面向组件编程
开发语言·前端·javascript
持续升级打怪中1 小时前
Vue3 中虚拟滚动与分页加载的实现原理与实践
前端·性能优化
GIS之路1 小时前
GDAL 实现矢量合并
前端
hxjhnct1 小时前
React useContext的缺陷
前端·react.js·前端框架
前端 贾公子2 小时前
从入门到实践:前端 Monorepo 工程化实战(4)
前端