Meanwhile, I wonder how does one differentiate $f(x,y)$ by first principles... The trouble is that in higher dimensions, the possible paths are no longer just +h or -h, but all possible $C^0$ functions $f$ and thus first principle might look something like...:
Let $\vec{f}(h)$ be the directed version of $f$ parametrised by $h$. Then
$$f'(x,y)=\lim_{h\to 0} \frac{f(x+\hat{\frac{d\vec{f}}{dh}}\cdot \hat{x},y+\hat{\frac{d\vec{f}}{dh}}\cdot \hat{y})-f(x,y)}{h}$$