I write messy code. I've been reassured recently as i hear scientists discuss the code they write. Even complex molecular modelling based on quantum mechanics is rendered with terrible code. It gets the job done, but it is messy.
One of the reasons I write messy code, is not because it is good - it is because I want to learn about writing messy code. The social process seems more important to me than the result. After all there will always be better software, better languages, and better code.
# The question
The question becomes: > How do we improve the quality and speed of writing this code over time. It is also about what we write, that is the meaning of the code.
# What we learn I learn about the slowness of writing messy code painfully. I learn about: - How difficult it is to find what I need. - How the mess grows. - How parts get lost and broken.
That is I learn about how writing code is like writing in wiki.
Most (good) coders do not do this. it is not an efficient way to write code. The languages they choose, and practices they follow seek to avoid these issues. I plunge in.
# Doubt I do often worry about this strategy. Perhaps I have become a hoarder? Saving my code. Perhaps I am overly fond of those records I listened to as a teenager, and resist the need to move on. But perhaps there is a reason in this madness?
Given a social process of law, and that all science (knowledge) and law is moving over to digital representations (in code) => then the social process of writing this code is all there is. It is everything.
# The solution perhaps
Git and Github shows us the way perhaps? But this is based mainly on the needs of coders, not the needs of the code - that is the general society that can and should participate in the writing of the code.
Github needs to be closer to wiki, and wiki needs to be easier to love. We need to be able to love the mess. In part the visualisation of the mess, the map of the mess and the quality of the representation of the parts we find: helps.
> When the search if beautiful, and the found results intriguing, then the journey of improvement motivates itself based on the joy of knowledge creation and discovery.
We see therefore to make our code literate. It should read like philosophy, and be told, like a great film. In short it should be poetic.