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.

Why I Hate Programming Language Advocacy (2000)

63 pointsby smasher164almost 4 years ago

13 comments

lmmalmost 4 years ago
The reality is that popularity is hugely important for programming languages. Tooling is important, but you&#x27;ll only get good tool support if you&#x27;re popular; there are what, two and a half full IDEs out there, and at least for certain kinds of languages, having first-class support in those IDEs is a much bigger difference maker than anything you can do at an actual language design level. Similarly for things like having big hosted repositories with lots of libraries available, and first-class support in official SDKs.<p>Don&#x27;t get me wrong, I wish programming language competition was less zero-sum than it is, but sticking our heads in the sand about it doesn&#x27;t help.
评论 #27445774 未加载
评论 #27446295 未加载
评论 #27446373 未加载
scandoxalmost 4 years ago
I had a friend many years ago who was very smart but also quite paranoid. I noticed that even mentioning the name of someone he perceived as his enemy caused him to become very cool towards me. Anything less than a total character assassination of that person when referring to them was interpreted as advocacy for them. It was quite disorienting.<p>Since then I have seen how this same mentality manifests itself on a grand scale on the net. Now description is advocacy.
kstenerudalmost 4 years ago
It&#x27;s the same old problem of identity beliefs: An &quot;attack&quot; on any part of the belief is an attack upon the person, and elicits an &quot;I must defeat my opponent by any means necessary (fair or unfair)&quot; response. Discussions will take hard turns into logical fallacies and the person making them will be convinced that they&#x27;re acting perfectly normal, because the lower brain has cut off the rational section as part of the &quot;fight-or-flight&quot; response. It&#x27;s fascinating to watch the Jekyll-Hyde transformation in real time, but not fun trying to disengage.<p>We take on identity beliefs in so many areas of our lives (most commonly in religion and politics), and programming languages or text editor preferences are particularly notable areas of identity belief when it comes to programmers.<p>I&#x27;ve long given up participating in language or editor criticism because it&#x27;s simply impossible to have a rational discussion about it. We used to have similar problems with RISC vs CISC discussions, but I think that has largely faded into history by now.
评论 #27445638 未加载
goto11almost 4 years ago
Programming languages shape the way we think about problems. I know linguists reject the Sapir-Whorf hypothesis for natural languages, but I definitely think it is true when it comes to programming languages.<p>This means the language you are familiar with will always looks more efficient and a better fit for any particular problem than a language you are not as familiar with. While tribalism and identity certainly plays a part in language wars, I believe the language advocacy is often genuine in the sense that the advocate really believe their preferred language is superior, and just want to help other people realize this. They genuinely don&#x27;t understand why people would deliberately chose to use an obviously inferior programming language.<p>A example of this form of advocacy is the classic &quot;Revenge of the Nerds&quot; <a href="http:&#x2F;&#x2F;www.paulgraham.com&#x2F;icad.html" rel="nofollow">http:&#x2F;&#x2F;www.paulgraham.com&#x2F;icad.html</a><p>&gt; <i>As an illustration of what I mean about the relative power of programming languages, consider the following problem. We want to write a function that generates accumulators-- a function that takes a number n, and returns a function that takes another number i and returns n incremented by i.</i><p>Note that the &quot;problem&quot; used to compare language power is not actually a problem. Rather it the <i>solution</i> a particular language would use to solve some problem. Unsurprisingly this particular language &quot;turns out&quot; to be the most powerful in the comparison. If we had chosen a different &quot;problem&quot; like writing a function which was statically guaranteed to return a list of integers, the winner would be different.
评论 #27446302 未加载
bartreadalmost 4 years ago
A brief observation: this style of &quot;advocacy discussion&quot; or &quot;advocacy interpretation&#x2F;listening&quot; is sadly not limited to programming languages. It&#x27;s something that I&#x27;ve seen is prevalent in many aspects of technical discussion for the whole of my professional career which, coincidentally, began in 2000, as well as before that when I was at school and university.<p>Given this is the case I suspect, and here I admit that I&#x27;m extrapolating from a <i>very</i> limited dataset, that the root goes back to our early lives and education. There is some flaw in our education or thinking that fails to teach us to hear what somebody is actually saying versus what we want (or assume) they are saying. And that refusal to hear can, whether by accident or by design, come across as both stubborn and wilful, which only further serves to shut down fruitful conversation.<p>Sadly the issue now infects discussion on all manner of topics (both important and less so) and leads to heated debates and arguments that go nowhere. People literally become angry with eachother and fall out over... well, because they&#x27;re not meaninfully communicating, they effectively fall out over nothing.<p>It&#x27;s both ridiculous and profoundly depressing, but what I think it may indicate is a failure to mature in thinking. How widespread that failure is, is hard to say, but amongst people who use social media (for example) it appears to be at the very least a substantial minority (again, I haven&#x27;t formally measured this so take the observation with a pinch of salt).
评论 #27446994 未加载
评论 #27446964 未加载
xupybdalmost 4 years ago
Programming languages have strong emotional attachments for me. I remember being stuck in some messy code with deadlines looming, and the frustrations tend to get attached to that language. If I find a language fun and easy to get into a flow I love it. Objective C, was the first I loved. Perl I hated, I always came unstuck by something that I didn&#x27;t know about the language and felt annoyed. Unfortunately most of my language evaluation are emotionally charged. I don&#x27;t know if I can give a rational evaluation.<p>PHP I hated but then we had someone brilliant with PHP come in and fix up the legacy mess we were dealing with. After that I grew rather fond of PHP. F# I really enjoy, but suspect that is because I have never used it under the pressure of a paid project.
papitoalmost 4 years ago
If you become a &quot;language zealot&quot;, you are really not helping yourself as a software engineer. The day I get referred to myself as &quot;that Node developer&quot; or &quot;that Python guy&quot;, I will consider my career to have taken a wrong turn.<p>Don&#x27;t get attached to no language, no company, or no lover.
评论 #27448422 未加载
评论 #27448258 未加载
评论 #27446913 未加载
mikewarotalmost 4 years ago
I don&#x27;t think the problem is with advocacy itself, but the way people always pick apart examples, leaving no effective way to tell stories anymore.<p>Sometimes type checking is good, other times it gets in the way. It would be interesting if there were a way to compose a program with no typing, in order to quickly get to a MVP. Once done, you could then interact with the compiler&#x2F;computer in a way to fully specify intent, and result with a fully typed codebase.<p>Being able to loosen up typing would likely have its uses as well.
评论 #27445675 未加载
评论 #27445404 未加载
评论 #27445924 未加载
评论 #27445854 未加载
评论 #27445349 未加载
roenxialmost 4 years ago
I think the problem is a bit more subtle and much deeper than &quot;we&#x27;re doing advocacy wrong&quot;. The differences between programming languages are, in a sense, trivial. Maybe one language is an order of magnitude more powerful than another. Important, but in the last 50 years identifying the right market sector to be involved with is worth a billion dollars and the wrong one is worth hundreds of thousands. So if the point here is to be effective, programming language is a relatively minor factor. Most of the surviving languages have similar power anyway.<p>But what is not at all trivial is a lot of people exist who feel they have an &#x27;edge&#x27; by knowing their language really well or feel threatened (or, indeed, exasperated) at having to learn a new language. I&#x27;m guessing this pool of people is also biased towards marginal programmers and people making money off advocacy.<p>It makes sense to me that advocacy would generally be of bad quality. The rewards for shepherding the programming community towards a more productive language are low and rare compared to the rewards of convincing people to do X where X is what the advocate is involved with already.
question000almost 4 years ago
I actually love programming language advocacy and programming language partisanship even when it&#x27;s rooted in ignorance, just because generally peoples efforts are better spent extending existing languages as opposed to trying to solve problems by improving the language it&#x27;s self.<p>There needs to a bit of friction in the system or everyone is using discrete languages nobody else understands, even for irrational reasons.
ajsnigrutinalmost 4 years ago
I see programming language advocacy the same as car advocacy, where someone driving a VW will crap on all other cars, and then buy a Toyota, and again say all other cars are crap, including VW, .. and then back to VW, and Toyota is crap again.<p>And again, languages are also like cars... you usually want a simple enough car, that does the job.... if you go to ikea to buy a pack of curtains, you don&#x27;t need a huge car, and a motorcyle is a best price&#x2F;performance selection... if you can drive one. To translate this to languages, if you need to create something, use something that is able to do the job, and that you&#x27;re actually capable of using to write the code for that job. Need to open a url, get an xml, parse it, and print a number from it to a terminal? Yes, optimized assembly will do it the fastest, perl&#x2F;python&#x2F;ruby will do it with the least code, but if you&#x27;re only familiar with JS, even if it&#x27;s slow, a a (node)js solution might still be best for you.
mybridalmost 4 years ago
TLDR; humans are tribal<p>American politics has regressed on a scale of civilized to tribal. This is something we can all intuit and I think articles like this are going to become more common place. How do humans overcome base nature to become civilized? This is poorly understood. Religion wants to take all the credit. People like Stephen Pinker point to the Enlightenment being responsible and Enlightenment under attack today is civilization under attack. The fact our culture is coarsening into ever larger degrees of tribalism is disturbing. Computer science will not be able to stay out of the fray. Nor will any human endeavour.
评论 #27446587 未加载
5jtalmost 4 years ago
The next episode of The Array Cast (array cast.com) discusses the rise and fall of the array languages APL, J, k and q.