Differentiation Using First Principles