October 6th, 2024

On programming and poetry

The article discusses the parallels between programming and poetry, advocating for a poetic approach to coding that enhances clarity, maintainability, and expressive capabilities through deeper analysis and experimentation.

Read original articleLink Icon
On programming and poetry

The article explores the relationship between programming and poetry, suggesting that both disciplines share a commonality in their ability to convey complex experiences and emotions. The author, a seasoned software architect and poet, reflects on how poetry is often dismissed in programming contexts, yet many programmers identify with poetic expression. The piece argues that poetry serves as an efficient means of sharing experiences that are difficult to articulate, emphasizing that the essence of poetry lies not solely in beauty but in its capacity to communicate profound ideas succinctly. The author advocates for a more poetic approach to coding, where programmers consider the impact of their code on readers, akin to how literature is analyzed. This perspective encourages a deeper understanding of code as a form of expression, promoting maintainability and clarity. The author also highlights the importance of experimenting with coding styles and forms, suggesting that such exploration can enhance a programmer's expressive capabilities. Ultimately, the article calls for a shift in how code is perceived and discussed, advocating for a nuanced conversation about its literary qualities and implications.

- The author draws parallels between programming and poetry, emphasizing their shared ability to convey complex experiences.

- Poetry is presented as an efficient means of communication, focusing on the essence of expression rather than mere beauty.

- A poetic approach to coding is encouraged, promoting clarity and maintainability in programming.

- The article advocates for a deeper analysis of code, akin to literary criticism, to enhance understanding and expression.

- The importance of experimenting with coding styles is highlighted as a way to master expressive capabilities.

Link Icon 6 comments
By @yellowapple - 6 months
I had a feeling the author would be a Ruby programmer. It feels like the Ruby community exists in two wildly different camps:

- One like that of the author, where there's an emphasis on programming as an artistic/creative endeavor (see also: why)

- One that instead emphasizes seriousness and sternness, often coupling Ruby and Rails tightly at the hip

In both of the cases where I worked for Ruby development shops (one consultancy and one SaaS vendor), the dominant culture was very much the latter, and yet I always gravitated toward the former. I recall mentioning reading stuff like why's Poignant Guide to Ruby early in my career and getting responses from coworkers along the lines of "ugh, really?", and I was always left baffled.

By @adityaathalye - 6 months
Oh hey, a kindred spirit! Among other things, I find it oddly satisfying that zverok also mentioned APL in his post. Save for he being an actual poet and published author, and I not, we share similar sentiments.

The other dissimilarity is that zverok is having to wage actual war, which I can only imagine and maybe not even that, which I've alluded to in my post.

I wrote this some time ago:

As Lovely as a Tree. On the algorithm as a poetic form.

https://tblm.substack.com/p/as-lovely-as-a-tree

Discussed here: https://news.ycombinator.com/item?id=40688695

Excerpt:

Following any of these threads about the magic, art, craft, and imagination of code will certainly compel us to consider the subject of its beauty, and that of the algorithms within. Ink—old-style and digital—has clearly been spilled on the subject. Albeit, nearly not as much as on beauty itself. Bloodshed is another matter. The millennia-old field of algorithms has morphed into our not-even-centenarian field of computers; a mere newborn, eyes still closed, in the saga of the human condition. They are united not only by shared blood, but that of others spilled for and due to them. Increasingly so, as they permeate all of humanity's projects, projectiles, and pogroms, materialised as computer code. When it comes to that kind of thing, even one spill is one too many.

(edit: add more context)

By @cleandreams - 6 months
I'm a poet (published etc) and this was a treat to read. For me the parallels between coding and writing poetry are the iterative quality. As I work on my code I simplify, tighten, code share. I use expressive names, etc. I will think, "This is it!" and then discover the need for another iteration. With poetry it is the same.
By @svilen_dobrev - 6 months
Alistair Cockburn wrote about it long ago..

https://web.archive.org/web/20170620234716/http://alistair.c...

And yes, IMO software is very twisted way of communicating (knowledge and/or understanding and/or views) through time&space.. same as poetry :)

By @Towaway69 - 6 months
There was once a lovely project by Ishac Bertran called code {poems}[1]

The project involved collecting code as poems and publishing a collection of poems in hardcover. The final result is wonderful book of poems in the form of executable code.

Slightly off topic, but that’s my connection between poetry and programming.

[1] http://ishback.com/codepoems/index.html

By @FigurativeVoid - 6 months
I majored in English, but I am now a software engineer.

A few things that have held constant for me:

* Readability over cleverness

* The importance of having an outline (even if you don't stick to it)

* The importance of having something that you can work on. Nothing worse than a blank screen.

* Giving and receiving feedback constructively

* The importance of genre and conventions