I like the idea of these "CT for X" books/resources. Sometimes when I want to read about category theory, it opens with "you should perhaps have a background in some abstract mathematical branch/theory". OK, I choose abstract algebra to read about first[1]. Then that intro recommends that I already know linear algebra...
If I had a time machine, I would definitely have taken more math courses at uni.
[1] And yes, probably biting over even more than I could reasonably chew in the process, compared to 'just' reading about CT.
As a mathematician, not a computer scientist or programmer, I think that one of the common mistakes that people make is to think of category theory as an end in itself. For me, the point of category theory is not its study on its own (though there are people who do that!), but rather its capability to serve as a unifying language for a broad class of examples.
This is why, I think, many textbooks suggest prerequisites (not that you argued that they shouldn't!); not so much that category theory can't be learnt without them, for it certainly can (it is actually very simple), but rather that it can't be understood. Studying it on its own seems to me very much like trying to learn a programming language without having any problem that you want to use it to solve.
When CS people use category theory, they're often looking for a framework which allows them to build analogies between the lambda calculus (via a cartesian closed category) and various categories for things like mathematical logic, posets or probability. And category theory is a very natural framework for thinking about these connections.
So it would be useful to have category textbooks for CS folks which spent less time on topology, and more time on familiar categories.
(Also, I've never quite figured out the motivation for adjoint functors. I can understand the definitions, but I don't understand why adjoints are useful. The motivating examples almost always involve unfamiliar categories.)
> So it would be useful to have category textbooks for CS folks which spent less time on topology, and more time on familiar categories.
Agreed, and I should have been clearer in my post above that I was just airing some thoughts on category theory rather than meaning to imply anything negative about the importance and usefulness of X-flavoured viewpoints on category theory for various values of X (including "computer science"). With that said, don't knock topology! See Baez and Stay's 'Rosetta stone' article http://arxiv.org/abs/0903.0340 for a plethora of connections between such seemingly abstruse concepts as topology, and computer science.
> (Also, I've never quite figured out the motivation for adjoint functors. I can understand the definitions, but I don't understand why adjoints are useful. The motivating examples almost always involve unfamiliar categories.)
They just show up everywhere, adjoints. Often you'll be able to then use their uniqueness and limit preservation properties. Typically CS style category theory is a little bereft of categories to make maximal use of their appearance, but they're there.
I gave a talk at LambdaConf this year mentioning that Free/Forgetful adjoints are a great way to understand free structures. There's also the fact that for all/exists arise as adjoints and you can use this to draw immediate conclusions like product preservation.
That is, from my point of view, exactly the right frame of mind in which to read about it; and it is very likely that, if you have a good textbook (which is by no means guaranteed!), you can ignore its talk of prerequisites, ignore its examples when they require prerequisites that you don't understand, and proceed by trying to understand what its definitions mean in the context in which you are interested.
(Of course, none of that is to knock the usefulness of targeted resources like this; obviously it can be helpful if you can use the whole of a book, rather than tossing out and re-creating parts of it on your own.)