“Language is by its very nature a communal thing; that is, it expresses never the exact thing but a compromise—that which is common to you, me, and everybody.” —Thomas Ernest Hulme, Speculations

Writing about writing

There’s so many things to write about it just maddening. But, it still seems to be tough to pick out a topic.

This post will be about writing. Cuz’ y’now, I’m doing it right now and it’s definitely something worth writing about.

Writing things is important to people that are growing. It forces perspective and clarification and it lets that crazy voice in your head loose so you can see what it’s doing.

Writing poems in Computer

We normally think of writing/expression as something that is done in our native language. But the truth is that writing code can be every bit as expressive and creative, if not more so.

When we code, we express ourselves to a computer and give it instructions, but at the same time we are writing a message to other developers about our thought process on the problem that is being solved and also about how the instructions to the computer should be phrased.

We strive to write our code in a way that is readable and pleasurable to the reader.

Are you really who you think you are?

Well, the above is not actually hard and true. There are many coders who don’t really care what the code looks like when you try to read it. They just care that it works and gets the job done.

Confession: I was (and still might be) one of those coders.

One of the most important habits that Flatiron School teaches is how to write beautiful and readable code while also making it functional and robust. It should be a pleasure to read it. At this point we all take for granted that this is something important, but I think that it is definitely not always the case with all developers, or even languages (ahem, ahem, javascript).

I love the fact that we are learning Ruby first. Ruby is a beautiful and poetic language, it’s truly a mix of English and Computer and allows a great degree of stylistic freedom.

What about our great Human Languages?

If you’ve witnessed two people who speak different languages try to communicate, you can start to appreciate how difficult it is to create this delicate balance that we are going after.

I’ve been privy to conversations in Spanish that had a disturbing amount of English thrown in, which resulted in a messy Spanglish that really only got by through hand motions and multiple repetitions.

I think my point is that we can view code as a new language, spoken to computers and we have the choice to write in ugly prose or write it as sublime verse.

Until I started with code, I had no access to poetry. But after seeing the beautiful things people can write, I believe that we as coders are the next generation of poets. And we are doing something that hasn’t been done ever before, we’re writing poetry in two languages that can be understood by two different species.

Coding is a high form of creativity

Programming and coding are really outdated terms for what we do. All the terms used to describe what developers do are misleading.

I remember having this idea of a coder as someone who just sits staring at a screen all day and memorizes different commands to give computers. To most non-coders this is probably a pretty accurate picture of what we do.

We should be called something more along the lines of universal language architects.

Every time we write a program, we are taking two different languages and making something that everyone can understand.

Let’s strive to make our code as poetic and beautiful as possible and write it in a way that connects and speaks to other developers through our code.

Future Topics

Here are some of the things that I would like to write about in the future:

  • Enumerable.each_with_object and .index
  • Random Topic Generator (gets every page title from the Ruby Docs and selects one at random)
  • Getting started with static sites on Jekyll (this blog)
  • Why you should start using Markdown today
  • Useful Tips and Tricks and keyboard shortcuts
  • Writing a Slack Integration
  • Doing interesting things with Markov Chains
  • Cool iterators that you didn’t know about
  • Top 5 gems that can save you time
  • Automating every day tasks
  • Getting started with Markdown
  • ActiveRecord commands that fire SQL vs ones that don’t