TE
科技回声
首页24小时热榜最新最佳问答展示工作
GitHubTwitter
首页

科技回声

基于 Next.js 构建的科技新闻平台,提供全球科技新闻和讨论内容。

GitHubTwitter

首页

首页最新最佳问答展示工作

资源链接

HackerNews API原版 HackerNewsNext.js

© 2025 科技回声. 版权所有。

Can a Programming Language Make You Smarter?

13 点作者 gigasquid超过 9 年前

5 条评论

daviddaviddavid超过 9 年前
If my only criterion in choosing a programming language was to make myself smarter, I would probably choose Prolog or a similar language. I find that when I&#x27;m writing Prolog I am forced to think precisely about the problem at hand. The reason for this is that the programs one is writing are basically just specifications of the truth conditions that constitute a solution to the problem.<p>Other languages (especially those with flexible syntaxes) make me feel more mentally limber due to the amount of creativity they encourage. But Prolog is the only language I&#x27;ve ever written that makes me feel like I might actually tack on an IQ point.
im_down_w_otp超过 9 年前
I&#x27;m 100% certain that I&#x27;m a better engineer and designer&#x2F;architect as a result of learning Erlang. Not just the language, but the OTP patterns and also the BEAM VM internals.<p>I design and build better software in other languages and ecosystems and have a much, much higher bar for what constitutes properly encapsulated concerns, coherent failure management, and &quot;completeness&quot; as a result of having used Erlang in production.<p>My Scala is better, my Rust is better, my C is better, and my framework of thinking for how to design software is better. Hell, even my Javascript is better. Despite being a niche inside a niche as far as languages&#x2F;ecosystems go, the decision to learn it might be one of the best decisions of my career.
y0y超过 9 年前
Unrelated to the question in the title, but a friend and I have often talked about this. Neither of us are in any way experts in psychology&#x2F;neurology&#x2F;etc. - we&#x27;re lowly developers.<p>However, to us it made sense that language increases the cognitive ability of the brain because it&#x27;s like memoization. We now have a symbol to represent a concept. We don&#x27;t have to re-compute it over and over again. So now we reference that symbol when we are thinking and can build upon it and attach new symbols. Without having to re-compute, so to speak, the whole underlying framework&#x2F;structure we are better able to utilize our cognitive cpu.<p>Whether that is true in any way is beyond me, but it made sense to us.
drallison超过 9 年前
The question is poorly formed. How do you measure smartness? And who is doing the measuring.<p>A programming language can provide a framework for problem solving, and such a framework can make the task of solving a class of problems easier. Because problems can be solved with less work, it makes you feel smarter. Having the right abstractions makes problem solving simpler.
isolate超过 9 年前
Learning to program can teach you approach other areas of your life with more rigor: separating concerns, minimizing dependencies, iterating fully or with a short-circuit over a collection, refactoring, eliminating cruft, keeping history, reducing constant factors, task decomposition, etc. etc. etc.