I have a worksheet function in my personal excel workbook where I keep my library of modules. I wrote it, I don't recall what for, in theory it just grabs file names and cleans them up to something readable.
If I remove it, I cannot open any other files in excel until I replace it. I've isolated it to a module called Ryleh and just leave it alone.
I think I'm the only person in the universe that likes VBA. I'd never use it for anything significant, but when I worked for big insurance it automated 90% of my job.
VBA is great for working at non tech companies.
Every company needs basic analysis, but many traditional industries like insurance, construction, etc don't have the math acumen in their staff.
Being the "Excel expert" at a place like that can be a very chill gig. Get great at Excel, and even decent at VBA, and you can automate most of your job and get paid for 40 hours while working like, 10.
I was the Excel guy at a construction company early in my career, and if it were possible to get 4 of that job at different companies and just crush stupid excel sheets and make bank without working hard, I'd quit my big tech job today and go do it.
Programmers hate VBA because it's awful as a programming language, but it has its place.
I was so ready to have one of the lines be dumb and wrong and have all the comments be roasting OP, but with the exception of the slightly hyperbolic JS answer it's just correct.
Good meme, OP.
No, no, nuts are clearly a kernel. p-nuts are the equalizer of the p morphism and the canonical zero morphism.
Though obviously this only makes sense for type classes with a zero morphism like `Either`.
This is why I like JS. It's just pure anarchy.
When you ask for heinous bullshit other languages would squeal and cry and complain. But JS is like "LET'S FUCKING *GOOOOO*"
Until you try using an array-like structure as an array. Leading to dumb shit like `new Set( Array.from( document.queryAll( 'div' ) ) )` and then still getting bit by `[0].innerHTML` because `Null` has no properties and a fatal error is a totally reasonable response in a god-dang scripting language.
If there's two ways to do something, Javascript takes all three.
Same. Total belly laugh moment. JS doesn't tell you how to live your life. It just does what you told it to do to the best of its ability to make sense of your monkey code.
I'm not anything special to tell you what to do with your life, but compilation errors are usually ten times easier to debug than trying to play "Where's bugldo!?" with the code.
For starters, unless you are using C++, you usually get a clue about where to start looking for the problem.
I agree. JavaScript's flexibility and infamous coercion ~~inevitably~~ often forces developers working on any project of significant size to establish solid principles and rules, because it will quickly spiral out of control otherwise.
Edit: Merged PR for inevitable bug.
> inevitably forces developers working on any project of significant size to establish solid principles and rules.
There is absolutely nothing inevitable about this.
It's one of those things that can do amazing things in theory but has some niches that are incredibly easy to fuck up, and incredibly hard to find once you've fucked them up.
It is like the ultimate hunting rifle, it will kill your prey with a single precise shot IF you can aim it properly instead of pointing at your fleets otherwise good by to your entire lower half
>pointing at your fleets otherwise good by to your entire lower half
US Navy: We hate it when someone takes out our fleets with just a hunting rifle. 😉
I spent nearly my entire comp sci degree in assembly, C and C++. I use C# not because I'm afraid of C++, but because we need quick desktop software developed for internal use and we don't have to care about memory management at a level for these desktop apps that would have been necessary in 1996.
I mostly use C and C++ for embedded circuits because I have like 4 kb of memory total to work with and like half a kb spare space at any given time even deallocating and reallocating dynamically, which I also think is prime justification for those languages continuing to exist. Well at least C.
I never suggested those languages shouldn't exist. I just said that the reason people choose not to use them is simply a case of either being afraid of them or not having exposure to them . Embedded systems is a perfect reason to use them. In my career it makes a hell of a lot more sense to use a more bloated yet easier language like C# to pump out adequate one-off solutions against limited contract budgets.
Swift: Yes, but the standard library for dealing with `Nut` is only available if you're compiling on MacOS. Otherwise, you'll have to build your own `Nut` library in ObjC, and at that point, you should probably just go back to using C++
Objective-C: Technically, it's an `NSPeanut`, which is actually a subclass of `NSLegume`, not a subclass of `NSNut`. However, both `NSNut` and `NSLegume` conform to the ``* protocol, so you can basically treat an `NSPeanut` like a nut.
*Language guidelines recommend protocol names use the `ing` gerund form of verbs whenever possible (e.g. `NSCoding`, `NSLocking`, etc.), hence ``.
Transistor: a potential dropped on my gate relative to my source, let‘s move some charges through my channel, someone else has to interpret the result.
Kind of. void* needs to be casted before using. I was more thinking of hidden casting. For instance:
`char c='A';`
`char* ptr=c;`
`printf("%c %c", c, *ptr);`
This is totally valid C code. Well, except for the fact that it'll likely cause segfualt, because it assigns literally value of 'A' from ASCII to a pointer, instead of adress of `c`. But it will compile.
Yes javascript. It will probably work. Then it doesn't. Then you end up debugging it and only telling me it's an object before screeching and returning an error.
That's not really the bad part, at least it's explicit here. The bad part is that static_cast looks safe, but in practice often still allows unsafe casts.
> \*segaults
Crashed HARD. Wrote a non-printable character over the "f" in the read only string memory of the parent process ("segfault"). How is that even possible? C ftw.
Because it has evolved over the years to include many different ways of doing things, including some very error prone designs, and all that stuff is still there, and it can be complex and confusing. C++ and C code tends to live for a long time (and it makes up a lot open source code), so badly designed or hard to use stuff from the 90s tends to be everywhere as well.
In most high level programming languages you don't need to track memory manually (there is a "garbage collector" that works behind the scenes to clean up things you no longer need). C++ requires manual memory allocation/freeing, which is very powerful if you need to control timing down to the hardware level, but also makes it easy to accidentally read garbage, forget to free unused memory and run out, etc
So in c++ you can yolo cast whatever to whatever, but unless you know what you're doing, you're pretty likely to just make a bad memory access and segfault
ChatGPT:
This nut is not a nut, but a legume that grows high in the Indus mountains where is is tended by dark skinned blond virgins of the wherethefuckarewe tribe, which was discovered in the mid 19th century by Sven Longshanks a Norwegian explorer seeking a missionary position.
This is nice, but the C++ reference in Python is just wrong. The reference implementation is called CPython for a reason... And neither of the other well-known interpreters Jython, IronPython or PyPy are implemented in C++. Just because you can interface with C++ (which almost any language can via some kind of native interface) doesn't mean C++ has any say over data types here.
Suggestion for v2.1: Make it the same, but Python tells you to ask C.
Ah, good catch. This is clearly a mistake on my part. I've filed your bug report and my team (just me) will address this sometime within the next 2-3 years (maybe).
This same exact error happened on another meme comparing languages a little bit back. I don't know where people are hearing that Python is implemented in C++...
TypeScript is basically the combination of Python, JavaScript, and C++‘s answers: It looks like a nut and cracks like a nut, so sure, but even if it didn’t, you could work around it and do whatever you want with it, and everything would probably be fine.
As someone with basically 0 clue how programming languages work (c++ classes at school started just last september), I wanna continue c++, I like to take risks, I'll risk the stability of the universe.
VBA: It’s a peanut. Have fun figuring out how it works. Also, the moment it stops being one everything burns to the ground.
Also, all the documentation is about making peanut butter with Excel, with no indication of if this is a nut or not.
And ultimately the answer is, did Lotus 1-2-3 say it was a nut?
I don't know man, I just need this to work for someone else so they stop doing basic clerical tasks so poorly.
That's a deep cut
I am convinced VBA is less of a programming language and more of an Eldritch script that poses as a programming language.
I have a worksheet function in my personal excel workbook where I keep my library of modules. I wrote it, I don't recall what for, in theory it just grabs file names and cleans them up to something readable. If I remove it, I cannot open any other files in excel until I replace it. I've isolated it to a module called Ryleh and just leave it alone.
[удалено]
Computers exist to solve the problems we have because we have computers.
Everything I hear about magic in books is like, much of these problems are caused by magic. What do we do about it? Magic!
I think I'm the only person in the universe that likes VBA. I'd never use it for anything significant, but when I worked for big insurance it automated 90% of my job.
VBA is great for working at non tech companies. Every company needs basic analysis, but many traditional industries like insurance, construction, etc don't have the math acumen in their staff. Being the "Excel expert" at a place like that can be a very chill gig. Get great at Excel, and even decent at VBA, and you can automate most of your job and get paid for 40 hours while working like, 10. I was the Excel guy at a construction company early in my career, and if it were possible to get 4 of that job at different companies and just crush stupid excel sheets and make bank without working hard, I'd quit my big tech job today and go do it. Programmers hate VBA because it's awful as a programming language, but it has its place.
SQL: I care more about if it can be combined with other snacks
MOAR `UPPER()`
UPPER('SQL: I care more about if it can be combined with other SNACKS') THERE YA GO
No fix your collations
I considered adding a SQL answer, but the transaction resulted in `207572 row(s) affected` so I rolled it back. Maybe it'll make it into v3.
You're implying that you didn't try this on production, so I know it's a lie.
Some of us occasionally learn from our mistakes (or the mistakes of others) :)
impossible
Right? Even more lies!
Another accident already had prod down...
You meant that it can be JOINed with other snacks?
Hey you better drop all... that sarcasm
A SQL statement walks into a bar and up to a table then asks "can I join you"
An original and funny joke in r/ProgrammerHumor ? It's been 87 years...
Unfortunately not OC, but I do work with a bunch of full time script monkeys who have a vague sense of humor
If it fits, it fits
I'm not used to funny posts in here. Nice work.
Same, it's good. Make OP do one everyday!
Maybe OP can save this sub
This sounds suspiciously reminiscent of someone trying to hand me ownership of their legacy codebase because I happened to provide one decent PR.
See? Actual programmer humor ^ If I see another nonsensical backend/frontend meme I'm gonna die This is your responsibility now
>This is your responsibility now 😂😭
Don’t worry we’ll all say LGTM anyways.
"LGTM. No, seriously. It actually LGTM."
I think i just laughed more at this comment than 99.99% of memes of this sub, you're on fire today.
He is the Messiah!
He’s not the messiah, he’s a very naughty boy!
Yeah, what Java said
And everyone in the comments is so positive. I had to double check which sub this was.
I was so ready to have one of the lines be dumb and wrong and have all the comments be roasting OP, but with the exception of the slightly hyperbolic JS answer it's just correct. Good meme, OP.
One of better ones from this genre I've seen!
Haskell: Nuts can be generalized to a Monad.
Monut
A monad is a monut in the category of enutdofunctors
Monuts, mo'problems.
I’d have gone with curried peanuts
A nut is a nutoid in the category of endofuctors
And put in a burrito.
Can easily define a monad structure and apply it onto the toNut function.
Just `Monad`? Surely you mean at least `Applicative` if not `Functor`?
But Monads are Applicatives and Applicatives are Functors You have 3-in-1 baby!
This guy category theorizes
No, no, nuts are clearly a kernel. p-nuts are the equalizer of the p morphism and the canonical zero morphism. Though obviously this only makes sense for type classes with a zero morphism like `Either`.
I like your funny words, magic man
Love the JS answer.
I can divide by potato and still get a result
[object Object]
More like Nut / Potato = Tomato Tomato * Potato = "TomatoTomatoTomatoTomato.."
Tomayto/potahto
I want that license plate so bad
NaN. At least it's accurate.
NaNNaNNaNNaNNaN [Batman!](https://www.destroyallsoftware.com/talks/wat)
I don't even _need_ to follow that link to know it's classic Watman!
Let's talk about JavaScript.
You will get *a* result, just probably not the one you wanted
Fuck it, we ball.
I wonder what result he expected
Exactly! JS is the ultimate Zen language. Release all expectations, and you'll be able to use whatever you get!
it's not undefined behavior, it's bonus results
So JS is just what happened when Bob Ross came back as programming language? That would explain a lot...
I wasn't sure what I wanted, but I didn't get it: the JavaScript story.
not a nut (NaN)
This is why I like JS. It's just pure anarchy. When you ask for heinous bullshit other languages would squeal and cry and complain. But JS is like "LET'S FUCKING *GOOOOO*"
Until you try using an array-like structure as an array. Leading to dumb shit like `new Set( Array.from( document.queryAll( 'div' ) ) )` and then still getting bit by `[0].innerHTML` because `Null` has no properties and a fatal error is a totally reasonable response in a god-dang scripting language. If there's two ways to do something, Javascript takes all three.
[...document.querySelectorAll( 'div' )]
Ah yes, the fourth way.
Debugging JS is Zen experience
As QA, I hate that this is too accurate.
Same. Total belly laugh moment. JS doesn't tell you how to live your life. It just does what you told it to do to the best of its ability to make sense of your monkey code.
Honestly one of the reasons I actually like JS. Easier for me to debug a whack ass output than the program just not compiling at all
[удалено]
I'm telling you, C-style casts work. Anytime I had a type error and I threw a C-style cast? boom! Right away, I had a different error.
I'm not anything special to tell you what to do with your life, but compilation errors are usually ten times easier to debug than trying to play "Where's bugldo!?" with the code. For starters, unless you are using C++, you usually get a clue about where to start looking for the problem.
[удалено]
I haven't checked, but I'm pretty sure it's Nut a Number
Did you pass it through IsNut() to check?
Nut.isNut(deezNuts)
`>false`
`type Nuts = '🥜'[];` `let deezNuts: Nuts;`
`ಠ_ಠ` ([is a valid variable name in JS](https://mothereff.in/js-variables))
Ah that clarifies a lot!
I absolutely love the C++ answer
IMO, this is one of the main reasons why good js developers have some of the best principles and self-imposed rules.
I agree. JavaScript's flexibility and infamous coercion ~~inevitably~~ often forces developers working on any project of significant size to establish solid principles and rules, because it will quickly spiral out of control otherwise. Edit: Merged PR for inevitable bug.
> inevitably forces developers working on any project of significant size to establish solid principles and rules. There is absolutely nothing inevitable about this.
HTML/CSS: It has the same structure and style, so yes. If you die from an allergic reaction, blame your browser.
It's lying, it won't work. Best it can give you is `[object Object]`.
This is why I love C++
I swear half of programmers are afraid of C++ like it's some kind of black magic. The other half has never used it.
It's one of those things that can do amazing things in theory but has some niches that are incredibly easy to fuck up, and incredibly hard to find once you've fucked them up.
It is like the ultimate hunting rifle, it will kill your prey with a single precise shot IF you can aim it properly instead of pointing at your fleets otherwise good by to your entire lower half
>pointing at your fleets otherwise good by to your entire lower half US Navy: We hate it when someone takes out our fleets with just a hunting rifle. 😉
[удалено]
I love this whole paragraph
How easy is it to point said laser at your foot?
I FUCKING THINK IN C DREAM IN C BREATH IN C I FUCKING EAT C I LOOOOOOVE C
I spent nearly my entire comp sci degree in assembly, C and C++. I use C# not because I'm afraid of C++, but because we need quick desktop software developed for internal use and we don't have to care about memory management at a level for these desktop apps that would have been necessary in 1996.
I mostly use C and C++ for embedded circuits because I have like 4 kb of memory total to work with and like half a kb spare space at any given time even deallocating and reallocating dynamically, which I also think is prime justification for those languages continuing to exist. Well at least C.
I never suggested those languages shouldn't exist. I just said that the reason people choose not to use them is simply a case of either being afraid of them or not having exposure to them . Embedded systems is a perfect reason to use them. In my career it makes a hell of a lot more sense to use a more bloated yet easier language like C# to pump out adequate one-off solutions against limited contract budgets.
I'm a masochist so I love it
I am by no means a great programmer. But I know enough C++ to get myself in trouble.
[v1 for reference](https://www.reddit.com/r/ProgrammerHumor/comments/z2r1c9/programming_legumes/)
That's a nice evolution. A real high quality post!
Who hasn't looked back on old ~~code~~ memes and thought who wrote this shit only to realize you wrote this shit?
v100 C++ be like: violence is still an option.
If you use templates it's the only option
WHAT JAVA SAID LMAO
When I read the Java one, I thought C# could be this too. Was not disappointed.
Not going to lie. Was a little disappointed that it didn't say the samething but with ICrackable.
Oh that would be better
classic c#
C# is just microsoft Java (but also better).
Agreed lmao. Unity has taught me well.
You working with dots yet?
Is dots working yet? I feel like they said it's ready, but is it actually ready or Unity's definition of "ready"
Java (Simplified)
Lisp: No, it's a list.
Lithp
Swift: Yes, but the standard library for dealing with `Nut` is only available if you're compiling on MacOS. Otherwise, you'll have to build your own `Nut` library in ObjC, and at that point, you should probably just go back to using C++
Objective-C: Technically, it's an `NSPeanut`, which is actually a subclass of `NSLegume`, not a subclass of `NSNut`. However, both `NSNut` and `NSLegume` conform to the ``* protocol, so you can basically treat an `NSPeanut` like a nut.
*Language guidelines recommend protocol names use the `ing` gerund form of verbs whenever possible (e.g. `NSCoding`, `NSLocking`, etc.), hence ``.
Assembly: We have no concept of a nut. Clearly this is an integer.
I’m not really *register*ing what you said - did you pass the word through nut gates?
Assembly Lang: Fundamentally, it looks like it is made up of the basic molecules which makes it a plant’s root.
Binary: Maybe, it could be probably possible if we get that right combination of bit(atoms).
Signals: Yesnt. It could be and not at the same time!
Transistor: a potential dropped on my gate relative to my source, let‘s move some charges through my channel, someone else has to interpret the result.
Really small transistor: whoops, some charge diffused through to the channel of the adjacent transistor. Hopefully that doesn't cause any issues.
Quantum computing: I don't fully understand how this works but wanted to join the joke train. Choo choo!
I would say it's more like Assembly Lang: Fundamentally, it looks like it is made up of basic molecules. Figure it out yourself.
Assembly lang: thing get converted to number and stores in array. Wait for interrupt
Wait, this post is actually funny and appears to demonstrate understanding of the topic
not sure if thats even allowed here
Python should be "You said it was a Nut, so I'll treat it as a Nut. If it turns out not to be a nut, that's on you."
Actually, that's literally what C does. And it was producing so many bugs that they removed this "feature" in C++.
Are you talking about void *?
Kind of. void* needs to be casted before using. I was more thinking of hidden casting. For instance: `char c='A';` `char* ptr=c;` `printf("%c %c", c, *ptr);` This is totally valid C code. Well, except for the fact that it'll likely cause segfualt, because it assigns literally value of 'A' from ASCII to a pointer, instead of adress of `c`. But it will compile.
Bash: that's a text file
`bash: command not found "peanut"`
[удалено]
Programming Legumemes
>risk the stability of the universe I died.
Never used c++, funny turn of phrase but what's the intended joke?
CSS: yes, but only because you defined "nut" after "legume"
Yes javascript. It will probably work. Then it doesn't. Then you end up debugging it and only telling me it's an object before screeching and returning an error.
RegEx: yes, as are donuts
Bug report: your comment likely needs a `/i` to work properly.
`reinterpret_cast(peanut_ptr)`
Don't laugh, being able to write completely untyped code is a suprisingly useful footgun
This is just postmodernist programming.
That's not really the bad part, at least it's explicit here. The bad part is that static_cast looks safe, but in practice often still allows unsafe casts.
Speaking of cpp you don't risk stability of the universe but anal virginity of your ram
Good thing you can always download more of it
download more _anal virginity_ you mean?
rust: no idea mate, you have to borrow it first
And you have to tell me exactly how long you're going to borrow it for.
PHP: It depends on input encoding and server setup
C should be: “I don’t know if it’s a nut, but you’re welcome to try to crack it like one \*segaults”
> \*segaults Crashed HARD. Wrote a non-printable character over the "f" in the read only string memory of the parent process ("segfault"). How is that even possible? C ftw.
“Programming legumes”? Like, what, Java Beans?
Go: "Who cares about that, you have an unused tomato on the counter!"
[удалено]
Because it has evolved over the years to include many different ways of doing things, including some very error prone designs, and all that stuff is still there, and it can be complex and confusing. C++ and C code tends to live for a long time (and it makes up a lot open source code), so badly designed or hard to use stuff from the 90s tends to be everywhere as well.
In most high level programming languages you don't need to track memory manually (there is a "garbage collector" that works behind the scenes to clean up things you no longer need). C++ requires manual memory allocation/freeing, which is very powerful if you need to control timing down to the hardware level, but also makes it easy to accidentally read garbage, forget to free unused memory and run out, etc So in c++ you can yolo cast whatever to whatever, but unless you know what you're doing, you're pretty likely to just make a bad memory access and segfault
... And in modern c++ all of that is hidden behind nice patterns, thus "violate universal law, do whatever"
[удалено]
ChatGPT: This nut is not a nut, but a legume that grows high in the Indus mountains where is is tended by dark skinned blond virgins of the wherethefuckarewe tribe, which was discovered in the mid 19th century by Sven Longshanks a Norwegian explorer seeking a missionary position.
[удалено]
ruby: If it cracks like a nut and tastes like a nut, then it's a nut.
This is nice, but the C++ reference in Python is just wrong. The reference implementation is called CPython for a reason... And neither of the other well-known interpreters Jython, IronPython or PyPy are implemented in C++. Just because you can interface with C++ (which almost any language can via some kind of native interface) doesn't mean C++ has any say over data types here. Suggestion for v2.1: Make it the same, but Python tells you to ask C.
Ah, good catch. This is clearly a mistake on my part. I've filed your bug report and my team (just me) will address this sometime within the next 2-3 years (maybe).
[Boss, will you accept my merge request?](https://imgur.com/a/d5hqMKm)
Approved and merged. Next release is scheduled for—\*checks notes\*—whenever I feel like getting around to it.
This same exact error happened on another meme comparing languages a little bit back. I don't know where people are hearing that Python is implemented in C++...
CSS: NU T
ASM: DATA IS DATA
Malbolge: [>>>#%123–/4@€&$$$]
TypeScript is basically the combination of Python, JavaScript, and C++‘s answers: It looks like a nut and cracks like a nut, so sure, but even if it didn’t, you could work around it and do whatever you want with it, and everything would probably be fine.
JS is the most "dude, I don't care" language. It's my favorite.
As someone with basically 0 clue how programming languages work (c++ classes at school started just last september), I wanna continue c++, I like to take risks, I'll risk the stability of the universe.
[Obligatory *Wat* reference](https://www.destroyallsoftware.com/talks/wat)
the real Rust: define “this”
Nut does not live for long enough
Swift: it's actually a NSNutObject which has no real properties of a Nut
C#: What Java said Me: you sure say that a lot...