A huge 3rd category of programmers is entirely missing: those that don't care about abstraction at all, be it mathematical or linguistic. I think the priority for our industry is to get those on board, then we can discuss what tools for abstraction they should specialize in.