Live data from Hacker News

Ask HN: Where's the fun in programming?

news.ycombinator.com

21–30 of 73 posts

Re: Ask HN: Where's the fun in programming?

#21
A lot of other posters are saying that the web dev you're doing is boring (and as someone who's been doing it for 10 years, I can concur). Setting up the 1000th Wordpress blog or making a basic 10 page website gets boring after a while.

So, pick harder problems to work on. As the web expands, they're definitely out there. If you're setting up basic Wordpress blogs, you'll rarely encounter them, but if you work on something where you'll need to dig into actual computer science to solve, you'll find it much more enjoyable (at least I do).

Here's an example: a client I worked with sells sheet music to schools and churches. There's a lot of sheet music out there. Alone, they have 350,000+ products. They had an osCommerce installation (which is some of the worst software in the world, by the way) and the search engine in OSC took about 15 seconds per search to find something. Not to mention it wasn't suited for their products. So, I wrote something much better. I researched search algorithms, tokenization, string matching, indexing, word proximity algorithms, and a slew of other problems. It was incredibly interesting, applied many of the concepts I learned in college, and in the end, produced a search engine that was really powerful and fast. It search all products in under half a second.

In hindsight, I could've used something like Apache Solr or Lucene, but I just enjoyed finding the solution to a complex problem and building it myself (well, along with the other developer on the team, of course). So, try to find work like that to do.

