> ## Content Index
> Fetch the complete content index at: https://andybase.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# 编程语言的边际效益
- URL: https://andybase.com/-e7-bc-96-e7-a8-8b-e8-af-ad-e8-a8-80-e7-9a-84-e8-be-b9-e9-99-85-e6-95-88-e7-9b-8a/
- Published: 2020-03-05T03:43:37.000Z
- Updated: 2020-03-05T03:43:37.000Z
- Author: andy
- Tags: Uncategorized, #Migrated-1784083136856, #wp, #wp-post, #Import 2026-07-15 02:38

之前跳槽的时候加了好多刷题群，在群里问过很多问题，也从其他大佬分享的经验里受益匪浅。 所以跳槽之后我也没有退群，希望能够分享一些经验给后来人。

在这类群里水的多了，就经常能看到很多人在“炫技式编程”。 比如列表推导这种入门级别的；进阶一点的就是TMP，脑子展开的时候经常容易溢出；更高端点的就是宏+TMP，基本上想上一天能想明白这代码干了啥。

我刚开始工作的时候也特别喜欢这么写代码，感觉每次不加点语法糖就浑身难受。那时候用C#，基本上是能上LinQ的就绝不用循环，能用异步的就绝不用同步。后来用了python，能列表推导就不写循环，能lambda就不写人话。再后来，有一次要给别人讲我的代码，点开文件后我自己都懵了——这是我写的？这在推导啥？这个lambda 在干啥？这都是个啥啥啥（王宝强脸）？

随着看的代码多，写的代码多，收到的评审多了，我慢慢的感觉到学习一门编程语言的边际效用：当你对一门语言的特性应用的越多，你的代码的可读性就越差。而且当你用到生僻的特性或者方法时（哪怕是标准库里的），很难保证未来修改你代码的人是否同样也熟稔这个特性，他可能也会像你不熟悉这个方法时一样大挠头皮，然后翻阅文档，最后找到这个方法，然后以掉落几根头发的代价掌握了这个方法并读懂了你的代码。

所以学语言学到这么一个平衡点的位置就好。再多钻研下去，除非你立志想精通这门语言，否则意义不大。不如更好的着眼于如何安排结构、架构，对未来的发展更有意义。