What is a language?

What exactly constitutes a language? Or a dialect, for that matter? From my own observations,