There have been so many debates as to what dinner is and when it is and all that, I finally got fed up tonight and decided to settle the matter once-and-for-all. What follows is the Hitchhiker's Guide to Dinner...or something like that anyway.
First off, if you have 42 of anything in your food, whether it be molecules or atoms or subatomic particles, you can sell it on eBay for a few million dollars.
The basic definition of dinner is the "chief meal of the day" according to all sorts of dictionaries out there. Therefore, this means that whenever a person feels fullest, they have had dinner. So, if, at the time most people have breakfast, a person feels fullest after, they have had dinner. Universally accepted are the definitions of breakfast, lunch, and dinner.
However, if dinner is had at the time of breakfast, this probably means the person stayed up until 5 and missed breakfast and lunch. That's 5 a.m., not 5 p.m. - just in case anyone needed clarification on that. Remember - this is a software developer blog...developers are kind of crazy like that.
Of course, it is perfectly conceivable that dinner is the largest meal that someone would eat in the morning. This makes the other two meals lunch and supper respectively. Someone on a diet who only eats in the morning is eating dinner AND has a dehydration problem (almost all diets directly/indirectly call for a drastic reduction in fluid intake - causing huge health issues later on).
For people who eat constantly (e.g. snacks), they never have a definitive time for dinner - the whole day is dinner. Such people will eventually have enough cushioning, others could sit on them thinking it was not a living object. (The secret to losing weight is to stop eating all snack foods and eat two good-sized helpings of vegetables at lunch and supper - oh, and corn kernels and peas are not vegetables - corn husk and pea pods are, but most people don't eat those).
For normal people, dinner is either at noon or in the evening at roughly 5 or 6 p.m. Developers are not normal. Developers tend to eat whenever it is "a good spot" to stop coding or their stomachs are growling so loud it can be heard 50 feet away. That "good spot" tends to show up around 2 a.m.
Of course, now given the weird nature of developers, it is quite conceivable that some developers have dinner when people have breakfast, lunch at noon, and breakfast when others have dinner in the evening. A completely inverse order from the norm, and completely normal at the same time.
Sometimes even I eat meals in strange orders. It was not too long ago when I ate lunch first, then breakfast, and then dinner for a change of paste...uh, pace. Of course, I'm strange to begin with, so this is perfectly normal.
In conclusion, whenever you are thinking about dinner, it should be eaten because it provides quality time to puzzle over that problem or talk with people or whatever.