Ask HN: What are your unpopular opinions about programming?

by polygoton 4/14/2025, 5:05 AMwith 49 comments

by dandelion9on 4/14/2025, 9:50 AM

- 90% of abstraction is dreadful. That means _your_ particular abstraction is almost certainly bad, and we don't want to learn it.

- There is a lack of respect for the history of programming. IMO it has caused the industry to be stuck in a perpetual cycle of half-baked rediscovery.

- Similarly, a type of "FAANG-syndrome" exists and allows sub-par ideas to take over mind share of the industry. Once a technology picks up enough momentum, it will snowball and we're stuck working with legacy trash almost immediately. Developers legitimately seem to believe each trend is good.

- Our industry's shared vocabulary is too weakly defined. Phrases like "The right tool for the job" are ubiquitous but essentially meaningless and used as a form of shorthand "I currently feel this is correct". If we had a real professional lexicon, the first thing juniors would learn would be to enumerate reasoning to a precise degree. IME most "senior" devs can barely do it.

by thihton 4/14/2025, 11:44 AM

Our job is programming. I regularly see opinions that "90% of our job is not programming" and I don’t relate. Sure, our job is not just programming, but honestly if you don’t spend at least 50% of your work time programming, there’s something seriously wrong in your organization.

by Someone1234on 4/14/2025, 12:09 PM

The more tools between raw code and a running solution, the more fragile it is.

This issue is particularly prevalent in the Javascript world, where it isn't uncommon that when you hit build/run, half a dozen process need to occur. This is partly why I wish they'd just put native TypeScript in the browser, simplify the build pipeline by removing several steps (and, yes, TS would evolve slower/more conservatively which I also consider a positive).

WebAssembly is the apex of this issue. Super fragile to build and impossible to debug. It is what I call "prayer based development," because you "pray" it works or troubleshooting becomes a nightmare.

by ant1ozon 4/14/2025, 6:21 AM

I would say that working as a programmer in a corporate environment is a bit similar to being paid to be a novel writer by people who don't know how to read, but absolutely want to tell you how to do your job properly.

by austin-cheneyon 4/14/2025, 11:38 AM

* State management is one of the most simple problems to solve in any application.

* WebSockets are superior to all revisions of HTTP except that HTTP is sessionless. Typically when developers argue against WebSockets it’s because they cannot program.

* Your software isn’t fast. Not ever, unless you have numbers for comparison.

* Things like jquery, React, Spring, Rails, and so forth do not exist to create superior software. They exist to help businesses hire unqualified developers.

* If you want to be a 10x developer just don’t repeat the mistakes other people commonly repeat. Programming mastery is not required and follows from your 10x solutions.

* I find it dreadfully hypocritical that people complain about AI in the interview process and simultaneously dismiss the idea of requiring licensing for professional software practice.

by ferguess_kon 4/14/2025, 2:21 PM

I have realized this morning, when I was riding in the bus, that my habit of creating a new side project every 6 months, working on it for maybe 2-3 months of relatively high productivity, and suddenly losing interests afterwards (usually not finished, or not polished), probably means that programming is an addiction to me.

No one is using my project, and I'm not exactly learning a lot from them, except in the first half of each one because whatever afterwards is just polishing (e.g. I did an interpreter project on a Python subset a year ago, and TBH the whole concept was pretty straightforward once my brain got it in the first few weeks). It's more of an obsession and that probably explains why I got burned out after 2-3 months and COMPLETELY lost interests in it. Looking at my GitHub commit history, it is always 2-3 months of almost daily commits compensated by 3 months of absolutely non-activity.

I don't think this is the right path for me if I want to leverage my side projects to get a job in low-level programming. Either I figure out how to drill deeper into each of my projects, or I need to figure out how to remove the burnout every 2-3 months. If the market is good I'd go straight to apply for system programming jobs but right now it's even tough to keep my own job.

So this is my unpopular opinions about side project programming -- if you are like me, maybe it's time to rethink the strategy. We only have one life, and I'm already 42. Gosh! Maybe I (we) should just find another hobby.

by arduinomanceron 4/14/2025, 3:45 PM

I generally don’t really care about what programming language I’m using

To me algorithms and solving problems in the abstract sense are the actual interesting part of the job

If discussing language/framework choices is the most interesting part of the job, it means I have a boring job/project/domain

by curtisblaineon 4/14/2025, 12:21 PM

- Diversity doesn't really make your tech team better or worse. Prioritizing for diversity when you're hiring makes your team worse.

- Cache invalidation is relatively easy; it's choosing the right strategy that is hard.

- You hate SPAs because you conflate them with running javascript, and you hate running javascript because you conflate it with predatory advertising strategies. You should hate predatory advertising strategies.

- IP clauses in job contracts contribute to the formation of monopolies and monocultures; they should be collectively fought harder than they are.

- Teaching juniors should be < 10% of a developer's job. If you want an instructor, hire an instructor.

by almosthereon 4/14/2025, 6:00 AM

The internet and software has destroyed humanity.

by bjourneon 4/14/2025, 1:13 PM

That my opinions are right and if you don't agree with me you truly suck!

by yen223on 4/14/2025, 10:26 AM

If you consider the constraints on how it can evolve and the alternatives that has been attempted, I think web languages turned out pretty well.

by k310on 4/14/2025, 5:59 AM

Interpret everything. Perl, Tcl, irb, groovy on the desktop.

On the iphone, only BASIC. :-)

"Just Run, Baby."

by bwbtwbewrtbon 4/14/2025, 8:19 AM

vast vast majority of code written is what should have been compiler output

by owebmasteron 4/14/2025, 5:23 PM

Dynamic languages are great and TypeScript is the stupidest thing ever.

by Balgairon 4/14/2025, 5:12 PM

It's a lot easier than you all make it out to be [0].

I'm not a 'programmer' like you all are, at best I can hack together code to get things done. I use git maybe once a year. I'm a biotech person that likes to hang out because y'all are mostly smart and the community is great here.

But man alive, this is not that difficult. Yes, it's hard to wrap your head around some nested dependancies. But it's a lot easier than any chain of protein/gene/neuron interactions. This stuff makes sense and you can edit it. My field can't really do that most of the time and it really doesn't make sense for decades (at best).

Like, I'm trying to follow along here and am mostly lost. But the few times I do know something about the code y'all are talking about, it's made out to be a lot more complicated than it needs to be.

I mean, yeah, keep that up though. Makes your bosses pay you more and lord knows those suits should be doing that and not spending the cash on rockets and shitty pick-ups.

But for real, y'all are making this out to be a lot harder than it is.

[0] this is supposed to an unpopular opinion, right?

by codingclawson 4/14/2025, 12:56 PM

JavaScript is excellent.

by Ekaroson 4/14/2025, 9:58 AM

Web was a mistake...

by mitchellpkton 4/15/2025, 8:51 PM

Python package management infrastructure and tooling works fine for me, and I use python frequently.

There is a relevant xkcd: https://xkcd.com/1987/

by orionblastaron 4/14/2025, 5:45 AM

Trying to debug and find pointer and memory leak problems.