this post was submitted on 11 Jun 2024
136 points (83.0% liked)

Programming

17352 readers
302 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
 

Title before edit: I hate programming, why did i choose this field

TL;DR: Stupid mistake, made by hours waste.

Basically, I was extracting date from the SQL db, and it was not displaying. I tried everything, heck I even went to chatgpt, and copilot. Two and half hours of trying every single thing under the sun, you know what was the issue?

SELECT task, status, id FROM mainWorkSpace WHERE user_id = @user_id

I FUCKING FORGOT TO ADD 'date' TO THE DAMN QUERY. TWO AND HALF HOURS. I was like, "Ain't no way." as I scrolled up to the query and there it was, a slap in the face, and you know what was the fix?

SELECT task, status, date, id FROM mainWorkSpace WHERE user_id = @user_id

Moral of the story, don't become a programmer, become a professional cat herder instead.

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 8 points 4 months ago (1 children)

We’ve all done stupid stuff like this. The trick is to pad time into estimates to account for it :D

[–] [email protected] 2 points 4 months ago (1 children)

The trick is to get project managers to automatically pad you time.

[–] [email protected] 1 points 4 months ago

Yeah in my 25 years of experience, none of them have ever done that.

[–] [email protected] 5 points 4 months ago (3 children)

What did you asked ChatGPT? I tried it and straightforward said that the date field wasn't included on the select statement

https://chatgpt.com/share/80918db9-5284-4a9b-b971-dde78b00497a

[–] [email protected] 4 points 4 months ago

Honestly I worry about the use of ChatGPT on programmers. Training your eyes and brain to see things takes time. I know the suits just want production but I’d rather have better programmers.

Of course, I could just be old.

[–] [email protected] 2 points 4 months ago

I posted the entire function where the issue was occuring and it was trying to solve the function and not the query.

[–] [email protected] 9 points 4 months ago

Better to ask a rubber duck than an LLM.

It has better results, is cheaper, and makes has a positive compounding effect on your own abilities.

[–] [email protected] 3 points 4 months ago

Programming: not even once!

[–] [email protected] 5 points 4 months ago (1 children)

https://m.youtube.com/watch?v=CFRhGnuXG-4

Watch this. I have found that this makes it way easier to debug shit, is more readable, and cuts down on mistakes.

[–] [email protected] 1 points 4 months ago (2 children)

Watching this YouTube clip, I couldn't help but remember the other YouTube clip that shows a red panda leaping against a door and trying to reach the doorknob.

I worry you're artificially limiting yourself, and I hope you have the comfort to overcome this phobia one day.

[–] [email protected] 2 points 4 months ago

🤣 no need. I certainly am not Linus levels of stickler on it and don't sit there and worry about it. I just found the concepts he is trying to teach very helpful. Fail fast and breaking things up into smaller methods that do "a thing".

[–] [email protected] 1 points 4 months ago (1 children)

I don't consider myself a never nester, but looking at my code now, I extract all the time and rarely go 4 tabs in. It just makes it more easily maintainable. I also like the idea of putting the failure conditions first. I haven't looked at this yet but I'm sure there are some times I can use it.

Sure, sometimes you might not have a choice, but I do think there is a lot of value to what they are saying. I think it kind of goes in line with standard "functions should do one thing" paradigm.

[–] [email protected] 1 points 4 months ago

See, when I was in school, they didn't teach fail fast and if anything they told you not to. Nowadays, we have moved past that nonsense. I gave it a shot about a year ago, and it has made me a better programmer. I am not going to sit there and count braces, but things are a lot easier when you get the error cases over with and out of the way.

There are always going to be exceptions, but I have personally found a lot of value in using 'fail fast', and making more smaller methods that say what they do. I am not always great at that second part, but it is a process. As someone with severe ADHD, it has made it a lot easier to work through problems. Sure, you can end up with more lines of code, but who cares. Compiler should be optimizing most of that shit out anyway.

[–] [email protected] 9 points 4 months ago (1 children)

At least its 2.5 hours and not 2 years because of writing h instead of H

[–] [email protected] 5 points 4 months ago

I suspect there's a long tragedy about this, the likes that would give The Odyssey pause.

[–] [email protected] 10 points 4 months ago (2 children)

Real moral of the story: STATIC TYPING!

Seriously so many people think it's a waste of time, and then stuff like this happens.

[–] [email protected] 3 points 4 months ago (1 children)

How would static typing help here?

[–] [email protected] 6 points 4 months ago* (last edited 4 months ago)

Thinking about C# and Dapper here 'cause they're what I'm used to, but, for example...

result = await connection.QueryAsync<ResultType>(QUERY); (where ResultType is a statically typed record, class, or struct shaped like the data you want returned.)

Given a query that doesn't return something that matches any of ResultType's constructors, the code'll throw an exception at runtime complaining it needs a constructor that matches whatever it's returning, whereupon you'll notice it isn't asking for it to have a date parameter, so the query must not be returning it.

[–] [email protected] 3 points 4 months ago (1 children)

If only there were a good statically typed database, as opposed to thin wrappers over SQL.

[–] [email protected] 4 points 4 months ago

And better error messages than "bro, you got a syntax error on this line"

[–] [email protected] 10 points 4 months ago (1 children)

You want to hate programming? Try using JS. It's anarchy.

"Why is this the way to do things?"

"Because it just is."

[–] [email protected] 5 points 4 months ago (1 children)

Oh, and there's at last 2 other ways to do it too.

[–] [email protected] 3 points 4 months ago (1 children)

Sure, but they use ersatz methods that are so incredibly obscure and removed from the standard library that expecting one to know them is beyond foolhardy.

[–] [email protected] 1 points 4 months ago (1 children)

No clue what that means. I was thinking more along the lines of how there's 3+ techniques for async functions. Or that there's a handful of syntax implementations, versions, and supersets of the language. Or that there are many interpreters all with different standard libraries and quirks.

It's an annoyingly flexible language.

[–] [email protected] 3 points 4 months ago (1 children)

It just feels like anarchy to me. Why is anything the way it is in JS? Maybe I'm learning it wrong, but starting from zero, I now feel like I understand less than nothing.

[–] [email protected] 2 points 4 months ago (1 children)

Mostly its this way because the language has evolved over time and relies heavily on several similar but competing interpretations of how things should be done. Similar thing happened to PHP, back in the web1 days.

[–] [email protected] 1 points 4 months ago

That makes sense. Every time I try to learn it, or am asked to do something in it only to reply "I can't", I feel so fucking stupid. How am I supposed to move up to senior SWE if I can't do JS?

load more comments
view more: next ›