The reason I got into programming in the first place was to be able to build my own things. I had an itch to scratch and I went from there. I created something out of nothing with nothing more than my mind, a terminal, Sublime Text 2, and Heroku. Those of you who know how to program understand the feeling of being able to build any idea you can think of. For those of you just starting to learn, that feeling is waiting to come out and you just have to find it.
Programming — and the Web for that matter — is unique in that very few other forms of creation require zero raw materials. Want to build a house? You need wood, mortar, brick, tools, and so much more. Want to build a car? You need plastic, steel, glass, rubber, and so on. Want to build a smartphone? You need glass, metal, and many tiny parts. Want to paint a picture? You need a canvas, paint, brushes, and more. Programming is different. Programming requires only your ability to learn, stay persistent, and to be hungry to create something.
I guess that’s why I’ve always loved building things for the Web. In my mind it’s so much easier than building anything for the “real world”. The techniques are all fairly simple to learn, ideas are relatively easy to test, you don’t need any raw materials, and you can do it all with no additional costs other than your time.
When I go about thinking through an idea I want to program, it’s like starting to write. It’s all about getting the first words on the page. Getting into the flow. Creating something out of nothing can be scary. You can feel the weight of an empty “rails new” project and not know where to begin. But any experienced programmer will tell you that starting with an untouched project is often more exhilarating than working on legacy code. You get to start from nothing. You get to shape the foundation.
If you’re like me, when the next person asks you why you learned to program, tell them that you did it because you like making things, and the Web allows you to build whatever you can think of out of nothing. Then smile and tell them “no,” that doesn’t mean you want to build their next Big Idea.
I think that’s a given.Cheers!and also wanted to know how I can continue following and participating in your articles .. and would like an opinion on my site ..
Not quite from nothing, is it? You want from nothing, write an assembler in binary. Oh, wait, you don’t know how. So there’s goes the “anything”, too
Hah. Point taken. Kind of. I think it’s silly to presume that you can’t use the tools around you to build something from nothing.
I think that’s a given. There’s absolutely nothing is made from scratch or “nothing” by humans.
But I understand what Spencer Fry meant by “nothing”.
The raw material or rather inputs required to process and make the outputs, are mostly if not all, in our own minds. Especially when you compare that with other outputs we built or developed in real world (and outputs that we valued as society too).
As I take it, the conveyed meaning of ‘nothing’ was not ex nihlo, but rather ex proxima nihlo—from next to nothing or from very little. Encouraging little article @spencerfry:disqus, well put.
Yeah, this is where genius starts 🙂 church puzzles
I am in the process of learning PHP and when I actually create even the smallest of PHP code snippets I feel wonderful. it’s so odd stepping out of the completely static or CMS powered website development techniques and venture into the world of dynamic website development. All I can really say is that I am ready for that point when it all clicks in my head and the wave of never ending knowledge just rushes over me.
If you are learning about PHP, you might consider Laravel framework. It makes development easy and enjoyable with elegant syntax.
That’s the feeling I’m talking about. That feeling where you can build whatever you can think of just by putting together programming syntax from your brain… and Google. 🙂