Note that normal maps are still widely used in PBR workflows. The article doesn't mention them, but older renderers tended to use diffuse, specular, normal maps, and modern asset creation typically involves albedo, roughness/smoothness, metalness, and ambient occlusion maps in addition to normal maps for textures.
Heh; with mesh shaders and Nanite, we sort of can now. Whether older GPUs can render them is a different matter altogether though.
I find the second definition more intuitive and easier to visualize, while the first is more formal and algebraic. For example, using the second definition it's easy to visualize the pushforward T(V) (given a smooth map T) of a tangent vector V at p to another vector U at q = T(p): picture a curve through p corresponding to V mapped via T to a curve through q. That curve defines the pushforward U = T(V). This isn't a substitute for the algebraic definition of a pushforward, of course, but I find it helpful. (The same approach is easy to extend to the pullback of a 1-form.)
We've been in 'kind of can' territory for a long time in terms of hardware capabilities. We're just now writing the software to actually do it.