Worst Programming/Technical Advice And Fads - Trends that do more harm than good.

  • 🇵🇦 Nuestro primer dominio localizado está en español en kiwifarms.pa. Our first localized domain is on Spanish on kiwifarms.pa.
  • Want to keep track of this thread?
    Accounts can bookmark posts, watch threads for updates, and jump back to where you stopped reading.
    Create account
Much of every other problem I see is a lack of advice, not bad advice. I've never met a working professional that sits around and argues language semantics or basic design patterns. These are undergrad concerns.
I had no idea. I'm a hobbyist all I've really known is arguing over insignificant nonsense. Those that are "professional" usually aren't. They do the Pirate Software thing of name dropping the devs they've worked for or the degrees they have, and the instant they're pressed claim "NDA" and shut down the conversation.

Oh, and there's always some excuse why their name isn't in the credits.

the c++ dicksucking is one of the most retarded things in game development
garbage collectors are fast enough these days
hell you could probably make a 3d shooter in ruby and not experience any cpu-related issues if you didn't program it like a complete retard
unfortunately many games are programmed like a complete retard

so here's my gripe for the thread: "make sure to always use c++ everywhere for le heccin performancerino!"
Same with game engines too. Yeah, Godot might use more resources than it should to render a PS1 looking game, but at the same time, if any computer made in the last 10 years can run it without breaking a sweat, I fail to see the problem. Usually when I see games that perform badly, it's made with stock assets and plug ins.

Oh, and those people that insist all games should be made is assembly, just like Roller Coaster Tycoon.
 
I had no idea. I'm a hobbyist all I've really known is arguing over insignificant nonsense. Those that are "professional" usually aren't. They do the Pirate Software thing of name dropping the devs they've worked for or the degrees they have, and the instant they're pressed claim "NDA" and shut down the conversation.
what you've done > what you know > who you've worked for
Same with game engines too. Yeah, Godot might use more resources than it should to render a PS1 looking game, but at the same time, if any computer made in the last 10 years can run it without breaking a sweat, I fail to see the problem. Usually when I see games that perform badly, it's made with stock assets and plug ins.

Oh, and those people that insist all games should be made is assembly, just like Roller Coaster Tycoon.
its very based to make games fully in c with lots of carefully tuned assembly and optimize the living fuck out of them until the frametimes reach the nanosecond scale
but also you should be making a game and not a ludicrously optimized number crunching routine. if you want to autistically tune performance you should think of making a raytracer or engine or something and not just a game
making a very efficient engine and a game specialized for it can also be nice, but it's still not the best idea to write it all in assembly, just the hot paths. 99% of game code is O(1) complexity inconsequential business logic that would have negligible benefits from even a jit bytecode interpreter as opposed to a regular one (godot with its gdscript knows this)
 
I had no idea. I'm a hobbyist all I've really known is arguing over insignificant nonsense. Those that are "professional" usually aren't. They do the Pirate Software thing of name dropping the devs they've worked for or the degrees they have, and the instant they're pressed claim "NDA" and shut down the conversation.
50% of professionals are hobbyists pretending to be professionals. If not more. I'm surprised by the number of people who watch techfluencers like Pirate Software, their arrogance and "I used to work at X" are dead giveaways. I think Theo and ThePrimeagen are just as big lolcows as PirateSoftware. They just haven't been caught because they're not acting like middle school bullies in live WoW raids.

I always say, there's a reason they USED to work at X. There's a reason they're not bragging about what they do now. People in regular jobs try to do this shit. Had a designer always brag about he used to work at Square. ...Ok, you work here now, and I was hired to fix your broken shit while you sit on the bench, shut the fuck up.

Even if they knew what they were doing at X. Now their job is being social media influencers. Their skills are dulled, they're doing hobbyist projects, and can't begin to explain what it's actually like to work at the scale of Twitch or Netflix. These were goobers being given tasks and decided they were better at bullshitting than learning.
 
the c++ dicksucking is one of the most retarded things in game development
garbage collectors are fast enough these days
hell you could probably make a 3d shooter in ruby and not experience any cpu-related issues if you didn't program it like a complete retard
unfortunately many games are programmed like a complete retard

so here's my gripe for the thread: "make sure to always use c++ everywhere for le heccin performancerino!"
My single gripe with Ruby is that it doesn't come standard with a weak hashmap. (Technically it does but it's marked as internal and Matz doesn't want you using it for some reason)
You can implement your own with weakrefs but it's such a standard thing for caching and you want a battle tested one.
 
