When talking about programming, can the terms define, describe and specify be used interchangeably? Or is there a subtle difference?
I am making flashcards from the text I am using, and I find that -- when reviewing the flash cards -- I sometimes will say one of these words when the author uses the other. Is this a sophistication issue? Or am I okay in using the terms interchangeably?
For example, the front of the flash card said, "If the subroutine is a function, whose job is to compute some value, then the return-type is used to..."
And I said "describe the type of of value that is being returned by the function."
but the author said "specify the type of value that is being returned by the function."
(By the way, allow me to recommend the Anki flash card program. I've been using it for years, and it is great.)
If I said "Describe a bubble sort", I would something in a high level, generic way. I.e. "compare each element in an array to the one next to it, and move larger ones towards the end. Keep looping through again and again until you don't have to make any more swaps".
If I said "write some specs for a bubble sort", they may also include performance and memory requirements. They may talk about stable vs. unstable. They may talk about how it is called, what - exactly - it can sort...etc.
basically, "specs" are more specific.
There are only two hard things in computer science: cache invalidation, naming things, and off-by-one errors