Hacker News new | past | comments | ask | show | jobs | submit login
Meringue Philosophy (meringue.readthedocs.io)
39 points by Vadim_samokhin 4 months ago | hide | past | favorite | 10 comments



> Meringue is an object-oriented implementation of datetime functionality in php. It’s built atop the few fundamental universal abstractions, so it’s minimalistic, intuitive and extendable. At the same time, it allows carrying out complex datetime calculations due to its inherent declarative nature.

And there I was, expecting this to be a novel food-based metaphor about how certain kinds of philosophy are sweet and delicious, yet crumble easily under the slightest pressure.


Funny, I just recently commented on a different post laying out what I think is a disagreement with the basic idea here.

The assertion that "metaphysics fits enterprise software development discovery and implementation needs perfectly" overlooks a critical distinction between philosophical inquiry and practical application. Metaphysics, which delves into the nature of reality and existence, often involves abstract categorization and the pursuit of understanding universal truths. However, enterprise software development is fundamentally a practical discipline aimed at solving specific business problems.

When software engineers model a domain, they are not engaging in an Aristotelian or Platonic exercise to capture the true essence of entities. Instead, they are creating representations that are useful for achieving particular business objectives. The primary goal is not to uncover ontological truths but to develop functional, efficient, and scalable solutions that meet the needs of users and stakeholders.

Theoretical unifications and abstractions, while intellectually stimulating, can often lead to over-engineered solutions that do not align with the practical demands of enterprise software. Software development requires pragmatism: the ability to prioritize utility and business value over philosophical purity. Abstractions in software are useful only insofar as they contribute to the effectiveness and maintainability of the system within the context of its intended use.

I'm not suggesting there aren't some situations where applying metaphysical thinking can be helpful. However, using this approach as a general, top-down strategy doesn't make much sense. Software engineering, by definition, is a practical discipline, involving concerns and objectives that differ fundamentally from those of metaphysics.


I appreciate linked data / the semantic web and its domain model-forward approach, labeled "ontologies". Organizing relationships between objects and actors contextualizes them and forces you to pursue parsimony. It's nice to see this philosophy appreciated elsewhere.

My projects usually start with a "goblin mode repo" to explore the domain, its possible representation in code, and settling on a suitable domain model for the problem in question. It's explicitly a place for prototyping, experimentation, and breaking changes galore. Naturally this technique doesn't extend much further than a small, tight-knit team, but once you find something that works you can formalize it in a new repo and share access with a wider group. If you did it right, those others will have no trouble comprehending the domain from the organization of code structures you've provided and extending that code in ergonomic ways to add features.


> My projects usually start with a "goblin mode repo"

Haha, I like the name :)


1. Some philosophers think many metaphysical debates meaningless. Consider the debate about ordinary objects such as chairs. These typically are the result of composing more fundamental entities (such as those of the Standard Model). Mereological nihilists say: there are no ordinary objects (such as chairs). Others disagree. /Relativists/ about metaphysics say that these disputes are merely verbal. There is no fact of the matter to discover and expound. Whether or not there is such a thing as a chair is simply a matter of convention.

2. I disagree. But I think one point is right. Relativists point out that it is often (or maybe even always) possible to translate statements between the languages promoted by different metaphysical schools. For example, nihilists translate ‘the chair is on the ground’ to ‘some particles arranged chairwise are such that the particles at the bottom touch the ground’ (or something similar). For this reason, they claim not much hinges on whether nihilists are actually right.

3. Despite my antirelativist metaphysical inclinations, I think it is possible to translate statements in the language given by the ‘same ontology that constitutes reality’ systematically into languages that reflect different metaphysical views.

4. Some of those erroneous metaphysical views may correspond to how we naturally tend to think about certain areas, or the needs of computation (e.g. in being better complexity-wise). For this reason I am sceptical about the (admittedly very interesting) technique advanced in this essay, since it seems to assume that no conflict between these demands will arise.

