What is best for writing programs? (software engineering I think??)