
These two blocks differ only by the placement of a “{“, yet one of them is wrong.
Why are software engineers so specific? Imagine a programmer is writing a program called a “shell script.” They have to choose one of the following lines:
PATH=${DIRT}${GRAVEL} PATH=${DIRT};${GRAVEL} PATH=${DIRT}:${GRAVEL} PATH= ${DIRT}${GRAVEL}
Each of these is only one character different than the others. However, in a program, each of these lines does something drastically different. Even the placement of a space can change the meaning of a program!
This is just one example of where software engineers have to be incredibly specific with what they write. Do these kinds of problems attract specific personalities to computer science? Or is it that people with these personalities end up doing well as programmers?
I don’t know. But I think that we engineers spend a good deal of our time analyzing tiny differences. Sometimes this exacting mindset leaks into other parts of our lives.