Or, pick a totally different domain and write software in another language for it. I really like search and artificial intelligence, so one of my favorite algorithms is the A* (http://en.wikipedia.org/wiki/A*_algorithm). It's simple enough that you don't need to be a Ph.D in computer science to under, but uses enough concepts (min-heap, breadth first search, hash tables, nodes) that you'll get a good understanding. So try to build an implementation over a weekend in a language you don't know. You'll learn a lot, and chances are, you'll be burning both ends of the candle to get it to work.

Enjoy!

PS. If that doesn't get you going, perhaps you just don't enjoy programming, and thats fine too.

Re: Ask HN: Where's the fun in programming?

#22
I didn't like it either when i first started programming. But i kept programming until i felt comfortable using the language. That's when i started enjoying the whole process(Well, some things were still boring.) of building a website. I do get discouraged once in a while when i see how inexperienced i am, but i just keep programming.

Maybe the problem is that you're not completely comfortable with the programming language?

Re: Ask HN: Where's the fun in programming?

#23
The problems one solves in basic web development is to be honest, kinda boring. For most websites it's just CRUD (create, read, update, delete); coding in this case is just a form of glue.

Coding gets interesting when you're solving and implementing problems like PageRank, which you're not doing (I'm assuming).

Re: Ask HN: Where's the fun in programming?

#24
See p. 7 of Brooks' The Mythical Man-Month, for "The Joys of the Craft" http://www.amazon.com/Mythical-Man-Month-Software-Engineerin...

He lists 5: creation; usefulness; intricacy; constant novelty; tractability.

Some of these are in common with graphic design; but the "constant novelty" perhaps addresses your "boredom". Turing said that programming need never become boring, because any repetitive coding (or concept) can be captured in a function or module. Once you're worked out the solution to a problem, you write a reusable module to deal with that problem, and embodies your understanding of it, and you don't have to do it again. So it's always new problems.

Now, in practice, it isn't always that easy. Code that can be reused generally is much harder to write than code for one specific case (the literal meaning of ad hoc: "for this"). The hardest part is specifying what it do, not coding how. This approaches AI: to go from a problem that initially you cannot even understand, to one that you can automate 100%, is transcendent. Almost Frankensteinian... (aka The Modern Prometheus).

For me personally: I get a simple pleasure from making something happen on the screen (like any act of creation); but I actually don't like programming much for its own sake. I enjoy solving problems, and making them real. It's easy to dream something; but to do it is a real accomplishment. And anything on the road of that journey becomes equally important.

I don't know what stage you're at, but it's possible that you're not yet up to wrapping up the common parts of your coding, so you don't have to do them again. If you keep on typing the same predictable, mechanical things, that would be boring. Computers are ideal for this kind of mechanical work.

Re: Ask HN: Where's the fun in programming?

#26
post #18

> So I learned HTML, CSS IMO if you don't do HTML/CSS, you aren't a web designer. > For example, I live the concept of ranking a page higher based on how other sites link to it (ie Google's Pagerank), and would enjoy conceptualizing further improvements, You don't know the details to understand it isn't as easy as you think. If you think you can conceptually do further improvements, I would really like you to try tha…

Google's a great search engine, and its all due to their brilliant algorithms and codes and everything.

I get that.

The programmers at Google are tackling a lot of problems and coming up with birlliant solutions.

I get that.

I just cant imagine someone has fun writing those thousands of lines of code. Even more so when the code isnt for a cool new feature but for a mundane fix.

I image a lot of programmers at Twitter spend hours writing code just so their site/product can handle all the traffic. How it that fun?

Re: Ask HN: Where's the fun in programming?

#27
I've been a programmer for almost 20 years. When I code into the wee hours of the night I usually do so without realizing that so much time has passed. I get lost in the act of writing the code.

But to get lost in the code you first have to find it easy to do so. I'd wager that someday after you have been doing it long enough you will find the comfort zone and you will start taking joy in coding.

Dislike, frustration and boredom are the taxes you must pay to learn anything new that is worth learning.

I recently chose to take cello lessons and I can tell you I dislike it at this point. Someday I will find the joy I see in others playing the cello expertly...so I practice each day looking forward to that day...and each day it gets easier.

Code or read someone's code on Github everyday. It will get easier and more fun.

Re: Ask HN: Where's the fun in programming?

#28
I have been programming for a long time, and I don't think I can give a totally articulate answer to that question. Well, I do have answers, but they don't make seem to make sense to anyone but other programmers.

Part of it is the reward from solving difficult problems or puzzles. And with the risk that you might not be able to solve the problem. Part of it is the creation of something that didn't exist before. Part of it is, when you are in the zone, time disappears.

Some of the problems in this business are pretty intractable, or at least appear that way. I remember once when I was younger I got this idea in my head that I wanted to solve algebraic problems by programming. At the time, I was working on the IBM 1800 (architecturally equivalent, instruction-wise to the 1130) (like that really tells people anything), which was a 16-bit accumulator-type machine with maybe five registers. I worked on this for maybe a month, to the point where I felt mentally strained. So I backed off, never solved it. Later, I heard about maxima. I wasn't even close.

But that seems to be the rule, rather than the exception for things I have been involved in. I mostly start things these days that I have no real clue whether or not I will succeed. Real-time acquisition of electrocardiogram data? We certainly didn't know the horde of sub-problems we were going to encounter, and certainly did not stand around enumerating the risks. We just forged ahead. The Matasano challenges? Talk about staring at a web page for a couple of hours with no clue. (That worked out well, as I now work there.) (And despite what tptacek self-deprecatingly says, he is marvelous to work with and work for.)

Compilers? Didn't you ever wonder "hmmm, I wonder how this works", or "why does FORTRAN have this clearly stupid and trivial limitation on elements on the DO loop?" I got a fire in my belly about that one for sure. But I had no idea or expectation that this would lead to a career.

Or the google code challenge. I got it in my head to try this out, kind of to flex the muscles. That was an education. But I learned something.

I know that there is a lot of talk on this forum about "fail early, fail often". I think that perhaps the original intent of that admonition is "don't stand around enumerating risks. Dive in, push forward, adjust, repeat". So in the words of the protagonist in The Art of Racing in the Rain, "your car goes where your eyes are". To translate, "don't look at the wall, look at the track".

So any programming ability can give enormous leverage in many areas of modern life. Full-on programming ability more so.

If you don't have a deep curiosity about how this complicated stuff works, I am at a loss as how to describe that to you, as that is where I come from and where I live.

Re: Ask HN: Where's the fun in programming?

#29

Earlier quoted context omitted.

Yeah HTML/CSS/Javascript and PHP are some of the worst possible examples of "coding". I was forced to use PHP on a recent project and I felt like tearing my eyes out it was that bad and immature compared to other methods. It was like telling a formula one driver they have to drive through peak hour in a rundown 1970s ford and then asking if they like driving.

What language would you recommend to be the most fun to work with? Whats the best way for a beginner to learn that (I know by practice, but which books, websites, tutorials, and in what order) ?

Ruby on Rails. Hard to say if it's the "most fun", but it allows you to dive in and start coding quite quickly. Far nicer to use than PHP, which I did in college and hated it.

Books:

http://stackoverflow.com/questions/194812/list-of-freely-ava... - this is from another recent HN thread, scroll down to the section for Ruby. Why's Poignant Guide to Ruby is very wacky but worth the read.

Screencasts:

http://railscasts.com/

Also a good article on Lifehacker that will help you:

http://www.lifehacker.com.au/2009/11/programmer-101-teach-yo...

Re: Ask HN: Where's the fun in programming?

#30
post #5

>Can anyone passionate about coding tell me where the fun is in coding? You're doing a very unfun form of coding. IMO. HTML/CSS/Javascript and many uses of php are about the equivalent of finishing a kitchen off in a home. Other forms of coding are like building the Eiffel Tower. You may wish to try outsourcing the coding portions and taking on more volume.

Yeah HTML/CSS/Javascript and PHP are some of the worst possible examples of "coding". I was forced to use PHP on a recent project and I felt like tearing my eyes out it was that bad and immature compared to other methods. It was like telling a formula one driver they have to drive through peak hour in a rundown 1970s ford and then asking if they like driving.

I just quit a job where I was mostly doing BASIC, but I got to do a bit of PHP here and there.

PHP is more like driving a modern automatic. No, it's not as fun as a six-speed, but it is fairly relaxing.

BASIC, now that's like a rundown 1970s Ford.

Post reply on HN