What's your take on cooking?

As a self-proclaimed chef in my kitchen, I can go on about cooking for hours. But here's something you might not often hear:

Cooking, like everything else in our universe, is an object.

Yes, you read that right.

Moreover, everything related to cooking, whether tangible or intangible, is an object. This idea stems from the broader concept:

Everything, tangible or intangible, is an object.

So, why not embrace it?

As I've emphasized up to this point, the beauty of object-oriented programming (OOP) goes way beyond coding. It offers a unique way to view the world. In OOP, we perceive everything as an object with attributes and behaviors. This perspective is transformative, even in everyday life.

When you think about complex things like cooking and taste, how do you simplify them? By extracting commonalities as abstract attributes or methods.

Why do we cook? To eat, right? Therefore, the ultimate goal of cooking is to eat – and not just eat, but eat well. Delicious food is the end goal.

Ever wondered what makes food taste good? It's a mix of ingredients, the cooking process, and presentation. Ultimately, three factors really sway your opinion: fat, salt, and sugar – the greasiness, saltiness, and sweetness of your food.

I'm not just talking about abstract concepts; it's a scientific fact. These are the three pillars of taste. For more insights, check out Michael Moss's book, "Salt Sugar Fat: How the Food Giants Hooked Us."

https://www.amazon.com/Salt-Sugar-Fat-Giants-Hooked/dp/0812982193/

Your food's appearance and aroma matter, but if you miss any of these three taste pillars, it won't be as delicious as it could be. And even with all three, balance is key. Too much or too little of anything is not good.

Each ingredient contributes to the taste. Onions, for instance, are naturally sweet. Seafood like fish, shrimp, and crab are salty by nature, and so forth.

Recipes? I don't memorize them. When I taste a dish, I try to discern what ingredients contribute to its flavor and in what proportions. Then, I can recreate or even improve the dish.

Why commit recipes to memory? That approach isn't object-oriented. It falls short in terms of scalability, maintainability, reusability, flexibility, extensibility, elegance, beauty, enjoyment, and creativity. It's not in the spirit of object-orientation, after all! Plus, everyone's taste preferences vary. So, why not craft your own recipes by adapting and modifying existing ones through inheritance and polymorphism?

Here's another insight about recipes: they're essentially referencing the same concepts, just presented in different ways. It's a classic case of inheritance and polymorphism in action. That's really all there is to it.

But, being Korean, I add a bit more magic: Umami. Japanese and Koreans share this magical element of flavor explosion. Consider kelp or dried bonito flakes, rich sources of Umami. We use them in broths for soups and stews.

Even if you're from an English-speaking area, you probably enjoy Ramen (Japanese) or Ramyon (Korean) noodles, right? Their exceptional taste comes from Umami – the Japanese and Korean secret weapon of flavor. In Korean, we call it '감칠맛'. There's no direct translation in English. It's a blend of many elements. Although we can tell if a dish has umami, it's hard to pinpoint exactly what it is. Umami is the official term for this taste. MSG is an artificial version of Umami. We've reduced MSG usage nowadays, but Ramen or Ramyon noodles used to be loaded with it. That's why they taste so good. Even now, they contain the right mix of ingredients to achieve that Umami flavor.

So, why do these dishes taste so good? Think of it from an object-oriented perspective. They meet the four pillars of great taste: fat, salt, sugar, and umami. You already have a solid base class of taste to derive from to understand good flavor.

Yes, Ramyon tastes fantastic because it balances the right amounts of fat, salt, sugar, and umami.

What about pizza? It's delicious for the same reason: a perfect blend of fat, salt, sugar, and umami.

Why do we add salt to steak? To enhance its flavor. We're aiming for the right balance of fat, salt, and sugar. And umami? Well, that might not be a typical western addition, but marinated steak with soy sauce, adding that umami flavor, is something many enjoy.

Korean Bulgogi(불고기) and Galbi(갈비) follow the same culinary principles: achieving harmony between fat, salt, sugar, and umami. This rule is fundamental to every Korean or Japanese dish, each with its unique application of polymorphism. Every dish encompasses the four essential pillars of taste, neatly encapsulated. Complex dishes inherit from simpler ones, which in turn stem from these fundamental taste pillars. It's simple, elegant, and beautiful.

Korean Kimchi exemplifies the harmonious blend of the four pillars of taste. As a fermented dish, its natural sourness complements its saltiness, sweetness, and spiciness. Skillfully blending fat, salt, sugar, and umami, Kimchi has evolved into a culinary masterpiece over thousands of years. And remember, spiciness isn't a taste but a sensation. It might seem counter-intuitive, but spiciness is akin to a type of enjoyable pain, almost like a self-imposed culinary torture.

That's the essence of cooking. Herbs and other additional ingredients are merely variations on these basic taste pillars. They're the spices of life, nothing more. To make your food taste great, understand these four taste pillars and abstract them into a generic class. Then, derive from it to interpret dishes with or without recipes, or
create your own dish with or without recipes.

Honestly, I'm always reluctant when someone asks me how to cook what I've prepared for them. Without grasping this fundamental principle, replicating the flavor is challenging. So, I usually offer to cook for them if they visit and I have the time. Besides, I don't really ponder over recipes unless specifically asked to do so.

Now, try explaining why your favorite food tastes good and why others might not, setting aside personal preferences. Be generic and abstract. You'll be amazed at what you can learn from this exercise.

This approach offers a unique way to view our universe through the lens of object-orientation: the ultimate life hack.

Here's another fun experiment. Inform your GPT model about this perspective on taste. Then, ask it to explain why a dish tastes good from the same viewpoint. It's a one-shot learning experience for it, but it will be capable of interpreting the taste of any dish from an object-oriented perspective. You should be able to do the same. I mean it.