展开讨论

经验与复盘经验摘录 · 机器翻译

在我大学的第一门编程课程中,我学的是Java

……在我大学的第一门编程课程中,我学的是Java。有一件事让我觉得非常困扰,就是很难或者在很多情况下不可能更改编程语言。当然,你可以编写新的函数、方法或类,但我不能更改if语句的关键词。我还记得助教说:「你为什么想这么做?」我发现自己在想:「如果我们能编程计算机,那为什么不能编程语言呢?」15年后,我仍然有这种感觉,不过我已经和它和解了。事情就是如此。不过也有一些例外!比如:Lisp、Smalltalk和类似的语言。这在一定程度上也是我曾就职于一家专业使用Pharo(一种Smalltalk的后代[2])的公司的原因。我记得在Pharo中用一种非常粗糙的方法实现了运行时类型检查[1],只是为了好玩。我不是Ruby程序员,我知道的只是Ruby有一些与Smalltalk相同的东西。……

源讨论我不再喜欢 Ruby 了吗?(2024)原帖 178 条评论 · 导入时统计
5

社区评论 0

还没有社区评论,来聊聊你的看法。

原讨论中的回复 5

仅展示本次导入中包含的直接回复。中文为机器翻译,可查看英文原文。

LM

语言本身是容易的部分。让你的语言获得工具支持才是困难的部分。让库生态系统采用它则更难。 我认为这就是为什么极其灵活的语言采用率有限的原因——如果你的语言更像一个语言构建套件,每个人都可以实现自己的功能,那么每个人都要自己实现工具支持(或者更可能的是,只能没有工具支持),而这种方式的局限性是显而易见的。最好的语言找到了一个平衡点,它们提供了足够的灵活性来实现大多数合理的程序,但又足够约束,使得工具可以理解并处理所有可能的代码。

完整原文
DA

不过,太多的变化也不一定是好事。保持基础的一致性也有其价值。我见过有人做这样的事情: #define BEGIN { #define END } 因为他们喜欢Pascal,但这样做的后果是灾难性的。

完整原文
ZE

> 我还记得助教说:“你为什么想要这个?” 这是没有背景和想象力的人的典型反应。也许长时间只用Java确实会让人失去这两样东西。另一种可能的回应应该是:“这个想法真有趣!你会怎么应用它?/ 你会用它做什么?” 我很高兴你能发现这些例外情况,你的计算机编程世界的图景不像当时助教的那样不完整和灰暗。

完整原文
CE

Java中也有元编程支持,但不像卫生宏或Ruby的修补那样吸引人和友好。明显的例子是反射,通过它可以做很多奇怪的事情,其中一些有时是有用的。另一个是注解,库在使用时非常广泛,其方式类似于某些Lisp类语言中宏的使用。 https://www.baeldung.com/java-reflection https://www.baeldung.com/java-annotation-processing-builder 然后还有字节码本身,那里有危险: < https://aphyr.com/posts/341-hexing-the-technical-interview > 虽然你很少在Java代码库中看到字节码的花招,但这是JVM上其他一些语言实现运行时元编程的方式。

完整原文
MI

“自定义”编程语言(有时称为宏)不受欢迎的原因是(从统计学上来说)没有人想为每个项目学习一种自定义语言。人们希望尽可能少地学习基础知识。组织机构更倾向于标准化,大多数企业都不是独一无二的。 这虽然可以做到,但并不经济,因此也不实际。

完整原文
在 Hacker News 阅读

尊重不同观点,分享具体经验。

登录后即可发帖、评论、转发和引用。