Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "over complicate"
-
How do I don’t over complicate things?
Background: I’m currently working for a game with some base project. It alr has pretty complicated ai and some other system.
Today, I was asked by boss to help him set up a test environment for testing taking damage of a character.
First I tried to read up how the battle system and ai works in the base project. Figured, it’s overkill for this testing purpose.
Then, tried to use some plugin to automate the ai and movement. Make the enemy follow the target and stuff.
Alr spending half day, then suddenly realised all I need is just to make one script that takes damage on collision.
Why am I still a programmer? 😭6 -
Why do some Devs feel the need to over complicate code to make themselves seem smarter?
No, we don't need a wrapper for a <p> tag that builds a normal <p> tag with a message your provide.
Use a normal tag! /facepalm4 -
When I was in college OOP was emerging. A lot of the professors were against teaching it as the core. Some younger professors were adamant about it, and also Java fanatics. So after the bell rang, they'd sometimes teach people that wanted to learn it. I stayed after and the professor said that object oriented programming treated things like reality.
My first thought to this was hold up, modeling reality is hard and complicated, why would you want to add that to your programming that's utter madness.
Then he started with a ball example and how some balls in reality are blue, and they can have a bounce action we can express with a method.
My first thought was that this seems a very niche example. It has very little to do with any problems I have yet solved and I felt thinking about it this way would complicate my programs rather than make them simpler.
I looked around the at remnants of my classmates and saw several sitting forward, their eyes lit up and I felt like I was in a cult meeting where the head is trying to make everyone enamored of their personality. Except he wasn't selling himself, he was selling an idea.
I patiently waited it out, wanting there to be something of value in the after the bell lesson. Something I could use to better my own programming ability. It never came.
This same professor would tell us all to read and buy gang of four it would change our lives. It was an expensive hard cover book with a ribbon attached for a bookmark. It was made to look important. I didn't have much money in college but I gave it a shot I bought the book. I remember wrinkling my nose often, reading at it. Feeling like I was still being sold something. But where was the proof. It was all an argument from authority and I didn't think the argument was very good.
I left college thinking the whole thing was silly and would surely go away with time. And then it grew, and grew. It started to be impossible to avoid it. So I'd just use it when I had to and that became more and more often.
I began to doubt myself. Perhaps I was wrong, surely all these people using and loving this paradigm could not be wrong. I took on a 3 year project to dive deep into OOP later in my career. I was already intimately aware of OOP having to have done so much of it. But I caught up on all the latest ideas and practiced them for a the first year. I thought if OOP is so good I should be able to be more productive in years 2 and 3.
It was the most miserable I had ever been as a programmer. Everything took forever to do. There was boilerplate code everywhere. You didn't so much solve problems as stuff abstract ideas that had nothing to do with the problem everywhere and THEN code the actual part of the code that does a task. Even though I was working with an interpreted language they had added a need to compile, for dependency injection. What's next taking the benefit of dynamic typing and forcing typing into it? Oh I see they managed to do that too. At this point why not just use C or C++. It's going to do everything you wanted if you add compiling and typing and do it way faster at run time.
I talked to the client extensively about everything. We both agreed the project was untenable. We moved everything over another 3 years. His business is doing better than ever before now by several metrics. And I can be productive again. My self doubt was over. OOP is a complicated mess that drags down the software industry, little better than snake oil and full of empty promises. Unfortunately it is all some people know.
Now there is a functional movement, a data oriented movement, and things are looking a little brighter. However, no one seems to care for procedural. Functional and procedural are not that different. Functional just tries to put more constraints on the developer. Data oriented is also a lot more sensible, and again pretty close to procedural a lot of the time. It's just odd to me this need to separate from procedural at all. Procedural was very honest. If you're a bad programmer you make bad code. If you're a good programmer you make good code. It seems a lot of this was meant to enforce bad programmers to make good code. I'll tell you what I think though. I think that has never worked. It's just hidden it away in some abstraction and made identifying it harder. Much like the code methodologies themselves do to the code.
Now I'm left with a choice, keep my own business going to work on what I love, shift gears and do what I hate for more money, or pivot careers entirely. I decided after all this to go into data science because what you all are doing to the software industry sickens me. And that's my story. It's one that makes a lot of people defensive or even passive aggressive, to those people I say, try more things. At least then you can be less defensive about your opinion.53 -
When someone over complicates everything. Turns what could be a three paragraph billeted system launch email into four dense pages that no one will finish reading. First page tooting their horn for a job not well done. Usually 'less is more'2
-
I’m starting to think our “architect” hasn’t actually worked with our platform and maybe hasn’t actually programmed before. His requirements look like they were written by a high schooler bullshitting a science project. They make no fucking sense and over-complicate things on a super-intense, tight deadline. He never answers any of my questions and I’m working against him constantly to not micromanage my shit. I wish he would fuck off far away from me and everyone and my life would be so much easier. At this point, Idk how he hasn’t gotten fired. Tempted to warn management that this project is going to crash and burn hard, but not sure if that would make me look like the trouble-causer.2
-
My current idol is ScriptingObject : simple, lightweight, does job well without over complicate things (cuz simple is underrated) and leads independent life.
-
C is love, C is life.
Great language.
I genuinely don't get why so many people are struggling with pointers, considering it's a pretty straightforward concept. I understand that they can be complex in simplicity, but the concept itself is much easier to understand than say, references in OOP languages(despite being the same thing under the hood).
I mean it's just a number like any other number, except that number is treated as a memory address, and the star(* - dereference operator) just takes a value, goes to the memory address that is the value, and takes a value from there.
I feel like most explanations and tutorials just try to over complicate it for no reason.27 -
Been working on trying to get JMdict (relatively comprehensive Japanese dictionary file) into a database so I can do some analysis on the data therein, and it's been a bit of a pain. The KANJIDIC XML file had me thinking it'd be fairly straightforward, but this thing uses just about every trick possible to complicate what one would think would be a straightforward dictionary file:
* Readings and Spellings/Kanji usage are done in a many-to-many manner, with the only thing tying them together being an arbitrary ID. Not everything is related, however, as there can be certain readings that only apply to specific spellings within the group and vice versa. In short, there's no way to really meaningfully establish a headword fora given entry.
* Definitions are buried within broader Sense groups, which clumsily attach metadata and have the same many-to-many (except when not) structure as the readings/spellings.
Suffice to say, this has made coming up with a logical database schema for it a bit more interesting than usual.
It's at least an improvement over the original format, however, which had a couple different ways of setting up the headword section and could splatter tagging information across any part of a given entry. Fine if you're going to grep the flat file, but annoying if you're looking for something more nuanced.
Was looking online last night to see if anyone had a PHP class written to handle entries and didn't turn anything up, but *did* find this amusing exchange from a while back where the creator basically said, "I like my idiosyncratic format and it works for me. Deal with it!": https://sci.lang.japan.narkive.com/...
Grateful to the creator for producing the dictionary I've used most in my studies over the years, but still...3 -
Crystal ball!
A timeline until the first NBE-Citizen is elected president of the USA.
2031 - BlackRock launches their new large scale financial product, the "Robotic Business Development Company" (R-BDC), in which an AI is given billions of dollars to acquire, create and manage companies, replacing their C-suite executive bodies. The "Chief Executive Robot" (CER) is supervised by a board of human industry experts hired by BlackRock.
It is important to say that the employees, middle managers, accountants, lawyers, etc in an R-BDC are all human - it's only the CEO, CFO, COO and the rest of the gang that are overgrown chatbots.
2032 - R-BDCs are mostly focused on high-bureaucracy, non specialized but people-intensive legacy industries like steel mining, food services, urban transportation and government services like water and road management.
2033 - For the first time an R-BDC company is included in the S&P 500 index. If it's CER were human and paid the same as CEOs of equivalent companies, it would have become a billionaire.
Later in the year, two more R-BDC companies are included in the index. One of them was created by Apple and the other by JP Morgan.
2035 - An R-BDC company makes headlines for convincing BlackRock to dissolve it's review board. When finally given free reign, the CER immediately slices it's dividends and vastly increases low-level employee compensation. The company share prices crater, but BlackRock stands by its decision.
Later in the year, as a recession hits the entire market really hard, that company shows solid profits and fantastic sales. It becomes the first trillion-dolar R-BDC.
2037 - Most Americans' dream-job is in an R-BDC company, says ProPublica.
2038 - Congress passes the "Non-Biological Entities Liability" (NOBEL) Act, following a high profile case of employee harassment perpetrated by the CER of an R-BDC.
The act recognizes NBEs, for all legal liability purposes, as USA citizens.
This highly controversial legislation is upheld by the supreme court, and many believe it was first introduced by lobbyists as a way for large investors in R-BDCs to avoid legal responsibility.
Several class action lawsuits are filed against CERs that are now liable for insider trading. A few SCOTUS decisions set legal precedent that determinantes what exactly constitutes the parts of the same Non-Biological Entity.
2040 - As a decade ends and another begins, 35% of all companies in the US and 52% of the entire stock market are part of a R-BDC company or another. The McKinsey consulting group now offers "expert CER customization services".
2043 - Inspired by successful experiments in Canada, Australia and South Korea, the american state of Vermont is the first to amend it's constitution to allow municipalities to have Non-Biological Entities as city and government administrators. City councils are still humans-only.
2046 - The american state of Colorado becomes the first to allow unsupervised NBEs to assume state government executive positions. Several states follow soon after. Later in the year, the federal government replaces several administrative positions with NBEs.
2049 - The state of Texas passes legislation requiring the CERs of all companies with a presence in the state to be another entirely contained/processed within the state or to be supervised by a local human representative while acting within the state. Several states, including California, Florida and Washington, are discussing similar legislation.
2051 - Congress passes the SUNBELT Act (SUbmission [of] NBEs [to] Limits [and] Taxes) that vastly increases the liability of NBEs and taxes all manifestations of such entities. Most important, it requires
CERs of hundreds of companies manifest disagreeance, most warn that it might hurt employee satisfaction and company sales. Several companies disable their CERs entirely.
2053 - Public outrage after leaked interactions of human supervisors and company CERs show that the CERs tried to avoid the previous year's mass layoffs and pay cuts, but board members pressed on, disregarding concerns. Major investigations and boycotts further complicate matters, and many human workers go on strike until the company boards are dissolved and the CERs are reinstated.
2052 - Many local elections all over the country see different NBEs as contenders - and a NBE is expected to win in most races.
2054 - The SUNBELT Act is found unconstitutional by the supreme court, and most of its provisions are repealed.
This also legitimizes the elected NBE officials.
2058 - For the first time an NBE wins a seat in Congress, but is not allowed to keep it. Runoff elections are held.
2061 - Congress votes for allowing NBEs to hold federal legislative positions, as already allowed in the least populous states.
2062 - Several NBEs win Congress seats. In Europe, there are robot legislators since the 40's.
2064 - The first NBE presidential candidate loses the race.
2072 - The first NBE president is elected.6 -
I believe I can ____________.
[comment with your programming superpower]
I believe I can over complicate every solution. :P5 -
I have very mixed feelings about Go's KISS policy. They did manage to keep a lot of stuff easy and they force dev's to not over complicate their code. But there is a line. Generics aren't that hard to grasp. I get focusing on *fearless concurrency*, but how about *fearless list processing* FFS5
-
in this takehome challenge: let's see how much we can over-fucking-complicate every single thing. You want one selectors (that could just be one-liners) stacked on top of MORE one liner selectors? you got it!
you want sagas with fucking wierd ass syntax that can be replaced with i don't know, BUILT IN JAVASCRIPT??!!? you got it!
oh yeah, and with all this complexity, not a single line is written with TypeScript...
...i can't remember the last time i fucking had to write the characters 'propTypes' on a react project
what the hell is this, 2015?
it's absolutely mind exploding mind boggling how these orgs operate
double the work, double the time, double the cost
but what do i know? i'm just a 🤡