|Archive Cast Forum RSS Books! Poll Results About Search Fan Art Podcast More Stuff Random Support on Patreon|
Puppy hiatus! Reruns daily; new comics restart 1 January 2019
Poll ResultsPoll 440: When you write computer code, what is usually your second highest priority?
Total votes: 4391
I was prompted to post this question by an incident that occurred at work recently. We have a mailing list where people send in their software problems so other staff with the right knowledge can help. I posted a question asking how to do something in some programming language (Python, if you're curious). One of the responses I got back included the comment that I had some serious issues with my code design. My response was that I was employed as a researcher, so my priorites when writing code are very different to those of software engineers.
My first priority is that the code I write does the right thing - it gives the correct answers. I thought that would be the first priority of anyone who writes code (but I guess not from the people who answered this question that it's their second priority). My second priority - by a huge margin - is that I get the code written as fast as possible.
Much of the code I write is only ever going to be run 2 or 3 times. It's not going into any sort of production system where it needs to handle strange inputs, or fail gracefully, or be easy for users to understand, or be easy for even me to understand a month from now. It doesn't need to be efficient as it runs. If it takes 10 minutes to run, that's fine, even if it could be optimised to be run in a fraction of a second. Because the critical thing in my job is that I get the research done, then move on to the next problem. If it takes me an hour to write code that takes 10 minutes to run, that's twice as good as spending two hours and 20 minutes writing code that does the same thing in a second.
I realise many, if not most, of the people who write software have different end goals, and thus different priorities. So I was inspired to post this poll to see what the breakdown was.