I am not a philosopher; I am an engineer with a reasonable grasp of mathematics. This question has been bothering me for a long time, and I have asked a variation of it to a mathematical community. While some people raised interesting points, others accused me of overthinking. So I thought I would come to the last people on Earth who would ever accuse anyone of overthinking - the philosophers :-)
We all have a very good intuition of what "straight" is. When we stretch a flexible, thin object, such as a piece of string, it becomes straight; and if it is non-elastic, it stops stretching precisely at the point when it becomes straight. As another example, if we want to go from point A to point B, we know that the most efficient way is to move along a straight line. And we certainly don't need anyone to explicitly teach us this principle - in fact, even rather simple animals can apply it.
In his Elements, Euclid provided the following definition and postulate for straight lines:
Definition: A straight line lies equally with respect to the points on itself.
Postulate: One can draw a straight line from any point to any point.
To me - and I suspect that most people would agree - this definition seems vacuous at best. It is essentially an appeal to intuition and does not really define anything.
If we move forward in history from a Euclidean to Cartesian system, we can now use the coordinate plane to define a straight line as a locus of points satisfying an equation of the form y = mx + c, where m and c are constants*. This is more of a definition than Euclid's, but at the end of the day, I still think it provides little more than the equation of the line that happens to conform to our experience of straight. The question remains: what is special about this particular line?
As an attempt at something more meaningful, we can try to define a straight line between two points as the path between them with the shortest length. We can certainly work with this definition mathematically, and from it derive the familiar Cartesian equation of a straight line. All well and good, but we must now look at the premises that we used to arrive at this conclusion. To begin with, what is this path length which we minimized? More likely than not, we have defined the length of a general path as the sum (i.e., integral) of lengths of infinitesimally small, straight segments making up that path. And we have defined the length of one such segment as being the Euclidean norm. But where did the Euclidean norm come from? From Pythagoras' theorem. And how did we prove that? Using triangles constructed with straight lines on a plane - which, incidentally, is another straight object: it is what we get when we stretch a piece of fabric, rather than a string.
Of course in mathematics, as several people have pointed out, we can define a 'straight' line very generally as the shortest path according to a given norm on a given surface. And if the norm happens to be the Euclidean norm, and the surface happens to be a plane, we get our good old 'truly straight' line.
But that still only goes a very short way in satisfying me. It seems like some sort of "introducing extra complexity" fallacy. I guess that the crux of my question concerns these "happens to be".
*Actually, we have already run into a problem here, because a Cartesian plane relies on (at least imaginary) straight lines, along with the concepts of length, parallel and perpendicular.