![]() |
![]() |
#1 (permalink) |
Insane
Location: Wales, UK, Europe, Earth, Milky Way, Universe
|
The Joy of Code (Non-programmers please read too)
I thought I'd start a thread which is a bit different from the usual Q&A that goes on in Tilted Programming - although i do enjoy reading the Q's and A's.
Firstly, my apologies for my usual rambling. I don't regard myself as a programmer as such since it is not my profession and i really haven't had a great deal of real-world experience of it but I have to admit that one of the things that keeps me happy in life is to write code and solve problems by writing computer programs. I am what a lot of people would call a geek. Now, I don't mind being called a geek because I know that, generally, programmers are a misunderstood and alienated group of people within society. I think that this is because we do something that the average Joe/Joanne doesn't understand and has very little interest in. The fact that i prefer to write code to get my buzz rather than play computer games seems like an odd and screwy concept at first glance but looking into it further we see that writing programs is a creative art and a form of expression. When you have finished writing a program and you are satisfied enough to take the lower case b from the compiled executable's filename, you can sit back and say to people, "Here, i created this, i hope you enjoy using it." Whereas the gamer would sit back and, although having a sense of achievement from getting to the next level or beating the previous high score, they would have very little to show for it. This isn't a jab at gamers - in fact i used to be one - but I think it's an interesting comparison between those who enjoy creating and those who enjoy participating, destructing, using or even, in the case of bands and movie stars, following. I mentioned getting a buzz from programming. This might seem an odd idea to those who have never tried it but those of you who know what it feels like to solve a complicated programming problem on your own you probably know what it feels like also. To set your mind on a hard problem, and then, with minutes, hours, maybe days of hard work, that initial buzz hits - the "Aha!" moment - when you understand exactly how to solve the problem. Then the code flows from your fingertips like a fine vintage brandy from its crystal decanter, you have no perception of time or reality and neither hunger or thirst can pry you from your keyboard. At last, as the sun peers above the horizon, the warm rush of sweet contentment massages your mouth into a smile and the final semicolon or right-brace falls into place. Your masterpiece is complete. This is your solution. This is your next level and high score. This is your victory. For those of you who enjoy programming, I hope you feel the same way as I do about this subject and for those who are non-programmers, i hope this has given you some serious insight into why us geeks enjoy being geeks. Thanks for your time ![]()
__________________
There are only two industries that refer to their customers as "users". - Edward Tufte |
![]() |
![]() |
#3 (permalink) |
I am Winter Born
Location: Alexandria, VA
|
I enjoy both - I enjoy playing video games because it allows me to go run around and do things I'll probably never have a chance to do (fight off alien hordes on strange planets? hell yea!) - and I enjoy programming.
However, I only get true enjoyment from certain "types" of programming. If I can write a neat application to do a quick hack, something useful and cool - that's the sort of thing I thrive on. Slogging through huge amounts of code on some larger application is just mind numbingly boring, though. ![]() |
![]() |
![]() |
#5 (permalink) |
Free Mars!
Location: I dunno, there's white people around me saying "eh" all the time
|
Everybody gets their buzz their own way. I get mine from programming sometimes
![]()
__________________
Looking out the window, that's an act of war. Staring at my shoes, that's an act of war. Committing an act of war? Oh you better believe that's an act of war |
![]() |
![]() |
#6 (permalink) |
Junkie
|
I used to feel this way about programming a few years ago. I completely understand the feeling. I also know what it feels like to go through thousands of lines of someone else's code to fix it up/add to it. It's not fun. The only fun programming for me is when I program for myself, or when I get to write something from scratch.
__________________
The most important thing in this world is love. |
![]() |
![]() |
#7 (permalink) |
Crazy
|
Well put, welshbyte!
Unfortunately, as some other posters have already pointed out, it's only that much fun when you're really hacking away at something you really want. If it's your job, and you've just finished building the 25 dataentry screen for the week, complete with some no-brainer entry validation code and fixed three bugs by the guy who left last month, then had your supervisor barge into your cubicle, whining that the background of that icon you made last week should really be slategreen and not maroon....well, then you realize that programming as a job just might not be the creative expressionism you were expecting it to be. Now I'm overdramatizing things here, of course. If you're lucky and get a job programming something very neat (whatever tickles your fancy the most), then you'll love your job and won't even notice the hours pass by. I know, cos I'm lucky enough at this moment to have a job like that. But my past experiences have taught me that programming isn't always fun. This is just to put things into perspective a little.
__________________
I want no escape. |
![]() |
![]() |
#8 (permalink) |
Crazy
Location: Copenhagen, Denmark
|
Ditto on the mind numbingly boring stuff. Coding can be a blast, as good as sitting up all night blasting alien hordes, when you like it. However, when you have to start writing unit tests or dealing with a customer who constantly changes their requirements (but of course the deadline can't shift) and adding another validation step because a user can't seem to understand that an email address cannot have 2 @ signs (seen it) then you really pray that next time you open your desk drawer you find a real life AR-15 and start doing some real damage. But, like I said, sitting and plunking away at something that captivates and thrills you can be one of the best feelings in the world.
|
![]() |
![]() |
#9 (permalink) |
Tilted
Location: Philadelphia, PA
|
I concur...I took a java2 programing class some years back with NO prior programing knowledge....wow was it a trial by fire, but I pulled off a D in the course. I took the course blind thinking it was just a web development (which it was) course as advertised, but assumed it was just html scripting. I spent hours with dry eyes in front of the monitor, but I agree that solving some of the task and compiling the data was a true sense of acomplishment. I would like to play with it again on free time if i could get motivated.
|
![]() |
![]() |
#10 (permalink) |
Insane
Location: Wales, UK, Europe, Earth, Milky Way, Universe
|
Apologies for not replying to your replies sooner but i moved away to university shortly after creating the thread. Ironically, I'm taking a computer science course and they're teaching us all about programming in Java from the beginning (snoozing through those lectures) and the theory of engineering vast computer systems - waterfall model etc. I understand exactly how bad it must be to have to trawl through someone else's code and try to ignore someone else's bad/conflicting programming style, especially when its badly documented and commented. I appreciate all the feedback though, its good to see how many of you are as passionate about the subject as I am.
__________________
There are only two industries that refer to their customers as "users". - Edward Tufte |
![]() |
![]() |
#11 (permalink) |
Crazy
Location: Europe
|
I have to disagree with some of the posters in this thread...
In my experience, writing the "boring", bred and butter code can be extreamly satisfying! Take your time visiting the users of the code that you write, and see how they get about doing THEIR everyday job. They do their job using the result of YOUR work! I sat for like 3 years at an IT company developing a system for planing all the technincal resources at a TV company, you know like studios and cameras and all the personel and stuff. It was really comlex and a big no-no explaining to my friends. Crap job! Eventually they gave me a tour, and besides seeing alot of famous people, I saw all my boring reports plasterd on the walls in all the offices. I walked by like a famous director and there my hard work was lying on his desk. Well, famous or not, thats when I realised that all this work is actually making sence. Nowadays I work for insurance comanys, boring business. But the cute girls an women in all the departments love when I make their work easier. Just make sure you visit the person who use your stuff and you will see the light!
__________________
![]() ![]() ![]() ![]() ![]() |
![]() |
![]() |
#12 (permalink) | |||
Insane
|
Quote:
Quote:
Quote:
![]() ![]() |
|||
![]() |
![]() |
#13 (permalink) |
Upright
|
woah! that's a pretty harsh comment there.
I, too, enjoy the whole coding business. still in school for it, which kind of sucks (especially when dealing with unfair grading and arrogant professors), but the thrill of understanding the key to a seemingly difficult problem, or having the understanding of a piece of logic no one else does ... that's pretty rad. I've always likened writing code to writing a report or building an argument. Sure, you can do mind-numbingly boring things (i.e. writing legal briefs, which i've also done), but you can also write stories or come up with analysis that hasn't been done. I enjoyed that first post, even if i don't necessarily consider myself a geek. ![]() |
![]() |
![]() |
#14 (permalink) |
Upright
|
Definitely. Can't agree more.
I program games for fun and when I tell people that at my work (not programming), thetypical response is something like "Blah, I tried that once in school, how boring." As someone above mentioned, programming, and especially game programming, can be quite creative. For me, seeing something that you created and interacting with it is the greatest joy. |
![]() |
![]() |
#16 (permalink) |
Junkie
Location: Classified
|
Nice post. I got my college degree in Marketing and worked in the Marketing Dept. of my company for 5 years. Early this year I accepted a job in our Information Technology Dept., and I had NO programming experience. I am not as good at programming as I want to be, but the times I have figured things out have been really satisfying.
![]() |
![]() |
![]() |
#17 (permalink) |
Upright
|
I love programming, but I've been in the business too long. I now only enjoy programming when it's for myself. I felt a little like one of those nutty actors on a hit sitcom. I was doing the work which was making the company a ton of money, but seeing very little of it myself. Only I don't have an agent and it's become too easy for the corporate types to trivialize my work. Good programming is never appreciated as much as cheap programming. Never again.
|
![]() |
![]() |
#18 (permalink) |
Upright
|
Software design is by far the most interesting component of the software life cycle especially if you can start from scratch. Doing a design, implementing it and it actually works (efficiently etc) is a good feeling.
Modifying someone else's code/design is pretty lame (everyone has a style of their own and they prefer that everyone else to use it!). Testing is the shits!
__________________
It's not that I don't care, it's just that I don't care enough! |
![]() |
![]() |
#19 (permalink) |
Upright
Location: Australia
|
I have to jump in and agree with AxelF.
Some of the suppsosedly mundane stuff can be really interesting. I think it depends on how you approach things. Talking to clients, working out what they want from the system, and figuring out how to get that working for them can be a great experience, and provide a real challenge. OK, so sometimes it's also the worst bit. You can also end up learning a lot of new things as a side effect of certain work. For example, I'm working on automating a bunch of mobile phone network testing at the moment. Since I've never done any of this before, I expected to learn a lot about phone networks, etc. At the moment, though, I'm really learning a lot about regular expressions (of which I've had no previous experience), since a lot of the work is examining text output. In other words, if you keep your eyes open, you'll occasionally spot something that you can really work up a good obsession about. |
![]() |
![]() |
#20 (permalink) |
Junkie
Location: Florida
|
My best friend and I built a website that came to be very popular. It was a really good feeling to randomly browse through a forum or newsgroup and see people mention it as a good site to use. Made all those sleepless coffee and nicotine-fueled nights feel that much more worthwhile.
Right now I'm working on a program for the tech support people at my place of employment. When a call comes in to the phone system, it looks for a match in the customer database based on the incoming phone number. If it finds the customer, it pops up their info on the screen for the support rep as their phone begins ringing, so they have all their info before they even answer the phone. That'll be a nice accomplishment; I certainly wish there was a programmer making cool stuff like that back when I did tech support. ![]() |
![]() |
![]() |
#21 (permalink) |
Insane
Location: Wales, UK, Europe, Earth, Milky Way, Universe
|
Wow, thanks for the feedback and discussion guys
![]() Since my last post I've started in university and for the programming module we have to learn java. Although it isnt my favourite language i thoroughly enjoyed the challenge of implementing the "Eratosthenes Sieve" algorithm since it gave me such a buzz to figure out the code to work the algorithm in the most efficient way i possibly could with java and my laptop. I played around with the code and used it to find series of prime numbers up to the highest limit i could. I really had fun ![]() Unfortunately the java programming isnt satisfying my programming-for-edutainment needs at the moment so i started working on a little project in C++ which is to create a binary tree structure and implement efficient searching methods for it. I'm not asking for help because i want to do it myself to learn C++ ![]() I'm also getting the hang of a text editor called vim (also Gvim which is the GUI equivalent). I really like it because it has a lot of syntax highlighting support and just learning the commands offered by the editor is a fun challenge because there are so many. After learning the editor's commands i'll be able to automate some of my programming by using the commands to build macros that the editor runs. I've also been recommended emacs for programming but i havent had the chance to get to use it yet. I'm really enjoying university because of these new areas of programming i'm being exposed to (among other reasons!) ![]()
__________________
There are only two industries that refer to their customers as "users". - Edward Tufte |
![]() |
Tags |
code, joy, nonprogrammers, read |
|
|