From Wittgenstein to TensorFlow: The role of Domain Specific Languages and Language Design in Machine Learning