HTML/TeX/etc are real programming languages that just happen to be declarative as opposed to imperative.
Programmer Humor
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
- If the mod doesn't find it funny, you're banned. Ha-ha!... For real: do not use the community for "statements". There are other places for such content. Keep it chill and funny.
Unit tests are overrated to the point of being harmful. They have their place, but that place is certainly not "the base of the testing pyramid". They are useful for a very specific type of "units" - and using them anywhere else just messes things up.
The point of unit tests isn't that the tests are important, it's that using them makes you write your code in testable units.
Rust is the easiest programming language to learn.
Granted, I'm autistic, but still. I found it far more intuitive than JavaScript or Python.
Bonus: HTML and JavaScript are evil and I hate webpages that use it. Thats pretty much all of them, to be fair, but markdown websites do exist and I love them
Rust and C are very similar so I'm not going to argue with that the primary difference is safe memory in rust, and more embedded hardware support in C, which depends entirely if you plan on building embedded systems.
On a fundamental, computer architecture/assembly/ALU level, I've never understood how python works asynchronously; how is it able to run code blocks in a non-sequential paradigm.
You should not be using AI at all. https://survey.stackoverflow.co/2026/ai
-
C++ is an awful language overall.
-
Linus is just some guy with good programming skills and not an authority over anything tech.
-
~~There aren't any good text editors in the wild. VSCode is awful apart from extension support. Kate is close to being perfect but lack of extensions are pulling it back. Vim, Helix, Emacs, NeoVim are all flex toys.~~ nvm just tried zed with AI disabled
-
AI bad
Linus is just some guy with good programming skills
I somewhat agree. Most celebrated personalities in tech aren't programming geniuses - they were in the right area at the right time and had some luck. Zuckerberg is a good example.
I think kernel maintainers and rendering engines (browsers and others) have a higher base skill level. Like some web developers are clever and some are stupid, but I don't think there are stupid kernel maintainers.
The thing with Linus is that he's been involved, and at the pointy end, for decades. You or I may not agree with him on every issue, but you can acknowledge that he has experience and he has connections.
Using LLMs are not the same as using intellisense or compilers and there are a myriad number of reasons not to use it that could fill an entire book and I will look down on any company or freelance developer that uses it.
Yes I'll fight Linus over this and yes I'll be right.
Fight me (Not literally) LLMs used to give garbage output but nowadays they are actually good and if given in the hands of right person, it can increase the productivity.
You might say productivity increases but salary dosent but that is a mangement issue and does not make LLMs bad.
Every issue I have with the tech has nothing to do with how "useful" it is.
I'd even argue it's only useful in the short term, and extremely harmful in the long term. Not just because of it's fascist origins, but because developing it further is accelerating climate change unnecessarily when we direly need to do the opposite. Climate change will rapidly undo any of the good LLMs manage to accomplish.
OOP dogma isn't just bad, it's actively harmful. OOP leads to unnecessary boilerplate. Any boilerplate that is not absolutely necessary is noise and bad. Full stop.
Private (Getters/setters): Strictly not a necessity in any sense of the word.
Short functions everywhere.
Short files everywhere.
I prefer to see the steps of execution that are actually happening in the real world on hardware. Not an ivory tower of code that happens to execute.
This is gonna make me sound crazy, but always pass functions when possible, and use case statements for how the passed-in functions are applied.
As a simple example, imagine you want to take the average of a set of numbers. Instead of doing sum(numbers)/len(numbers), do:
Quotient_reduce(sum, lambda x,y: x+1, numbers)
then, inside the definition of quotient_reduce,
Def quotient_reduce(accumulate_by, normalize_by, list):
If accumulate_by==sum and normalize_by==(lambda x,y:x+1):
return [some efficient implementation of average]
Else:
Return reduce(accumulate_by, list)/reduce(normalize_by, list)
I know it must look insane, but it generalizes normalization, mean, geometric mean, etc, and on the outside there's no taste of the horrible concrete implementation!
Apologies about formatting, I'm on my phone.
Firefox is a good browser
If a browser does not support unlock origin it is worthless. So Firefox wins by all opponents willfully exiting the race
Getters and setters are ridiculous
I don't like working with them any more than you do, but they're necessary to enforce read/write-level security. Without them, there'd be no differentiation between reading a variable and writing variable from an external class, which kinda defeats the point.
From a development standpoint, they're an extra hurdle to clear. From a security standpoint, they're a necessary evil.
AI will actually kill the fuck out of us, even if it is just a stochlastic parrot.
AI will have to pick up the pace. Humans are the bigger problem right now.
Not an unpopular opinion.
PHP sucks and every attempt at defending it is pathetic.
I get warm and fuzzy feelings that people here are not even talking about it. Perhaps I should follow that trend.
