过去一周最热门的 5 条开发者评论
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
这是每周精选的精彩开发者评论,您可能错过了。欢迎并鼓励您使用#bestofdev标签来推广帖子和评论。
在“哪些常见的编程概念名称错误?”这个问题下有很多精彩的回答,但最受欢迎的莫过于@ryancmcconnell的回答:
@dink分享了一个技巧,以回应“我最喜欢的 CSS hack”这篇文章:
我认为以下方法更快:
html * {
background: rgba(255, 0, 0, .1);
box-shadow: 0 0 0 1px red;
}
它会生成类似这样的结果:
</div>
回复“Rust 还是 Go 更适合 Web 开发?”这个问题时,@oliverjumpertz就这两种语言提出了一些很好的见解:
你想参与网页开发的哪些方面?你选择的编程语言是否能为你带来更多的工作机会?
Go 语言依然非常热门,因为它易于学习,而且很容易上手。它的并发模型比传统的基于线程的模型更容易理解,而且其生态系统早已蓬勃发展,如今拥有众多优秀的库和框架。Go
的 I/O 默认是异步的,你通常不会注意到这一点,因为运行时会自动处理。
我从事编程工作近 20 年了(其中只有一小部分是专业经验),所以以下内容可能不适用于你,但我只用了一天就学会了 Go,并用它编写了我的第一个程序,而且运行时没有出现任何严重错误。
我遇到的唯一问题是它对依赖项的处理方式比较特殊(例如 $GOPATH 等),不过随着 gomodules 的引入,这个问题得到了改善,并且还在不断改进,之前它确实让我感到有些棘手。
目前 Go 相关的工作机会相当可观(请注意:这很大程度上取决于你所在的地区)。
另一方面,Rust 学习起来很难,但一旦你真正理解了它,并且成功地与编译器和借用检查器“交友”(但这比学习 Go 要花费更多时间),它就非常容易上手。
我相信我花了两个星期才能够编写简单的程序,而编译器不会发出太多警告。但是,一旦 Rust 代码编译通过,你就可以确信它肯定能正常运行!
Rust 与 Go 的区别在于它没有运行时环境(运行时环境会帮你处理一些事情)。因此,你可以更好地控制你所做的操作的实际结果。
编写 Rust 代码的方式与编写其他流行语言的代码非常接近。这并没有太多需要学习的新东西,考虑到你必须学习许多其他概念,例如借用等等,而这些概念在使用内存管理语言时是不需要的,这一点就显得尤为重要。Rust
自带 Cargo,与 Go 的 $GOPATH / gomodule 系统相比,Cargo 简直是人间天堂。它让依赖项处理、构建等工作变得如此轻松有趣,而且不会妨碍你的工作。
根据你居住的地区,与区块链不直接相关的职位发布数量可能远少于 Go 语言的职位发布数量,这可能会限制你的就业机会。
这两种语言的功能彼此之间没有区别,所以它们之间没有任何优劣之分。它们几乎可以用于任何用途。你可以用它们编写 REST API,可以实现新的数据库,它们都可以编译成 WASM,几乎你能想到的任何应用场景都可以用它们实现。
这只是冰山一角,但或许能对你的决定有所帮助。
我的建议是:
两种方法都试试,编写一个简单的程序,然后看看你更喜欢哪种。
顺着这个主题,@shushugah就“2019 年 Ruby 还值得学习吗?”这个问题,谈到了一些使用 Ruby 的大型公司。我觉得 DEV 也应该算在内 :)
GitHub、Apple.com 和 Shopify 都使用 Ruby。我目前也是一名 Ruby 开发人员。Ruby 对学习者来说确实是一门很棒的语言。总的来说,选择一门既能让你感到快乐又能帮你找到工作的语言,而这两点对我来说都恰好满足了。
独立项目之所以有趣,是因为你可以随心所欲地打破所有规则。在“Git 工作流程:你的独立项目会提交到 master 分支吗?”这个问题下,@gnsp分享了他的工作流程:
通常情况下,我会在初始阶段在主分支上工作。一旦达到稳定状态并具备最基本的功能,我就会创建分支。如果我需要尝试多种实现方式,那么在不同的分支上实现它们对我来说更有意义。
正如你所说,独自开发时,通常一次只专注于一个功能——十有八九是这样。即便如此,我还是更喜欢在单独的开发分支上工作。无论如何,切换到稳定分支总是比找到稳定提交并检出到该提交更快更方便。
下周见,期待更多精彩评论✌

JavaScript 与 Java 没有任何关系。