this post was submitted on 19 Jun 2025
90 points (86.3% liked)

Programmer Humor

36648 readers
288 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] 4 points 2 days ago (13 children)

To be honest I always disliked variable declaration without value assignment, so to me both options suck. :)

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

What about you declare (then it gets allocated in stack) it and pass it to a different context for assignment?

[–] [email protected] 2 points 2 days ago* (last edited 2 days 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 day ago (1 children)
[–] [email protected] 2 points 1 day 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 day 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.

load more comments (1 replies)
load more comments (1 replies)
load more comments (9 replies)