Everything being a class. Not having mutable references as parameters. Basically don't do anything that Java did. Java is a poorly designed language that guarantees spaghetti code. Random tiny classes that only do one thing and then are never used else where. Excessive organisation that makes reading code impossible without 100 files open at once. Utility classes everywhere because what you actually want is just a function and not a another class that does just one thing. Classes are often misused and made redundant by bad practices. If all class' operations are done is other classes and all the first class does is set and get then classes are being misused and "encapsulation" is completely being ignored; this is very common. Stupid arguments about style which don't matter and dumb.

Tests are only useful to make sure algorithms behave as expected in large projects that change a lot over time. Most of the things tests do don't actually test the application or program as a whole and don't account for real world problems that may be encountered. Test driven development is a meme.

Everything being a dumb client that does all it's calculation on the server and is very network intensive. The poojeets love this because then they just write a web app and a bunch of simple webkit elements in native apps that just look at the web app. It's a mess. (React Native is this) Not to mention just general lack of common sense and care when programming web sites or web apps. Psychotic inability to go back and fix anything instead of trying to create an entirely new system with it's own new problems.
 
Última edición:
"The code IS the documentation!" has to be one of the most egregious expressions I've heard. The main point of software development is that one is building on top of abstractions in order to build something great. Whenever somebody says their code is the documentation, they are signalling that they are not writing a solid abstraction with which end users may rely upon. They are not creating a coherent contract with their public interfaces. They are not considering the lifetime of their program. They are not notifying their users of known issues, let alone ways to mitigate them. They are not describing the purpose of their software, its context, or justifying its usefulness in plain English. Instead, they are signalling that they are a selfish lazy cunt who does not, or can not, imagine the amount of time wasted and frustration caused for as long as the code they shat out will exist.
 
Rewrites are the number one bane of software. Any codebase where the maintainer’s response to a bug is ‘this will be fixed in the rewrite’ is a dead project walking.
 
While learning it was endlessly drilled to comment everything. It's fucking stupid.

If your code needs comments to help other people understand what it does, it's shitty code. It should be readable and readily apparent what it does after a cursory read.
Comments lie all the time.

I don't read trade stuff much, been in it for a while, just a job, but wild finding out how much commenting is being drilled into folks. Hell there was even a no comments linter at a place I worked at. Comments lie.
 
While learning it was endlessly drilled to comment everything. It's fucking stupid.

If your code needs comments to help other people understand what it does, it's shitty code. It should be readable and readily apparent what it does after a cursory read.
remember: the code says how, and comments say why
and always use other shit to express things that comments could
comments are very useful and a crucial part of programming and you should comment often but you should never insert a comment that doesn't mean anything
 
Comments lie all the time.

I don't read trade stuff much, been in it for a while, just a job, but wild finding out how much commenting is being drilled into folks. Hell there was even a no comments linter at a place I worked at. Comments lie.
Comments are like written documentation for code. There is a near 100% guarantee they're outdated and poorly written. Nobody reads them.

Tests are automated documentation. They're almost always written in plain English with plain test cases.

Save documentation for public consumption. Never comment code. It just gets in the way and makes everything harder to read.
 
Really tired of spending all my time cleaning up shit left behind by people who had no intention of sticking around
Broke programmer mindset.

Biggest new trend I hate is the lack of memory benching.
no, your garbage collector is not an excuse for why your PR doubles your memory footprint. No, I don't care if its golang. your garbage collector is still shit. No excuse.
Complex programs used to run happily in 1 MB of memory, often much less.
There's no reason your fuckass chrome-based shitpile with a javascript back end should use 1 GB of memory idle.
 
Última edición:
Never comment code.
comments are at their greatest when you need to quickly note wtf you are trying to do when you have to do a gnarly hack
obviously you should avoid gnarly hacks like the plague but sometimes you need them. a comment that explains what is going on with relevant links to the issue or web page or random documentation is a godsend sometimes

the true worst programming advice is "never do x" or "always do x": just look at all the control flow travesties committed by poor retards forced to follow the "no early returns" rule
even goto is an excellent tool when you're using it for error handling in c

