发布于 2026-01-06 2 阅读
0

过去一周最热门的 5 条开发者评论

过去一周最热门的 5 条开发者评论

这是每周精选的精彩开发者评论,您可能错过了。欢迎并鼓励您使用#bestofdev标签来推广帖子和评论。

@humrochagf回复了《改变我一生的编程语言!》这篇文章,并分享了自己与不同编程语言的联系:

帖子写得真棒!我在计算机科学课上接触过Prolog,当时学得很吃力。也许是时候重新拾起它,看看你推荐的这本书,再试一次了。

对我而言,我接触过的每一种编程语言都在某些方面改变了我的生活。

  • C 让我非常重视资源管理。
  • 学习汇编语言是为了更深入地了解底层工作原理。同时也是为了感谢编译器和解释器的存在😄
  • 使用 Java 理解经典设计模式
  • 我选择 Python 来发现我对编程、社区和开源的热情,并让我更好地用代码表达自己。
  • JavaScript 和 TypeScript 对我理解事件和异步工作的工作原理帮助很大。
  • Shell 是服务器任务自动化的入口
  • 现在我正在培养我对函数式编程的热情

每种语言都让我接触到不同的看待事物的方式☺

这是一个价值 1000 欧元的 Node 脚本吗?》这篇文章读起来非常有趣。@antontsvil在文中谈到了确保你真正遵循所有要求的重要性:

这是一个令人痛心却又似曾相识的警世故事。你以为自己了解客户的需求,结果倾注所有心血打造完美产品后,却发现自己完全误解了他们的需求!教训就是:在尝试解决问题之前,务必先彻底理解问题所在😉

@andrewbrown在这个讨论串中给出了一个很棒的答案:如果你的经理让你在接下来的两周里从事任何“有趣且有意义”的工作项目,你会做什么?我个人非常期待看到这最终成为现实。

我会完成我的 AWS 星际迷航卡拉OK应用程序,用户可以在其中输入卡拉OK配乐,它会将视频照片剪辑在一起,让星际迷航角色唱歌。

所以我可以制作类似这样的东西:

在 AWS 上转录《星际迷航:下一代》全季需要花费 500 美元,但我有足够的积分来做到这一点。

</div>
Enter fullscreen mode Exit fullscreen mode

JavaScript 是最令人困惑的编程语言吗? @curtisfenner对此有一些补充说明和例子:

我认为假装所有语言都一样是不诚实的,而且适得其反。事实上,TypeScript 的诞生正是源于这样一个棘手的现实:在大团队中编写 JavaScript 的成本远高于实际所需。

JavaScript非常令人困惑,以至于“令人困惑”与“容易预测”和“理解它并不复杂”完全相反。

以下仅列举 JavaScript 复杂难懂之处的一小部分:

{var x = 1; {var x = 2;} console.log(x)}2,但{let x = 1; {let x = 2;} console.log(x)}使1

doThing(arg, (x) => { this.receive(x); });通常会有效,而doThing(arg, function(x) { this.receive(x); });通常不会。

[1, 2, 3, 10, 20, 30].sort()[1, 10, 2, 20, 3, 30]
["x", "y", "z", "a", "b", "c"].sort((a, b) => a - b)不会改变顺序。

"slice" in []但却for (let p in []) {console.log(p);}什么也没打印出来。

"𝕋𝕋".length4,但Array.from("𝕋𝕋").length也是2

{[{}]: 10}["[object Object]"]尽管10这显然说不通。

(a => a).length1Array.from((a, b) => a + b)也是[undefined, undefined]

arr.push,,arr.poparr.splice返回数组,但修改它;修改arr.sortarr.reverse返回数组;arr.concat,,不修改数组。arr.slicearr.map

0 == "0"但是0 == ""……"" != "0"

当然,这些都有(相对简单的)解释。然而,每一种都代表着你必须了​​解的“琐碎知识”,才能真正理解实际应用中的 JavaScript 代码;它们都是程序员为了避免被 JavaScript 搞得晕头转向而必须(反复)克服的众多障碍之一。显然,这只是 JavaScript 引发困惑的几个典型例子;了解这些并不意味着你就不会被 JavaScript 搞得晕头转向。

不过,JavaScript 绝对不是令人困惑的语言。我也同意,它正在变得越来越(尤其是像 TypeScript 编译器这样的工具的出现,使得编写纯 JavaScript 代码变得更加容易)。(不幸的是,正如上面的列表所展示的那样,这也使得 JavaScript 变得更加复杂,因为“传统”特性与行为略有不同的“现代”特性并存。)

作为一个努力跟上编程语言理论步伐的人,我担心人们对编程工具会感到自满。我们今天所处的阶段显然远未达到编程工具的“巅峰”(毕竟,编程语言本身到现在也只有大约60年的历史),这意味着还有很多可以改进的地方。认识到我们已经取得了长足的进步固然重要,但同样重要的是,我们不能忽视那些仍然可以改进的领域。

(以上情况并非 JavaScript 独有,但我确实认为 JavaScript 是更容易让人感到困惑的语言之一。C 语言可能是另一种经常被认为是“足够好”的语言,尽管它也有很多需要改进的地方。)

针对苹果公司想要从 macOS 中移除脚本语言一事, @codemouse92发表了一些关于“脚本语言”一词本身以及苹果公司潜在动机的看法:

我一直觉得“脚本语言”是个模棱两可的词。它缺乏正式定义,却被随意地用来指代任何开发者认为“不是真正的编程语言”的语言(同时还带着资产阶级式的鄙夷)。

如果他们指的是“解释型语言”,那确实是一个具体的概念,但也意味着要放弃 Java。

什么叫“老旧”?Python什么时候变成“老旧”语言了?它可是当今最流行的应用程序开发语言之一,我的天哪!(顺便一提,Ruby和Perl也根本算不上“老旧”。)

不过,我倒是有个想法……我觉得苹果只是想“鼓励”(其实是强迫)开发者使用他们自家的编程语言,开发更多苹果独占软件。这又是老一套的“围墙花园”策略。

但四年前,苹果开始明目张胆地阻止Linux与iDevices通信,于是我便开始抵制苹果产品。(没错,技术支持也证实了这一点。)他们就是喜欢搞这种肮脏的勾当。

苹果爱好者们:来Linux吧!花园篱笆这边才是真正的自由。 ;)

下周见,期待更多精彩评论✌

文章来源:https://dev.to/devteam/top-5-dev-comments-from-the-past-week-1nem