5. A final worry is that metaphysics does not really speak with one voice. Many philosophers are quite sympathetic to the sort of picture outlined at the start of the essay, but e.g. mereological nihilism is surprisingly popular! If resolving these questions definitively is too much even for philosophers, those applying their conclusions will have some trouble too.


> Relativists about metaphysics say that these disputes are merely verbal. There is no fact of the matter to discover and expound.

As a relativist myself, I'd say that this description misrepresents Relativism, out of a misunderstanding. It's not that there are no facts to discover, but that whatever you discover is a mental construct that is mediated by how you think about it. This "nihilism" is popular because it's rationally sound.

"Whether or not there is such a thing as a chair is simply a matter of convention", true, but that's because _being_ is not an essential property of the universe that you can get to know, but a metaphysical concept that you think about; as such, the facts you get to assert about it are dependent on how you define the concept. As different schools of philosophy have their own ways to think about the concept, they'll arrive at different conclusions about its characteristics.

In the end, all philosophical enquiry is a mental exercise that produces knowledge in the minds of us fellow humans, and it's mediated by the capabilities and limitations of our brains.

In the same way, all rational discourse takes the form of discovering new facts that are derived from some stated axioms and following defined rules of interference. There are no metaphysical axioms and rules of interference existing outside our brains, so rational thought necessarily depends on the shape of -and the consequences implied by- the particular principles you chose to use. Choose different ones, and the shape of your reasoning will vary (even though, as you said, it is often possible to translate between different initial perspectives).


> this description misrepresents Relativism

The position I have outlined is fairly standard and commonplace; that it is different from the view you call ‘relativism’ does not mean that I have misrepresented you, since I did not in fact intend to characterise your specific view.

> It’s not that there are no facts to discover, but that whatever you discover is a mental construct that is mediated by how you think about it.

If the ‘mediation’ in question is sufficiently strong, whatever is discovered is not, on the usual reading of ‘fact’, really going to consist in facts.

> This ‘nihilism’

is not standardly called nihilism. Those standardly called metaphysical nihilists in the literature tend not to be relativists; in insisting on their position in the debate, they usually think that the debate is meaningful.

In the later section of your comment, the sort of mind-dependence to which you advert is unclear. One reading is that you think that the process of intellectual enquiry as we perform it is mind-dependent because it takes place in our minds; this much I think is quite plausible. Another reading is that you think that any criteria of success (e.g., correctness) will also be mind-dependent, which is fairly close to Berkeley’s idealism, in that, if Berkeleyan idealism is denied, there will presumably be mind-independent facts (up to translation schemata) that we can get right or wrong. I do not intend to debate whether Berkeleyan idealism is true, but it is certainly different from what is typically taken to be metaphysical relativism in the metametaphysical literature.


Enterprise software is just a shadow of the ideal software


And enterprise developers are chained in a dark cave building it from projections of the real thing. Fitting metaphor! 8-P


Definitely agree with the author on this one in the general sense of programing is an act[1] of defining ontologies and programmers who are aware they're doing this can be more effective. Likely because doing anything deliberately is more effective.

What I wish he touched on is indiscernibility of identicals. That is, drawing a comparison between the idea that we can perceive two object having the same color that have two wildly different spectral distributions we can, also have two objects that are indistinguishable based on identical relations.

"Where does 'green' occur?" is a perfectly valid question for green objects. If we insist that green is an essential characteristic of the object, then why is it that one object emitting 525nm light and another emitting both 450nm and 575nm light are both the same color? It would seem as though green isn't an essential characteristic of the object and instead it's a characteristic of perception. Ie: green objects are perception-interchangable.

Similar to perception-interchangability is duck typing. Ie: if a thing is in all ways that matter, perceived the same as another, then they can be substituted. Though one does have to rather careful about what actually matters lest they find themselves in a plucked chicken scenario[2] with someone trying to point out the metameric folly of comparing them to men.

1. among others

2. https://www.worldhistory.org/Diogenes_of_Sinope/




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: