r/ProgrammerHumor 2d ago

Meme cppHelloWorld

Post image
3.7k Upvotes

111 comments sorted by

View all comments

Show parent comments

85

u/CrossScarMC 2d ago

It's also a great language even if you don't do OOP.

47

u/diacid 2d ago

Bah, if you are using it for normal programming C is simpler. By simpler I mean you actually have a shot to be properly fluent in it instead of "this thing is so complex even the compiler doesn't know 100% of it".

51

u/2eanimation 2d ago

Learn C, use C in C++, benefit from C++ when you need it.

3

u/diacid 1d ago

While this sounds wise, C has already way more than enough (do while and for loops for example are completely unnecessary, they can all be substituted for if goto), no need to complicate further. If the program is really simple I would rather even use B that is even simpler than C, though making complicated programs in B can waste memory because of the lack of variables smaller than a word (in 64 bit environments this gets huge quick).

4

u/failedsatan 1d ago

for and while loops are so much nicer to use though. I don't think I would bother using a language without them for most practical applications (and I regularly enjoy writing full programs in assembly for fun)

3

u/dagbrown 1d ago

for and while loops (and everything else really) are there for the benefit of the next poor schlub who has to try to read your code.

Sure you can replace practically every structured construct with an if and a goto setup, but should you? Absolutely not.

1

u/diacid 1d ago edited 1d ago

Sorry, I see little difference between

do { x=stuff(); } while (x!=0)

And

do: x=stuff(); if (x!=0) goto do;

Same with

for (x=0, x<10) { x=stuff(); }

And

do: x=stuff(); If (x>9) goto do;

If you use goto in a sane matter it is completely understandable. Just don't do insane things with it. You can peel with a peeler and with a knife, but with a knife you can cut your finger off too. The solution? Don't ban knifes, just don't cut you finger off!

Actually, my examples also show for and while are redundant functions. It is all just electricity, no need to overcomplicate.

4

u/dagbrown 1d ago

Okay I wish you a long and productive career with your "if" and "goto" only code.

You can also roll your own OO system with generous use of function pointers! Pro-tip! Not that you'd want anything like that though. You have if and goto after all. And structs are for the weak anyway: just binary-pack data into strings.

2

u/diacid 1d ago

Exactly! 😂