this post was submitted on 14 Nov 2023
809 points (94.6% liked)

Programmer Humor

32425 readers
789 users here now

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

Rules:

founded 5 years ago
MODERATORS
 
top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 126 points 1 year ago* (last edited 1 year ago) (10 children)

tomatoes are fruits that are often used as vegetables and are botanically classified as berries*

*according to wikipedia and my interpretation of it

[–] [email protected] 61 points 1 year ago (2 children)

Intelligence is knowing that tomatoes are a fruit. Wisdom is knowing that they don't go into a fruit salad.

[–] [email protected] 38 points 1 year ago (1 children)

Charisma is selling salsa as a tomato based fruit salad

load more comments (1 replies)
[–] [email protected] 13 points 1 year ago (1 children)

What if you soak them in high fructose corn syrup first?

[–] [email protected] 28 points 1 year ago (1 children)
load more comments (1 replies)
[–] [email protected] 14 points 1 year ago (3 children)

Tomatoes are only fruits in a biological sense, vegetable is a culinary term so it makes no sense to mix them up.

[–] [email protected] 12 points 1 year ago (2 children)

I prefer just calling everything I eat the flesh of whatever it came from. Tomato? Flesh. Lettuce? Flesh. People? Flesh.

load more comments (2 replies)
[–] [email protected] 10 points 1 year ago (3 children)

My understanding is that the term vegetable is actually a political term, meaning it is categorized as a vegetable for tax reasons.

Vegetables are taxed lower than fruits.

load more comments (3 replies)
load more comments (1 replies)
[–] [email protected] 7 points 1 year ago (2 children)

According to some YouTube short (maybe it was vsauce?): botanically, fruits are vegetables so tomatoes are vegetables in both classification systems

[–] [email protected] 7 points 1 year ago

In reality it really does not matter and the classification is somewhat arbitrary. Just think about adding it to a fruit salad. Would you do it? Then it's a fruit.

load more comments (1 replies)
load more comments (7 replies)
[–] [email protected] 103 points 1 year ago (9 children)

The fact that this meme makes sense to anyone demonstrates how dynamic typed programming languages cause brain damage.

load more comments (9 replies)
[–] [email protected] 95 points 1 year ago (2 children)

I like TypeScript less for its ability to categorize my grocery list and more for its ability to stop anyone from putting cyanide on it.

[–] [email protected] 48 points 1 year ago (2 children)

I hate Typescript for promising me that nobody can put cyanide on the list, but in reality it disallows ME from putting cyanide on the list, but everyone else from the outside is still allowed to do so by using the API which is plain JavaScript again

[–] [email protected] 35 points 1 year ago (1 children)

Honestly, programming is great for teaching you that you are the stupid one. This is still a feature.

[–] [email protected] 13 points 1 year ago* (last edited 1 year ago) (8 children)

The main problem with JavaScript and TypeScript is that there is such a little entrybarrier to it, that way too many people use it without understanding it. The amount of times that we had major issues in production because someone doesn't understand TypeScript is not countable anymore and our project went live only 4 months ago.

For example, when you use nest.js and want to use a boolean value as a query parameter.

As an example:

@Get('valueOfMyBoolean')
@ApiQuery(
  {
    name: 'myBoolean',
    type: boolean,
  }
)
myBooleanFunction(
  @Query('myBoolean') myBoolean: boolean
){
  if(myBoolean){
    return 'myBoolean is true';
  }
  return 'myBoolean is false';
}

You see this code. You don't see anything wrong with it. The architect looks at it in code review and doesn't see anything wrong with it. But then you do a GET https://something.com/valueOfMyBoolean?myBoolean=false and you get "myBoolean is true" and if you do typeOf(myBoolean) you will see that, despite you declaring it twice, myBoolean is not a boolean but a string. But when running the unit-tests, myBoolean is a boolean.

load more comments (8 replies)
load more comments (1 replies)
[–] [email protected] 7 points 1 year ago (2 children)

Two questions immediately come to mind. 1) Would you buy the cyanide if it was on the list. 2) Where does one casually buy cyanide? I can't imagine a case where I'd need some, but it would be handy to know if I ever did.

load more comments (2 replies)
[–] [email protected] 90 points 1 year ago (2 children)

I'd say its more like the gas tank telling you that you aren't allowed to pour in brake fluid as that could lead to runtime errors.

[–] [email protected] 38 points 1 year ago
tank.pour(brakeFluid as Any); // do not remove this for some reason will break prod
load more comments (1 replies)
[–] [email protected] 55 points 1 year ago

Tomato: Any

[–] [email protected] 41 points 1 year ago (1 children)

Biologists: but tomato is a berry, which is subset of fruits

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

Also biologists: "vegetable" is purely a culinary term, and doesn't have any significance in the world of botany

[–] [email protected] 21 points 1 year ago

As it happens, when we go shopping for food we have more of a culinary mindset than botanical.

load more comments (3 replies)
[–] [email protected] 29 points 1 year ago (36 children)

Am I missing the joke? Tomatoes are fruits.

[–] [email protected] 41 points 1 year ago (3 children)

Intelligence is knowing Tomatoes are fruits.

Wisdom is knowing not to put them in a fruit salad.

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

Greek salad would like a word... the only things that aren't a fruit in Greek salad are the onions and feta.

[–] [email protected] 23 points 1 year ago (2 children)

Wisdom is knowing not to put them in a fruit salad.

A Greek salad is not a fruit salad, it is a...Greek salad.

[–] [email protected] 24 points 1 year ago* (last edited 1 year ago) (1 children)
load more comments (1 replies)
load more comments (1 replies)
load more comments (2 replies)
load more comments (35 replies)
[–] [email protected] 26 points 1 year ago (1 children)

I swear to god, sometimes I really don't know what Typescript really wants from me. It's like some old god: you know it needs a sacrifice but the god is not telling you exactly what he wants. So you can only try and pray.

[–] [email protected] 19 points 1 year ago (2 children)

Idk, I find it pretty easy to understand

[–] [email protected] 12 points 1 year ago (1 children)

The "return type <5 paragraphs of various word salads> is not compatible with " error messages are anything but easy to understand in my opinion.

[–] [email protected] 9 points 1 year ago* (last edited 1 year ago)

Yeah I don't get why it spits out whole types instead of only differences between them. Like "function expects non-null 'some.param.in.object' of type 'string' in argument 'someArgument', which is missing in passed argument".

load more comments (1 replies)
[–] [email protected] 22 points 1 year ago

I'm a bit disappointed that nobody mentioned Rust yet.

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

Yeah... What?

Tomatoes are fruits.

load more comments (4 replies)
[–] [email protected] 17 points 1 year ago

Guess it's not only Typescript that likes to argue with the developer while missing the entire point...

[–] [email protected] 10 points 1 year ago

Report -> I'm in this picture and I don't like it

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

somewhere brodie lee just threw some papers

load more comments (1 replies)
load more comments
view more: next ›