Oh cool.
So I still program like it's the 1980s?
Makes me feel proficient. XD
Oh cool.
So I still program like it's the 1980s?
Makes me feel proficient. XD
You can add SQL in the 70s. It was created to be human readable so business people could write sql queries themselves without programmers.
By that logic could we say the same about compilers.
Or anything above assembly.
Real programmers use punchcards.

Ironically, one of the universal things I've noticed in programmers (myself included) is that newbie coders always go through a phase of thinking "why am I writing SQL? I'll write a set of classes to write the SQL for me!" resulting in a massively overcomplicated mess that is a hundred times harder to use (and maintain) than a simple SQL statement would be. The most hilarious example of this I ever saw was when I took over a young colleague's code base and found two classes named "OR.cs" and "AND.cs". All they did was take a String as a parameter, append " OR " or " AND " to it, and return it as the output. Very forward-thinking, in case the meanings of "OR" and "AND" were ever to change in future versions of SQL.
Object Relational Mapping can be helpful when dealing with larger codebases/complex databases for simply creating a more programmatic way of interacting with your data.
I can't say it is always worth it, nor does it always make things simpler, but it can help.
I don't have a lot of experience with projects that use ORMs, but from what I've seen it's usually not worth it. They tend to make developers lazy and create things where every query fetches half the database when they only need one or two columns from a single row.
Yeah. Unless your data model is dead simple, you will end up not only needing to know this additional framework, but also how databases and SQL work to unfuck the inevitable problems.
I used to use ORMs because they made switching between local dev DBs ( like SQLLite, or Postgres) and production DBs usually painless. Especially for Ruby/Sinatra/Rails since we were writing the model queries in another abstraction. It meant we didn’t have to think as much about joins and all that stuff. Until the performance went to shit and you had to work out why.
the problem with ORM is that some people go all in on it and ignore pure SQL completely.
In reality ORM only works well for somewhat simple queries and structures, but at some times you will have to write your own queries in SQL. But then you have some bonus complexity, that comes from 2 different things filling the same niche. It's still worth it, but there is no free cake.
I've always seen as that as a scapehatch for one of the most typical issues with ORMs, like the the N+1 problem, but I never fully bought it as a real solution.
Mainly because in large projects this gets abused (turns out none or little of the SQL has a companion test) and one of the most oversold benefits of ORMs (the possibility of "easily" refactor the model) goes away.
Since SQL is code and should be tested like any other code, I rather ditch the whole ORM thing and go SQL from the beginning. It may be annoying for simple queries but induces better habits.
The most consistent and highest paying jobs I've had are replacing or fixing legacy and garbage systems. I don't think the current gen llm's are anywhere close to being able to do those jobs, and is in fact causing those jobs to have more work the more insecure, inefficient trash they generate.
Give it a few months.
Fellow tech-trash-disposal-engineer here. I've made a killing on replacing corporate anti-patterns. My career features such hits and old-time classics like:
In all of these cases, there were always better answers that maybe just cost a little bit more. AI will absolutely cause some players to train-wreck their business, all to save a buck, and we'll all be there to help clean up. Count on it.
excel as an relational database
That reminds me of a story. I used to do IT consulting, years ago. One client was running their 5 person real estate office off a low quality, consumer grade, box store HP desktop repurposed as a server. All collaboration was through their U drive, plus every profile had their desktop folder redirected there.
The complaint was the classic "everything is slow", which turned out to be "opening my spreadsheet takes 10 minutes then it's slow". Yeah, because that poor little "server" had a single 100 Mb jack and the owner had a 1.5 GB excel spreadsheet project where he was trying to build a relational database and property valuation tool. Six fucking heavily cross referenced tabs, some with thousands of entries. He was so proud when I asked him to explain what was going on there. He fired me when I couldn't fix his issue without massive changes to either his excel abomination or hardware.
Hey, kudos for finding multiple anti-patterns all in one place like that. I didn't even think about "underpowered desktop as company server" as another pattern, but here we are.
Sorry you didn't get the contract, but that sounds like a blessing in disguise to be honest.
Explicit programmers are needed because the general public has failed to learn programming. Hiding the complexity behind nice interfaces makes it actually more difficult to understand programming.
This comes all from programmers using programs to abstract programming away.
What if the 2030s change the approach and use AI to teach everybody how to program?
I'm afraid I cant let you do that, Dave.
You've not read the manual.
Hiding the complexity behind nice interfaces makes it actually more difficult to understand programming.
This is a very important point, that most of my colleagues with OOP background seem to miss. They build a bunch of abstractions and then say it's easy, because we have one liner in calling code, pretending that the rest of the code doesn't exist. Oh yes, it certainly exists! And needs to be maintained, too.
I find this to be a real problem with visual shaders. I know how certain mathematical formulas affect an input, but instead of just pressing the Enter key and writing it down, I now have to move blocks around, and oh no, they were nicely logically aligned, now one block is covering another block, oh noo, what a mess and the auto sort thing messes up the logical sorting completly… well too bad.
And I find that most solutions on the internet utilizing the visual editor tend to forget that previous outputs can be reused. Getting normals from already generated noise without resampling somehow becomes arcane knowledge.
Edit: words.
the general public has failed to learn programming
That's like saying that the general public has failed to learn surgery, or the general public has failed to learn chemical engineering.
There are certain things that it just doesn't make sense for the general public to ever be expected to learn.
What if the 2030s change the approach and use AI to teach everybody how to program?
What does AI (already known to be an unreliable bullshitting machine) provide to students that existing tutorials, videos and teachers do not already?
Also the companies investing in AI are not trying to teach their workers to be better, they're trying to make more profit by replacing workers or artificially increasing their outputs. Teaching people to program is not what they care about
When growing up in the 70's "computer programmers" were assumed to be geniuses. Nowadays they are maybe one tier above fast food workers. What a world!
Nowadays they are maybe one tier above fast food workers.
:-/
Having worked both jobs, I could point to a few differences
Yeah fast food is a lot more stressful.
Every single job in my entire life I have made more money, and my workload has gotten easier. I am grateful everyday I escaped the trap. Very few do.
Food is essential, the new shiny way to gobble more RAM to display a blue mushroom in a button isn't.
Well to be fair if you're a programmer in the 70s you might as well be a genius.
That environment was wild though. At the time, you basically needed to be an electrical engineer and/or a licensed HAM operator, just to have your head wrapped around how it all worked. Familiarity with the very electronics of the thing, even modifying the hardware directly when needed, was crucial to operating that old tech.
If ChatGPT's browser is just another chromium clone and they couldn't get their own AI to write a browser, I doubt other customers of theirs will get their shitbot to write code for them either.
If only this wasn't becoming the agenda of big corporations...they are dropping jobs left and right and it's scary. Robots will be doing most of our jobs sooner than later...lookup flippy bot we won't even have entry level jobs soon and the problem is we're not doing this to become more like star trek. They are doing this to add seventeen more marble gold diamond pillars to their dogs puppies houses on their 9000 acre private islands.
Building apps without using code is still programming, since you must create logic for the program.
Literally nothing of consequence has been built with visual, mda or no-code paradigms.
Well let me tell you, the things built in the vibe-cpdong paradigm will have consequences
I’m still waiting to be replaced by robots and computers.
My company recently acquired another firm that tried to outsource the entire IT department and proceeded to shit itself to death.
Go ahead cowards. Replace me with a computer. I will become more powerful than you could ever imagine.
Feeling that. My company is off shoring and out sourcing a lot of stuff now. It’s a nightmare. But profits are up. So hey, who cares if the software is held together with hopes and dreams. And our hosted services admins don’t have a clue.
This is why I half ass things with AI. Mgmt clearly doesn’t care.
After shovels were invented, we decided to dig more holes.
After hammers were invented, we needed to drive more nails.
Now that vibe coding has been invented, we are going to write more software.
No shit
And after each of these, there’s been _more _ demand for developers.

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.