4 ms·
Picture a writer. You've seen him countless times in tv shows and movies. Brow furrowed, pencil gripped tight between teeth, hunched over a typewritter, tearing
by angrycoder 14y ago
Picture a writer. You've seen him countless times in tv shows and movies. Brow furrowed, pencil gripped tight between teeth, hunched over a typewritter, tearing pages out and throwing them into an overflowing waste basket, staring at the ceiling praying for inspiration.
Picture a developer. Brow furrowed, hunched over a keyboard, the room is dark but he glows from the light of the monitor, a pile of empty mountain dew cans littering his waste basket, slamming his fist on the desk in frustation.
Creativity is noticing the absence of something and knowing how to bring from the void into reality. You sketch it. You poke it and prod it. You shape it until it is just so. You love it until you hate it enough to call it done.
Sounds a lot like coding, at least if you are doing it right.
Please, learn how to code. Learn how to draw. Learn how to think. Learn how to write. Learn how to solve problems. Learn how to do everything until something sticks. Not until you find something that you 'love', but until you find something that you just can't not do. And when you grow tired of it, do something else.
- sliverstorm 14y agoI don't think you can compare coding and writing so closely. I don't know about you, but I've never thought of coding as involving much creativity. Or is your point that good writers and artists and such are not actually being creative?
- Nav_Panel 14y ago>I've never thought of coding as involving much creativity Truly? Programming requires a whole lot of creativity (sometimes enough to sap it from your other creative endeavors). Not necessarily in the part where you write the if, else, for and while stuff, but the part before that - when you're figuring out what you actually want to DO. I've spent hours simply thinking about the best algorithm to use for a task. Sitting there with a notebook, sketching different possibilities over a simple example, thinking about its algorithmic complexity and whether there's a way to do it better. Considering what data structures I need to implement it, and the trade-offs between those choices. Whether I might just need to start over altogether (and I have; on some of the more challenging algorithm assignments, I've gone through 4 iterations of implementation before I hit one I was happy with). You might call that engineering. But, the act of actually COMING UP with new algorithms and implementations that might solve the problem? That's creativity. And the harder the problem, the more it takes to solve. Maybe it's just that I'm still a student, doing some projects on my own and doing a lot of homework assignments. I don't know what kind of coding you're doing, but if you can do it mechanically, without requiring any creativity whatsoever, then it doesn't sound like a very good use of your time.
- eCa 14y ago> I've never thought of coding as involving much creativity. I do. In both writing (drawing/sculpting/whatev) and coding you have something based in reality, that you transpose into you mind and then create another reality with. In writing you may have something you have experienced, in drawing you might have an object in front of you, in coding you have a non-computer-based system/algorithm that you need to support. The better you are at imagining how to best support the real life system, the better a programmer you are. That said, I consider programmers more like craftsmen; but as in all crafts, some artistry usually slips in.
- coldtea 14y ago>I don't think you can compare coding and writing so closely. I don't know about you, but I've never thought of coding as involving much creativity. You know that you are in the forum created by the "Hackers and Painters" guy, right?
- claudius 14y agoIt depends on the ‘level’ at which you employ this creativity. To me, neither coding nor writing requires much creativity at a very low level (think inside a function or a paragraph), but it does require creativity as much as the ability to analytically extract suitable abstractions at a higher level. That is, once you created (using your creativity) some sort of flow-chart for either your programme or your story, you will be able to fill in the remaining bits using strictly analytical thought without much creativity: Once you created pseudocode for Dijkstra’s algorithm, you don’t need much creativity to implement it. Similarly, once you set up the story of your genius cheating the devil, you don’t need much creativity to fill in the gaps. The quality of this gap-filling will still greatly depend on your skill as a coder/writer – making the best use of the language you have – but this is not a necessarily a creative process, unless your language is ill-suited to the task and you need to create it on-the-fly, c.f. Shakespeare or K&R. Neither Goethe nor Thomas Mann made up many words, but only used their tools at a very high level and are still considered among the best writers in the world. Similarly, Linus didn’t invent C, but he used it to build a very complex system (or randomly ended up at one by continuous evolution, though that’s another discussion). The above obviously only applies to writing/coding, and I would assume that the same goes for composing – even more so, as you can choose a particular set of rules (harmonic, atonal, you-name-it) and each individual note follows from the previous with little choice. Bach’s Well-Tempered Clavier is probably a good example for this. On the other hand, at least to the uninitiated (read: me), painting and sculpting appears much more ‘creative’ and incomparable to coding/writing/composing.
- alaskamiller 14y agoYou learn grammar and syntax to compose sentences telling a machine that computes to do something. Over and over again.
- rdouble 14y agoProgramming these days isn't really like what you describe, unless perhaps you are an indie game dev. Most software development nowadays requires extensive collaboration with other programmers, interacting with a lot of non-programming people and building on top of existing systems, rather than creating something from scratch.
- DoubleCluster 14y agoThe creativity comes in when you need to decide on the most efficient way to do something. And you are always creating something from scratch, otherwise you could just reuse the existing solution.
- pnathan 14y agoIt is for me, and I do a lot of collaboration, interaction, and system gluing. But it's more fun on my own at home. :)