It seems that category theory is the new hype -- almost nobody actually understands what it is about, or, more importantly, what it is for. Let me tell you what it is for -- it's an important technical tool in mathematical research, which gives you new, coherent language, sometimes provides you with an additional insight in the structure of the stuff you are researching and makes it easier to notice and classify similarities between different kind of structures. Unfortunately, it is almost completely useless and uninteresting by itself -- because, well, what's interesting in objects and arrows anyway?
What make category theory interesting are its connections with various field and math and computer science. That's why introducing "category theory for dummies" makes completely no sense -- it's like following Erlangen program to teach kids about points, lines and circles on a plane. The need and the significance of Erlangen program arise when you learn about many different geometries, notice what they have in common and what they do not, and try to find out what the geometry is all about. Without it, the Erlangen program is all about abstract bullshit, and the situation is completely the same with category theory. But nobody writes or posts Erlangen program for dummies on HN. Why? "General theory of everything" hype, that's why. Erlangen program is "general theory of geometry", but geometry seems a bit pale when compared to everything.
If you really want to understand the significance of category theory, then learn set theory, then algebra, then topology, then algebraic topology and algebraic geometry, or take abstract programming languages theory path. If you don't care about all this stuff, because you're hyped on the category theory, then you're missing the point -- it's like you wanted to learn about algebraic topology, but did not care about algebra or topology.
Also anything that has "for dummies" in title should invariably remind you of Norvig's essay (google Peter Norvig 21 days).
Category theory more than just a language for classifying and organizing existing results. It is the mathematical theory of universal properties (http://en.wikipedia.org/wiki/Universal_property).
In category theory one studies what structure can be captured by universal properties. That is one tries to characterizes structure uniquely by its properties, rather than giving a concrete construction, as is common in set theory. The emphasis on universal properties leads to a different way of thinking and mathematical taste. The study of what one can do in general with universal constructions is thus interesing in itself, though perhaps not for dummies.
Anyway, what I want to say is that while category theory has been overhyped in the context of Haskell, for example, it is not true that it is "completely useless and uninteresting by itself".
sometimes provides you with an additional insight in the structure of the stuff you are researching and makes it easier to notice and classify similarities between different kind of structures
I just tried to avoid the notions which average HNer is unlikely to know, and understanding them takes too much time.
Anyway, I have yet to see a deep and nontrivial result in a pure category theory, and mind you, I have the Mac Lane's book in front of me. Most of it is easy symbol juggling which only result in something interesting when you think what it means in context of concrete structures.
I've found dipping my toe into category theory in the course of writing Haskell libraries has been very fruitful and I don't have much of a math background.
For instance a few weeks ago I noticed a useful property of some objects in an concurrent actor model library I am working, and after a bit of googling saw what I had were contravariant functors. Of course there's a package on hackage defining this class and implementing some interesting properties that I hadn't realized before.
I would never claim to know category theory, but I think I have an intuitive understanding of some objects from the field and it has helped me write better code.
I recently used category theory to clarify my thinking on a difficult type-conversions problem I had in some C++ code that needed to generically handle many different combinations of const/non-const and value/reference/pointer to another. It is useful for programming, and I don't see why you're so negative on introductory texts existing to teach just category theory. To use your example specifically: in fact I do not care about set theory, algebra, and topology, I just wanted to know whether it would be useful for my specific problem. So I read Pierce's Basic Category Theory for Computer Scientists, and found it useful.
This insistence that if you want to learn W you must first spend N years learning X, Y, and Z is the kind of elitist bullshit that puts laymen off learning abstract math. If you can't explain a subject to someone outside the field, can't explain it without telling them to go spend a few years of study before they talk to you, then you simply do not understand your subject.
This insistence that if you want to learn W you must first spend N years learning X, Y, and Z is the kind of elitist bullshit that puts laymen off learning abstract math. If you can't explain a subject to someone outside the field, can't explain it without telling them to go spend a few years of study before they talk to you, then you simply do not understand your subject.
It's a very romantic, but totally untrue point of view. Sure, you can say that topology is a study of shape, algebra is a study of structure, algebraic topology is a study of shape using algebraic or combinatoric means, and homological algebra is, well, abstract nonsense without any connection to real life problems, notions and intuitions, but yeah.
Unfortunately, this does not give you any more insight into these subjects than say, describing solid-state physics as "theory of rigid matter" or neurobiology as "theory of brain". What's more, when you do s/abstract math/modern physics/ in the first sentence of the quotation, it sounds really silly: how can you, for instance, study solid-state physics, if you have no idea about electromagnetism, crystalography, or quantum mechanics? Sure, you can pick up a textbook on solid state physics and read it, but you won't understand anything without the background the author assumed you have. Seriously, if you think that you don't need to learn algebra or topology before algebraic topology, pick up a Hatcher's book[1], read first chapter as many times as you like, and, if you make it that far, which I seriously doubt, try to do any of the exercises at the end of it -- after reading first chapter, you're supposed to be able to do at least some, if not all of them. Mind you, Hatcher's book is considered to be a gentle one, and if you don't believe me, try May's lecture notes[2].
To sum up, most of the time you can explain laymen in vague terms what the field is about, more or less (but not always, as is the case with, for instance, homological algebra). However, you cannot explain what you actually do in these fields, because, well, your layman will just not speak language you'd need to use -- I have yet to hear how does one explain what is a derived functor to a layman, you seem to be interested in category theory, why don't you try?
I'm happy with the fact that world and science is not simple as you describe -- if it was, all the smart minds from ages past would have already discovered everything, maybe leaving only fruits at the very top of the tree. Now, they only picked the low hanging fruits, and I have a chance to continue their work by standing on their shoulders. Actually, most of them were already standing on the shoulders of other scientists, and because of that, you have to spend more years climbing.
For a not so short, and way scarier introduction: Physics, Topology, Logic and Computation: A Rosetta Stone[1]
However it doesn't shy away from the fact that the sets of all sets is not set, and therefore we need a higher level of abstraction to talk about these non-set things. The same, of course, applies to other set like structures:
All sets do not form a set, but form a category
All monoids do not form a set, but form a category
Out of curiosity, I did some search on Category Theory popularity on Google's "books ngrams" and found it peaked around 1990 and started picking up again in 2000
Which college? Note that category theory is heavily used in topology but homological algebra is used in abstract algebra (group theory). See http://en.wikipedia.org/wiki/Category_theory
I think category theory is rarely essentially used in a first or second typical course on some topic in math. Once in a while if students can be assumed to have had a course in category theory, then it is more elegant and efficient e.g. simply to
show that some functor has an adjoint hence this or that limit is preserved, but to me category theory, except if it is the main topic of interest, is useful because it eases communication and allows you to quickly get some understanding of a construction that might look very "local" to some category that you are not familiar with. Unlike the person who created the cited notes, I think it actually can help understanding the things under study or the associated constructions, assuming sufficient command of category theory. I remember when I first understood the definitions of things like products, coproducts, push-outs and pull- backs etc. in my last year as an undergraduate. Suddenly, for many of the constructions from topology and algebra it became easier to remember them, how they were constructed and which properties they had. To me it is kind of like with design patterns, mainly I don't use them as tools picked up from my tool box when solving a problem, rather they simply allow me to communicate more easily and gives me another level of abstraction where I can reuse thinking I have done earlier.
Why? Would you say the same thing about, say, ergodic theory, languages, automata and computation theory, analytic number theory, harmonic analysis, bordism and cobordism, algebraic K-theory, de Rham cohomology, Diophantine approximation, model theory and theory of forcing, descriptive set theory, algebraic geometry, representation theory... I could go on like this forever.
People tend not to know that most of the stuff a math graduate learned was already known by 30s, and category theory was only starting to become anything close to popular in 50s - 60s. People also tend not to know just how much math research have been done, especially in last 70 years.
What make category theory interesting are its connections with various field and math and computer science. That's why introducing "category theory for dummies" makes completely no sense -- it's like following Erlangen program to teach kids about points, lines and circles on a plane. The need and the significance of Erlangen program arise when you learn about many different geometries, notice what they have in common and what they do not, and try to find out what the geometry is all about. Without it, the Erlangen program is all about abstract bullshit, and the situation is completely the same with category theory. But nobody writes or posts Erlangen program for dummies on HN. Why? "General theory of everything" hype, that's why. Erlangen program is "general theory of geometry", but geometry seems a bit pale when compared to everything.
If you really want to understand the significance of category theory, then learn set theory, then algebra, then topology, then algebraic topology and algebraic geometry, or take abstract programming languages theory path. If you don't care about all this stuff, because you're hyped on the category theory, then you're missing the point -- it's like you wanted to learn about algebraic topology, but did not care about algebra or topology.
Also anything that has "for dummies" in title should invariably remind you of Norvig's essay (google Peter Norvig 21 days).
Also my old comments about category theory on HN: http://news.ycombinator.com/item?id=2713315
http://news.ycombinator.com/item?id=2713510