tomatoes are fruits that are often used as vegetables and are botanically classified as berries*
*according to wikipedia and my interpretation of it
Intelligence is knowing that tomatoes are a fruit. Wisdom is knowing that they don’t go into a fruit salad.
Charisma is selling salsa as a tomato based fruit salad
Strength is EAT MY DAMN FRUIT SALAD OR I’LL SMASH YOUR FACE IN.
What if you soak them in high fructose corn syrup first?
Then it’s ketchup
Rules are meant to be broken.
According to some YouTube short (maybe it was vsauce?): botanically, fruits are vegetables so tomatoes are vegetables in both classification systems
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.
I’ve seen it too. I think it was Hank or John Green.
I once saw a little blurb at a sandwich shop stating that tomatoes are fruit, but if you pair them on a sandwich with jalapenos, you’re getting both fruits and vegetables. I demand better scientific accuracy in restaurant marketing signs.
Now I wonder if jalapenos are fruit too (scientifically)
Very much so. Bell peppers and jalapenos are fruits from different strains of capsicum annuum. Biologists apparently don’t agree on whether all chilli/paprika stuff is capsicum annuum, what’s for sure is that they’re all very closely related.
Vegetable has no meaning other than “part of a plant* we eat”, so basically all fruits are vegetables
*And in the case of mushrooms, fungi
To add to this, vegetable is a culinary term and not a scientific term. Whereas, fruit can be both. Tomatoes are scientifically a fruit, but generally not from a culinary perspective.
This is precisely it: Tomatoes can be sweet enough to be a fruit, they can be acidic enough to be a fruit, but they’re definitely too umami to be fruit.
Next thing people are going to insist on, wilfully ignoring the differences in taxonomy, is that peppercorns are fruit. A stone fruit, just like cherries or peaches.
Technically, according to the definition of a fruit, the cucumber is also a fruit, so yes, the tomato/cucumber salad is a fruid salad.
The fact that this meme makes sense to anyone demonstrates how dynamic typed programming languages cause brain damage.
I prefer to think of it as maybe don’t shoehorn a shitty type checker into a dynamic language. Honestly I think people who get excited about typescript should fuck off and go write java instead.
JS is the one that’s built into the browser. If JS wasn’t built into the browser, it would go onto the trashbin of bad old languages that only survived because of their platform like VBA and ActionScript and .bat batch scripting. You can’t compare JS to any other language because JS is the one you don’t get a choice on.
Tell that to the NodeJS people…
Stockholm syndrome.
I’ve heard it said that the longer you work with JavaScript, the more you hate it. I’m not gonna lie, I really miss working on ASP.Net Core backends. Switching from that to NodeJS was a huge downgrade.
Fine but whatever you think about js, dynamic languages have certain advantages, and trying to turn it into another java or c# is a stupid endeavor. You’re not “fixing” javascript by making it more like java.
The type checker is actually pretty smart and can handle a lot of weird use cases, especially in strict mode (if you mark everything as Any type, that’s on you). The fact that the underlying language is very dynamic can be both good and bad. It’s good because you can be flexible when you need to be, but it also won’t prevent you from writing really shitty code, which lends it its reputation.
I don’t know if you’ve ever tried writing frontends in Java, but it is terrible, especially if you want to make dynamic and accessible UIs. You don’t use a power drill when you need to hammer a nail.
My comment was obviously devoid of any nuance, I am on programmer humor after all. I actually do use typescript, but I think fixing issues in application code that isn’t used by other code is a waste of time. I also think there are lots of advantages of a very dynamic language, like usable REPLs and much easier debugging. We can take these advantages way further by embracing the dynamic nature of javascript, like how lisps do it for example. But instead, everyone is happy going down the route of turning it into another c# (nothing against c# but we don’t need all languages to be c# and java).
That’s what WASM is for, but it’s not there yet :(
And you still have to use js for hooks and stuff
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.
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
Honestly, programming is great for teaching you that you are the stupid one. This is still a feature.
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.This is more a condemnation of nest.js than ts. It seems great in theory. I like the architecture and the ability to share models and interfaces between front and backend, but it’s objectively makes everything more complicated. It adds layers of abstraction that should not be necessary and it’s such a niche/unpopular framework for backend systems that you generally have to jump through hoops to do anything moderately complex. Not only do new devs have to learn typescript to use it, they have to learn the nest architecture to know how to do things “the right way” and you still end up in situations like this which looks perfectly valid but isn’t. Typescript was never meant to be used for backend, and trying to make it do so and then complaining about it is like jogging while carrying a gun, shooting yourself in the foot, and blaming the gun.
the ability to share models and interfaces between front and backend
On the other hand, this can be considered a downside because it locks you into using JS/TS on the front and backends.
Alternatively, if you define your models and interface with an Open API spec, you can write the front and backends in whatever language you want.
I’ve never used TS, and I’m not exactly sure what nest.js even does, but building a TypeScript project on top of a JavaScript library not designed for it seems like asking for trouble. Is that standard practice?
Yes. As of this writing there are 7,738 type definitions in a central repo maintained by users for plain JavaScript packages.
https://github.com/DefinitelyTyped/DefinitelyTyped
Many package owners write type definitions included with their package that is written in JavaScript also.
Web dev continues to be cursed, I guess.
If I really needed to use a JS library in TS, I’d have to build some sort of adapter between the two that crashes whenever the JS library (that doesn’t know anything about your types) breaks the typing rules. Anything else will inevitably lead to the above “fun” kind of bugs.
I don’t think that this would work, there are no types anymore during runtime because everything is translated into plain js on build. TypeScript only exists during development
Typically when creating API interfaces you’d be better off marking the inputs as unknown, and then using something like Zod to validate the types
return ‘myBoolean is true’;
I instantly noticed this line. Shitcode is so fun.
Fair enough.
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.
I know you used to be able to get it for pest control, but maybe not anymore. You could also make it the old-fashioned way with molten washing soda. It can be used to make Prussian blue, for one thing.
Obviously take all necessary precautions, especially keeping NaCN away from acids.
Just one word: Apples.
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.
tank.pour(brakeFluid as Any); // do not remove this for some reason will break prod
So much funnier
Tomato: Any
Biologists: but tomato is a berry, which is subset of fruits
Also biologists: “vegetable” is purely a culinary term, and doesn’t have any significance in the world of botany
As it happens, when we go shopping for food we have more of a culinary mindset than botanical.
A vegetable is edible plant matter.
Botanically a vegetable is anything that is not the reproductive portion of the plant derived from a flower. A root or tuber such as for yam or potato are vegetables. Edible flowers could be considered a vegetable since the ovary has not expanded to contain seed.
deleted by creator
Exactly
Am I missing the joke? Tomatoes are fruits.
The joke is that almost everyone calls them vegetables because the botanic categorisation of parts of plants is niche jargon that is not useful in everyday life, whereas the culinary categorisation is useful, and so your shopping list correcting you is worse than unnecessary.
But that’s not what TypeScript does. The joke in the meme doesn’t really even make sense.
A better analogy would be you have a basket that’s explicitly labeled “Fruit” and TypeScript complains if you try to put laundry detergent in it because you said it’s supposed to be a basket of fruit.
This meme was clearly made by someone who doesn’t use or understand TypeScript.
This meme was clearly made by someone who doesn’t use or understand TypeScript.
It was made by someone who doesn’t understand types, period.
Curious if it’s the same wizard who was explaining that Linus doesn’t understand programming because he has opinions on arm vs Intel architecture. EVERYONE programs in JavaScript anyways and my JavaScript always works on arm. Has Linus lost the plot?
Yeah most likely.
As a proud Massachusettsan, tomatoes are definitely vegetables.
(Technically, tomatoes are both fruits and vegetables)
Aren’t fruits subsets of vegetables? Without looking it up I thought that vegetables were the edible part of the plant and fruits are edible reproductive parts of the plant. I could be totally off on that though.
Yea, you’re totally correct. This whole confusion comes from a Supreme Court case that involved tariffs though… Basically, tomatoes are a staple good and should be taxed like a regular vegetable and not receive the elevated fruit tax.
i.e. Americans ruining english for the rest of the world (see also 7th day nutjobs), thanks guys…
Does this vary from place to place?
It varies by language since the meaning of fruit and vegetable are language specific but that’s universal for English. A fruit is an edible portion of a plant that contains seeds and a vegetable is an edible portion of a plant, so… all fruits are vegetables.
Ok but like, why draw the line at Massachusetts? Lol. If I make a wrong turn and end up in New Hampshire am I going to have to reevaluate my fruits and vegetables?
Oh, Massachusetts was behind them being classified as a vegetable but not a fruit for tax reasons.
Well, that depends on definition. But the joke is why on earth would you want to write types on your shopping list? Like this:
- tomatos (vegetable)
- apples (fruit)
Etc.
To be conformant with PEP-8.
Why not? If a shop is having a sale on fruits only then I would like to sort out all the fruits quickly.
Well, I can’t think of an English example from the top of my head, but in German the words for Pear and (light) bulb are the same. So there are some exotic use cases.
deleted by creator
So that the mindless automaton delivering your groceries doesn’t unexpectedly give you tomatoes for your sundae, in a future expansion to dish-based orders.
I’ve yet to create a type error that didn’t correspond to me thinking about something wrong.
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.
Idk, I find it pretty easy to understand
The "return type <5 paragraphs of various word salads> is not compatible with " error messages are anything but easy to understand in my opinion.
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”.
Typescript got a lot easier for me when I stopped even trying to read the error messages
I’m a bit disappointed that nobody mentioned Rust yet.
Yeah… What?
Tomatoes are fruits.
Would you put a tomato in a fruit salad?
Botanically they are. Culinary they are not.
Some languages split the word “fruit” up in those two cases. In Dutch for example, the botanical definition of fruit translates to “vrucht” whereas the culinary definition translates to “fruit”.
So, a tomato is a “vrucht” but it’s not “fruit”
Some languages split the word “fruit” up in those two cases
I wish English did this more. There’s way too many words with an overly large number of meanings.
The word “free” meaning both “freedom” and “doesn’t cost money” can be confusing - some languages use “gratis” or an equivalent word for the latter definition. Sure, you can use it as a Latin loan word in English, but that’s not common.
Aren’t they berries, tho?
Guess it’s not only Typescript that likes to argue with the developer while missing the entire point…
Report -> I’m in this picture and I don’t like it
somewhere brodie lee just threw some papers
Evil Uno hits the floor wailing.
I’ve seen versions of this meme before but I just noticed what he’s wearing. Is that a Mortal Kombat shirt?
deleted by creator