Broke programmer mindset.
he did recently have a huge meltdown in the programming thread fyi
no, your garbage collector is not an excuse for why your PR doubles your memory footprint. No, I don't care if its golang. your garbage collector is still shit. No excuse.
well in many garbage collected languages you have to choose between "allocate tons of new objects following common language idioms and shit up the gc and make things slow" or "use a bunch of mutations and make my program run with c-like efficiency at the cost of c-like readability"
modern generational collectors are quite great and can outperform c-style memory management in certain cases
it does use more memory to attain max performance but it can also work somewhat well in constrained scenarios
Complex programs used to run happily in 1 MB of memory, often much less.
There's no reason your fuckass chrome-based shitpile with a javascript back end should use 1 GB of memory idle.
the runtime often consumes a large amount
this isn't a big problem a lot of the time because of stuff like shared memory and occasionally being able to run a lot of programs in a single language runtime

i believe most commonly cited "memory problems" in bloated applications are a combination of aggressive caching and a lack of user controls
also some languages (javascript, python) love to constantly shit up any attempt at static optimization and there are quite a few tragedies in common environments (the dom) that require you to keep around tons of shit for next to no reason
 
i believe most commonly cited "memory problems" in bloated applications are a combination of aggressive caching and a lack of user controls
imo most memory problems are the result of people using a hundred third party libraries they don't fully understand, on top of a dozen frameworks, on top of a garbage collected language, all running on an interpreter. bonus points if it's in a browser (or electron)

all that shit compounds together, and because there is this "we have 32 gigs of ram so a couple hundred mb more or less doesn't matter" mindset that seems very prevalent, people don't take it seriously
 
imo most memory problems are the result of people using a hundred third party libraries they don't fully understand, on top of a dozen frameworks, on top of a garbage collected language, all running on an interpreter. bonus points if it's in a browser (or electron)
none of the individual things here are really a problem, they should just be individually considered and avoided if there is a need
all running on an interpreter
if you've read your sicp you would know that pure interpreters are actually incredibly rare. most people use bytecode interpreted languages which can vary widely in performance based on the specific bytecode language and the workload currently being run
example: perl and its bytecode interpreter, which can do text processing and io in arcane ways that occasionally outstrip naive c programs by orders of magnitude

bytecode interpreters aren't generally great for performance however
of course oddly enough they can be pretty good for memory usage
all that shit compounds together, and because there is this "we have 32 gigs of ram so a couple hundred mb more or less doesn't matter" mindset that seems very prevalent, people don't take it seriously
i actually don't really mind a few extra megabytes here and there but certain things are just obscene
 
Everything being a class. Not having mutable references as parameters. Basically don't do anything that Java did. Java is a poorly designed language that guarantees spaghetti code. Random tiny classes that only do one thing and then are never used else where. Excessive organisation that makes reading code impossible without 100 files open at once. Utility classes everywhere because what you actually want is just a function and not a another class that does just one thing. Classes are often misused and made redundant by bad practices. If all class' operations are done is other classes and all the first class does is set and get then classes are being misused and "encapsulation" is completely being ignored; this is very common. Stupid arguments about style which don't matter and dumb.

Tests are only useful to make sure algorithms behave as expected in large projects that change a lot over time. Most of the things tests do don't actually test the application or program as a whole and don't account for real world problems that may be encountered. Test driven development is a meme.

Everything being a dumb client that does all it's calculation on the server and is very network intensive. The poojeets love this because then they just write a web app and a bunch of simple webkit elements in native apps that just look at the web app. It's a mess. (React Native is this) Not to mention just general lack of common sense and care when programming web sites or web apps. Psychotic inability to go back and fix anything instead of trying to create an entirely new system with it's own new problems.
80s called; they want their poorly formatted block of shitcide back.
 
80s called; they want their poorly formatted block of shitcide back.
If you write Java stop putting only one thing in a base class and then building a bunch of nonsense on top of it. It makes reading other's code impossible. Java is slow. Java is bad for programmer productivity. Java is a lolcow. Cross compilation is much better now. You can have automated runner tasks as part of the web git portal that do all the work of building for different operating system done easily without human input after it's setup. The old benefits of Java no longer out way the costs and frustration. Have fun upselling your next mark on your nightmare of incomprehensible spaghetti code.
 
80s called; they want their poorly formatted block of shitcide back.
idiot nigger doesn't know how nice a good procedural or functional codebase can be
java gets a bad rap amongst people who don't know what they're talking about for being slow
in reality java is a reasonably quick language especially compared to shit like ruby
and many people still find stuff like ruby good enough to ignore the worse performance

one of my hated programming fads is "java le bad durr java slow java class spaghetti" because it's honestly not that fucking bad
 
Atrás
Top Abajo