Re: Why do we like to program?
by almut (Canon) on Nov 09, 2008 at 18:39 UTC
|
The renowned psychologist Csíkszentmihályi coined the term
Flow for that special joyful state of mind that is
experienced with certain activities, characterized (in a nutshell) by a
dynamic balance of alternating successions between challenge and mastery.
(In particular, it's the transitions to mastery that provide for the
rewarding component, yet those could not occur without ever new
challenges.)
His theory has been applied to all kinds of activities (e.g. playing
video games),
to explain their fun (or even addictive) potential.
For me, it also applies rather well to programming activities —
at least to the intrinsically motivated, geeky ones. Ever new micro
challenges provide for sufficient opportunities of personal mastery:
just when you thought you got it working, the next problem pops up...
As the manifestation of flow depends on the challenges matching the
individual's ability level, Perl seems particularly well suited. Its
"easy things easy, difficult things possible" is catering for a wide
audience to find their personal succession of challenges. The beginner
isn't overwhelmed, and the guru can still find subtleties to tackle.
Anyhow, in case you're interested in the psychological side of these things,
I would recommend taking a look at Csíkszentmihályi's
classical book "Flow: The Psychology of Optimal Experience"
as a starter. Definitely a worthwhile read.
| [reply] |
|
Funnily enough, I came up with the term 'flow' without ever having heard of CsĂkszentmihályi. For me there really is a flow. A flow of creativity, productivity. I hardly sleep in that state and if I do, I dream flashes of code. It's almost manic, I can't rest my brain until I either get it out of my system and finish what I'm doing, or something interrupts the flow
Something like a holiday, or a busy time at work or an appointment I can't get out of. Chances are if that happens, I'll never revisit the project. I can't get back into the flow and don't see the point
My svn repository is full of half finished projects, that just need polishing or debugging, or a user interface. Waiting for me to catch that elusive and ephemeral flow.
-- Lyon
| [reply] |
|
| [reply] |
|
| [reply] |
|
"Seriously, his attributes of Flow, remind me of being high on cannabis"
Send for the PerlPolice don't you know it an offence programming under the influence!
| [reply] |
Re: Why do we like to program?
by moritz (Cardinal) on Nov 09, 2008 at 18:51 UTC
|
There are many reasons why I like programming. Among them:
- intellectual challenge
- solving problems
- automating boring tasks
- it allows me to build system.
The last item was inspired by a great talk (video here). Some people, which we call "geeks" or "nerds" (and I count myself among them) like to think in systems. In well-defined, understandable but usually non-trivial systems.
When I write a program, I explore such a system (one or several programming languages) to built another system. I don't think everybody understands that, but I find great joy in it, even if it's not useful in any way.
| [reply] |
|
One reason Perl resonates with me is, it's a language I can explore, even more than a language to master. Scheme is the same way: it feels like a language that's more about discovery than about churning out code. And ironically, I find it easier to get a working product in both Perl and Scheme than in ``flat'' languages like Java. I was a professional Java developer for some time, and never really felt passionate about it.
This is all highly subjective.
| [reply] |
|
I second all those points. They sum up my reasons for programming well, but I'd perhaps add a fifth:
...by which I mean my brain will happily stay in a code-run-debug loop for long periods. I feel compelled to figure out the next thing! Programming is one task that rewards that particular character trait.
Rands is funny. (Update: hehe, I guess TimToady was in the crowd... and then Rands borked the 'fixed' regex)
Life is denied by lack of attention,
whether it be to cleaning windows
or trying to write a masterpiece...
-- Nadia Boulanger
| [reply] |
Re: Why do we like to program?
by Xenofur (Monk) on Nov 09, 2008 at 13:37 UTC
|
"that it earns money for us in the IT era" This, for me, not really.
However i know why i like it. It gives me the same feeling as fixing my bike does, it gives me the same feeling as taking a saw, a hammer, some nails and a bunch of wood and building something in my garden does.
It is an act of creation, no matter how grand or miniscule and as such it satisfies me. | [reply] |
Re: Why do we like to program?
by zentara (Archbishop) on Nov 09, 2008 at 15:27 UTC
|
How I can get the same joy, ...... without doing computer programming?Music of course. I was musing the other day, that programming is like creating a "symphony of bytes", where you are the composer and conductor.
| [reply] |
|
"programming is like creating a "symphony of bytes", where you are the composer and conductor.
Mine's quite the opposite more like a bad Karaoke!
| [reply] |
|
bad Karaoke...... well then, your programs should be popular in Japan. :-)
| [reply] |
Re: Why do we like to program?
by GrandFather (Saint) on Nov 09, 2008 at 20:56 UTC
|
By almost any other form of problem solving. I started out in electronics which can provide similar challenges, but almost anything that involves solving problems to fix stuff or create new stuff will turn the trick.
For some people that is music, others may find it in flying or fishing, wood or metal working, painting or photography, computer game playing or team (physical) sports - you get the idea I'm sure. The key elements are creativity and problem solving. So long as you can find new and different problems to solve in whatever field you are engaged you should continue to take pleasure from it.
Perl reduces RSI - it saves typing
| [reply] |
Re: Why do we like to program?
by Lawliet (Curate) on Nov 09, 2008 at 16:50 UTC
|
Because the computer understands me. Also, I have no friends :'(
That was a joke~
I'm so adjective, I verb nouns! chomp; # nom nom nom
| [reply] |
Re: Why do we like to program?
by $self (Friar) on Nov 09, 2008 at 23:40 UTC
|
I also enjoy the meta-thinking required for good programming: figuring out the 'right way' to slice up reality...
| [reply] |
Re: Why do we like to program?
by pobocks (Chaplain) on Nov 10, 2008 at 07:16 UTC
|
For me, it's the ability to build something without needing to be dextrous or wealthy enough to afford materials. I can make concrete things or actions out of words. That's as close to magic as I've ever seen.
for(split(" ","tsuJ rehtonA lreP rekcaH")){print reverse . " "}print "\b.\n";
| [reply] [d/l] |
|
The other nice thing is that you can create it once, and then duplicate it as many times as you like for free.
If you make a table or some nice drapes, they're still just one thing, yours alone.
However, if you write an application that does something useful, you can improve the lives of thousands to millions of people all at once.
I think the best I've personally achieved so far is a noticeable improvement for hundreds (maybe a few thousand, I'll have to check my webserver logs), but the potential is there.
| [reply] |
Re: Why do we like to program?
by Herkum (Parson) on Nov 10, 2008 at 00:57 UTC
|
I like to create new programs. I would like to point out that is better than working a physical item, one it takes no extra space, so I don't have to waste a large area storing it. And two, if I screw up, I have not wasted whatever money I had spent on buying the item I damaged.
I ruin a program, all I have lost is some time. I ruin a table, I have lost time and X dollars for the items I spent in the store! :)
| [reply] |
|
| [reply] |
|
Old tables still need to be refinished and polished every now and then.
And, if you divide by the number of years that the technology has been around, that table starts to look pretty transient compared to your code.
| [reply] |
Re: Why do we like to program?
by Annoymous Monk (Sexton) on Nov 09, 2008 at 14:16 UTC
|
Good programming is like a good sex. I feel the most pleasure when programming with Perl. | [reply] |
|
I enjoy programming. A lot. But if sex doesn't provide you with something an order of magnitude more intense, then I think you're not doing it right :-) OTOH, maybe I don't program well enough :-O
| [reply] |
|
| [reply] |
|
|
| [reply] |
Re: Why do we like to program?
by dHarry (Abbot) on Nov 10, 2008 at 13:21 UTC
|
For me philosophy does the trick. Going over philosophical problems on existence, knowledge or language always turns me on. And what about the beauty of mathematics? And surely music has something mystical/mysterious/magical about it.
If this all doesn’t work always resort to drugs;-)
---------------------------------------------------------
"I hate to advocate drugs, alcohol, violence, or insanity to anyone, but they've always worked for me."
Hunter S. Thompson
| [reply] |
Re: Why do we like to program?
by Anonymous Monk on Nov 09, 2008 at 14:28 UTC
|
do some fishing, or hunt with a stick,
then have lunch, then make yourself a hat :D | [reply] |
Re: Why do we like to program?
by bibliophile (Prior) on Nov 10, 2008 at 19:19 UTC
|
To get into that "flow" when I'm not programming, I find two things work for me: music (learning a new piece) or writing (generally fiction, though non-fiction has it's own zone).
| [reply] |
Re: Why do we like to program?
by arkturuz (Curate) on Nov 11, 2008 at 09:09 UTC
|
Lately, I program mostly because of economic reasons. It's really hard to find a good Perl-related job in Croatia, and my current job is pretty good, so I can't transfer to more interesting things, because I think they won't pay me as much as I get paid now. Maybe I should take a risk...
On the other hand, I am creative all the time, and I like programming because of that: to create things and to create new things. Seven on eight years ago I used to write poetry, up to 10 to 15 poems a day, and when I got to the state where I didn't know what to write next, I started to program. I felt joy writing poetry, now I feel joy writing code. | [reply] |
Re: Why do we like to program?
by Anonymous Monk on Nov 10, 2008 at 02:12 UTC
|
same reason squirrel likes to gather nuts | [reply] |
|
Funny thing... it turns out that, although they are driven by nature to collect and hide the nuts, squirrels have no instinct that helps them find the nuts later.
Sometimes they get lucky, but mostly they just fail.
Apply to programming, perhaps reuse of code. ;-)
for(split(" ","tsuJ rehtonA lreP rekcaH")){print reverse . " "}print "\b.\n";
| [reply] [d/l] |
|
They may fail to find the nuts they hid themselves, but they may find those hidden by other squirrels and they will find the tree that may grow out of a well hidden nut. So hiding and failing to find the nuts is good for the nut producing trees which is in turn good for the nut eating animals. Imagine they could find all they hid ... what would new trees grow out of? And what would the squirrels eat once the current generation of trees grow too old to produce nuts? :-)
How does that relate to programming ... maybe ... what would we do if the code we once wrote could always be reused?
| [reply] |
|
| [reply] |
Re: Why do we like to program?
by motzi (Sexton) on Nov 11, 2008 at 01:41 UTC
|
I doing it for spirit. I feeling happy when i get some working code written by myself and like 'gained experience man'. | [reply] |
Re: Why do we like to program?
by zli034 (Monk) on Nov 09, 2008 at 17:58 UTC
|
I don't like to program. And it's way of making a living, and potentially to create an invention to have extra cash. And it's a skill needs to be exercised regularly. I prefer to have others code for me when I have ideas. | [reply] |
|
| [reply] |
Re: Why do we like to program?
by matze77 (Friar) on Dec 04, 2008 at 14:03 UTC
|
Cause i am lazy. Automation saves me some time which i can spend on more exciting things. This is a good thing since the best inventions came from lazy people ...
For Learning reasons, it can be very demanding to solve a problem, and you can pat yourself on the back if you completed it, that gives life a little more sense ;-).
And last cause i hope to find a better job after i developed some skill which is more challenging than what i actually do ...
| [reply] |