traditional programming vs machine learning