Why Scientists and Engineers Must Learn Programming