this post was submitted on 19 Jun 2025
92 points (86.5% liked)

Programmer Humor

36769 readers
379 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 

Made with KolourPaint and screenshots from Kate (with the GitHub theme).

you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 2 points 1 week ago* (last edited 1 week ago) (3 children)

Well, I don't know your use case well enough, but I guess you might have perfect reason for that behavior.

One thing that comes to my mind is the old Try in C#

bool parsedSuccessfully = int.TryParse("123", out int result);

But I guess more popular approach would be to use Error as Values, right?

E.g. something like this

Outcome<Exception, Int> result = int.TotallyNewParse("123");
[–] [email protected] 3 points 1 week ago (2 children)
[–] [email protected] 2 points 1 week ago (1 children)

Great example.

Wouldn't getchar() be more appropriate here? Last time I used C it was 16 years ago.

[–] [email protected] 3 points 1 week ago

Yes, and no, sir, you missed the point. The procedure here is to allocate then give away, not reading a fixed-length returned value.

Say you can only afford to have ten bytes in the stack. You allocate char s[10]; then give it to a library to parse something. Also telling it to abort if it's going to be longer than ten bytes, of course.