Why is an object not defined as identity morphism? I've seen that there was a single-sorted definition of a category. In some ways, it seems more understandable than the original definition.
I don't know much about category theory. But I would like to know how each definition is useful.
 A: Your question is good, as well as the answers.
I'm wondering about a first undergraduate course in General Topology, or Measure Theory, or Group Theory, where one would avoid any reference to sets with structures, and everything would be said in terms of morphisms... can you explain even Linear Algebra from scratch with just linear maps and never mention vector spaces nor of course vectors themselves? probably, since a vector in E is the same as a linear map R->E, or in other words, a linear map composable on the right with (the identity of) E and on the left with (the identity of) R. Fun!
A: They're so automatically interchangeable that it doesn't really make sense to say that one is more useful than the other except in minor ways: if we really care about "symbolic parsimoy" then the object-free approach has a minor advantage, while if we care about matching informal discourse then objects are generally essential (per Andreas' comment).
Ultimately I'd say that the second point wins out - it's hard to beat intuitive clarity if the cost is so minor. But since the translations in both directions are really so trivial, you can use whichever one you want. And to be fair, it's not the case that the two-sorted approach is always more intuitive - when thinking of a group as a category, having to consider an utterly pointless object is a bit weird at first. (EDIT: Simon Henry's comment points out a more convincing example of this, where the two-sorted approach results in meaningfully annoying technical overhead.)
A: A two-sorted definition is really annoying for certain inductive definitions of a category/families of categories (or maybe an AST representing a category, not yet a category.) In pseudo-Coq
Inductive ast: ast -> ast -> Type :=
| id A: ast A A
| compose A B C: ast B C -> ast A B -> ast A C
(* ... *)

is obviously circular.
Not an expert on these things by any means just ran into these kinds of problems when playing around myself.
