3 ms·
The difference between the set theory and category theory is the same as between the philosophy of Spinoza and Hegel. The first is grounded in reality, while th
by dschiptsov 10y ago
The difference between the set theory and category theory is the same as between the philosophy of Spinoza and Hegel. The first is grounded in reality, while the second one is an abstract metaphysics bullshit. Developing some abstract vocabulary to describe spherical horses in vacuum contribute nothing to programming, which is a discipline of describing and modeling some aspects and processes of reality.
Knowing where to stop in a heuristic-guided search is the most difficult part. In my opinion one should stop after realizing that the subject becomes too abstract and too academic and cease to be a tool of clarification.
Let's say that it has something to do with the pragmatism of Ayn Rand, Quality of Robert Pirsig, and to the general scientific method of removing bullshit, dogmas and nonsense in order to let the truth standing.
- lliamander 10y agoAbstract algebra is certainly abstract, but it is far from "metaphysical bullshit". Abstract algebra is just the precise articulation of patterns that we see across different mathematical formalisms. Now, the fact that it is so abstract does mean that your average programmer won't use it on a day to day basis. I'm certainly not going to argue that it is the most important math to understand. However, we are finding that there is uses for it. Not just in a "oh look, I can describe my code using abstract algebra, nifty" sort of way, but in a "knowing this was essential to finding the correct solution" sort of way. For instance, the folks working on .NET's LINQ knew they were implementing monadic comprehensions; they just had the good taste to not use the word "monad". Furthermore, it seems that having an understanding of abstract algebra is essential to making a distributed real-time analytics engine[0] [0]https://www.infoq.com/presentations/abstract-algebra-analytics#mainLogin https://www.infoq.com/presentations/abstract-algebra-analyti...
- dschiptsov 10y agoOh, monads.. sooner or later they will be mentioned.) Actually it is a canonical example of abstraction for the sake of having an abstraction, which only increases confusion. Monads make no sense in a non-lazy language. http://karma-engineering.com/lab/wiki/Monads2 http://karma-engineering.com/lab/wiki/Monads2
- mbrock 10y agoThat blog post is a mean-spirited rant and mostly lacking in substantial argument.
- lliamander 10y ago> Oh, monads.. sooner or later they will be mentioned. Yep, monads :). > Actually it is a canonical example of abstraction for the sake of having an abstraction, which only increases confusion. I intentionally brought them up with a concrete, real-world example where they were useful. > Monads make no sense in a non-lazy language. A more accurate statement might be "monads make no sense in a non-lazy evaluation context". There are plenty of cases when working in an otherwise strict language you will compose a series of computations over a lazy data-source. For example: you want to process a potentially large series of rows coming from a database without blowing through RAM. You can solve this problem on an ad-hoc basis, but as far as I understand it, the folks working on LINQ wanted to develop a declarative, readable, sql-like syntax for creating/composing such computations in a way that would work generically across data-sources. The question is, what is the pattern of operations and constraints that is common to all of the disparate data-sources that can be used in this way? The monadic functions + monadic laws is a precise (if arcane) description of those operations and constraints. Using monads is not the only way to structure computation in the context of lazy evaluation, but it is one that is relatively well understood and worked well with the goal of being "sql-like" because SQL queries can be modeled as monadic computations.
- mbrock 10y agoHaha! How is category theory "metaphysical"? Your value judgments in this case actually seem dogmatic and nonsensical... which makes sense if it's derived from Ayn Rand.
- dschiptsov 10y agoLiterally. An abstract category is an abstract abstraction. That's the realm of metaphysics. Ayn Rand was a student of the classic Greek philosophy, nothing wrong with her.
- mbrock 10y agoLet's look at Wikipedia's definition. > Metaphysics is a branch of philosophy concerned with explaining the fundamental nature of being and the world that encompasses it. Metaphysics attempts to answer two basic questions in the broadest possible terms: > Ultimately, what is there? What is it like? Does category theory have anything to do with that? No.
- AnimalMuppet 10y ago> > Ultimately, what is there? What is it like? > Does category theory have anything to do with that? No. I could argue that category theory is claiming to answer those questions for mathematics. (So is the axiomatization based on set theory.)
- mbrock 10y agoMaybe some mathematicians think like that, but many don't.
- lliamander 10y agoI have a great deal of respect for Rand and her ideas, despite not agreeing with them. However, her status as an intellectual heir of Aristotle is highly debatable. She's as much a disciple of Nietzsche as anyone. Meanwhile, metaphysics is a subject that stems directly from Greek philosophy: specifically the subjects addressed in Aristotle's work Metaphysics (literally "the book that came after Physics"). Spinoza's theory of monism is itself a metaphysical theory in this sense. Perhaps by metaphysics, you mean to certain metaphysical theories, such as the Idealism of the 18th century? edit: missing punctuation