TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Fetishizing Programming Languages

13 pointsby chasingsparksabout 15 years ago

5 comments

gruseomabout 15 years ago
Wow, I disagree with this so much that it makes me realize I don't accept that a programming language is a tool. A compiler is a tool. A language is a <i>medium for thinking</i>. Different ideas arise when working in different media. This leads to a thousand different little decisions about how to move forward, resulting in different programs - potentially vastly different.<p>Technically, of course, these languages are all equivalent because you can write an interpreter for one in another. But that also implies they're not equivalent conceptually; that's what "interpret" means.<p>The influence of the medium on the program is so acutely obvious to me that I wonder how anyone could miss it. Here's one thing I think obscures it: when we compare programming languages, it's almost always by juxtaposing implementations of a program (or code snippet) that we already know how to write: something clearly defined and well-understood. But this is precisely when you're least likely to be influenced by the medium. (Someone porting, say, the Mona Lisa to watercolor, or fingerpaint for that matter, doesn't have to make big decisions about what to paint: it's clear what the picture should look like because it already exists.) It's when you <i>don't</i> yet know what the program should do, or what direction it should evolve in, that your ideas are going to be deeply conditioned by the medium in which it has evolved so far.<p>In other words, the way we compare programming languages is designed to overlook all the most interesting and subtle differences between them. Maybe that's why people come to the conclusion that language doesn't matter. Every time I hear that I wonder how deep that person has really gone. One wouldn't think much of an artist who said that medium doesn't matter.
评论 #1311351 未加载
swannodetteabout 15 years ago
<i>Carpenters don’t seem to suffer from the same error of judgement. There might be several brands of hammers offering slightly different features, but they all pound nails into wood.</i><p>Awful analogy. Software is like capentry (in the small) and architecture (in the large). In both cases materials matter. A language is the material for building a particular kind of structure, not only a tool for building that structure.<p>Consider the fact that many programming languages fail miserably at concurrency. Is that because you don't know how to use the hammer, or because you picked a really bad material for building that particular kind of structure?<p>EDIT: Thought about this some more, changed my negative slant on carpentry. Furniture is a delicate and beautiful sculptural practice. In carpentry materials matter just as much.
评论 #1311019 未加载
评论 #1310989 未加载
评论 #1310973 未加载
评论 #1311267 未加载
评论 #1311049 未加载
philhabout 15 years ago
I think what the author is driving at is: when multiple programming languages exist <i>in the same space</i>, it's not a very effective use of your time to learn all of them.<p>If you know Python and Perl and you teach yourself Ruby, you probably won't learn very much. If you then teach yourself Lua, Javascript and PHP, you'll learn progressively less each time.<p>I was surprised to see this particular brand of negativity in the comments. I thought the post was trivial, not controversial.
makmanalpabout 15 years ago
&#62; there exists a danger of conflating learning new languages with learning new ways to solve problems<p>Example: When you come from a C background and you discover declarative or more specifically functional programming, how is this not a new way to solve problems?
评论 #1311068 未加载
fogusabout 15 years ago
"Learning a set of very similar languages is of limited utility because your not actually gaining anything new."<p>This might be true if you completely diminish the importance of syntax. Likewise, there is a lot to learn from those little gaps between where any two similar languages diverge.