Hackathons are not meant to make production ready code, or even "elegant" code. It is meant to be a hack - a project where decisions are made in favor of speed or elegance.
Hackathons don't generate code ready to ship, but that does not make it nonsense. They are meant to create "sketches" of programs. Sketches are created to convey an idea, and solidify the imagination. They are not the end product themselves or are they the basis for the end product. They are instead an aid. Similarly, whenever I hack and decide that I actually want to pursue the project, I start from scratch. The hack helps refine the design and architecture of the project much more than simply thinking about the project.
disclosure:
I'm an officer of the Hackers@Berkeley club in UC Berkeley. From what I've seen, hackathons are when students really step out of their comfort zones and learn new skills to create innovative projects. Great things have come out of them. Once in a while, those hacks even become the sketches for new startups.
Hackathons don't generate code ready to ship, but that does not make it nonsense. They are meant to create "sketches" of programs. Sketches are created to convey an idea, and solidify the imagination. They are not the end product themselves or are they the basis for the end product. They are instead an aid. Similarly, whenever I hack and decide that I actually want to pursue the project, I start from scratch. The hack helps refine the design and architecture of the project much more than simply thinking about the project.
disclosure: I'm an officer of the Hackers@Berkeley club in UC Berkeley. From what I've seen, hackathons are when students really step out of their comfort zones and learn new skills to create innovative projects. Great things have come out of them. Once in a while, those hacks even become the sketches for new startups.