Sign in to follow this  

Programmer's Block

This topic is 4558 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

For the past 2 months I have not been able to program anything (even non-game related). I can't even get a simple design document done. I usually end up quitting halfway through. It's getting very frustrating, I feel like coding, but I am not able to finish coding or even sometimes begin coding anything. Any advice on how to get rid of this annoying problem?

Share this post


Link to post
Share on other sites
It's funny when "The Real Mastermind" has coders block. Unfortunately, coders block is closely related to "lazy," heh. Try doing something interesting other than coding for a while (work related of course, don't let your brain go to sleep). In time you will recover your ability to work through problems.

Share this post


Link to post
Share on other sites
Avoid the design documents. That could well be the cause of the problem. If you have a giant design document that must design the entire system - then the project can quickly become overwhelming and you'll procrastinate.

In other words - 1% of something takes 1% of the time, 100% of something takes 100% of the time plus a huge ammount of procrastination.


First off - as c0dedrag0n said - take a few days (or even a week or two) off programming. Go and do something else.

Then, when you come back - don't worry about design or the system as a whole, just get in there and get some coding done. It dosn't have to be perfect or even good. If you get something done - you have moved forward.

The idea is to think of the smallest possible task you can do on your project and go and do it. If it will take more than an hour or three, it is far too long and you need to put it on the backburner to be split up later. In the mean time - find another project of part of a project to work on "right now".


Here are some links:
Dexterity Software Articles
These are really good - particularly the personal productivity ones. I highly recomend this one.

The guy who wrote those has a website here with more great stuff.

This wiki tends to have lots of interesting stuff about development philosophies. I higly recomend this and this to start you off.

Share this post


Link to post
Share on other sites
For me programmer's block comes from something which is too hard for me to do at first. I've run into that situation more than often with my sprite editor..

Share this post


Link to post
Share on other sites
Quote:
Original post by TheRealMastermind
For the past 2 months I have not been able to program anything (even non-game related). I can't even get a simple design document done. I usually end up quitting halfway through. It's getting very frustrating, I feel like coding, but I am not able to finish coding or even sometimes begin coding anything. Any advice on how to get rid of this annoying problem?


Try Agile/XP methods of programming. If you write tests for what you want first and fill in the gaps creating your classes, not only do you get code you can always check is alright - you also end up breaking the problem down in to smaller, more managable chunks.

Remember a change is also almost as good as a rest - if you are tired of doing something work on something else related.

I think the best method of getting past programmers block is working with someone, though I know that is not always possible.

Share this post


Link to post
Share on other sites
Go get a presciption for aderal, sounds like you have attention deficit disorder... and I am only mildly joking as it may be true, but I am not a doctor.

Share this post


Link to post
Share on other sites
Quote:
Original post by duke
Go get a presciption for aderal, sounds like you have attention deficit disorder... and I am only mildly joking as it may be true, but I am not a doctor.
I think that even if it exists, let alone if he has it, there are probably better ways to correct it than taking drugs.

Share this post


Link to post
Share on other sites
Quote:
Original post by Andrew Russell
Avoid the design documents.


Seconded. Just sit down and code whatever you want to. Look at it as a prototype. If you ever get it working, you can start making big design documents and actually doing it all "properly". But for just getting started, the best way is to just jump into it, and solve the problems as they occur, rather than trying to plan everything out form the beginning.

Share this post


Link to post
Share on other sites
Work related coding or personal coding? If it's personal, sounds more like you have a lack of good ideas or creativity. Often times I'd like to sit down for a weekend and code something up, but have no ideas. What are ya passionate about? Write something in that field. Guitars? Write a guitar chord calculator or something.

As far as taking drugs, well, deficit disorders exist. I dunno if it is an actual disease or condition or just laziness. But some people do have hard times focusing on one thing for extended periods of time. It wouldn't be a waste of time to see a doctor about it, if only to narrow down what is truly the obstruction along your road of coding.

Share this post


Link to post
Share on other sites
Quote:
Original post by Brandon N
Quote:
Original post by duke
Go get a presciption for aderal, sounds like you have attention deficit disorder... and I am only mildly joking as it may be true, but I am not a doctor.
I think that even if it exists, let alone if he has it, there are probably better ways to correct it than taking drugs.


Hard to change one's own chemical balance without some sort of balancing chemical.

That said, ADD isn't something that just shows up one day, and even when a programmer has it, it isn't manifested as these sort of symptoms.

Share this post


Link to post
Share on other sites
Quote:
Original post by Spoonbender
Quote:
Original post by Andrew Russell
Avoid the design documents.


Seconded. Just sit down and code whatever you want to. Look at it as a prototype. If you ever get it working, you can start making big design documents and actually doing it all "properly". But for just getting started, the best way is to just jump into it, and solve the problems as they occur, rather than trying to plan everything out form the beginning.


This is a really good point. Not everything design-wise can be forseen in every project. Thank dog for refactoring! [smile] Nobody codes the perfect program the first time.

And yes... break down the problem into the smallest pieces that vary. Each of these pieces can map directly to a polymorphic concrete class (if you're using OOP).

If your problem is just coming up with ideas... just sit down and code something from the seat of your pants... that one app/game you wish was out there... it doesn't have to be perfect, at first. Evolving code is a GOOD THING™

Share this post


Link to post
Share on other sites
To expand on what Verg said, Refactor Mercilessly. I'd take some of the stuff on that page with a very large grain of salt - "extreme programming" can be just as dangerous as it is helpful for hobbyist/inexperienced coders (that's another thread, though) - but the general principle is a good one.

I used to be scared of refactoring code. Once something was written, I'd tweak the parameters of the functions or whatever to minimize the code impact - even on new projects where I was the only programmer affected. It created a lot of hideous code. These days, when I discover I need to rearrange or even totally rebuild some code, I do it, and my code is visibly better for it. When you're reluctant to refactor, it can make procastination worse, because you don't want to mess with the code... but you can't finish X until the code is fixed... but you don't want to mess with the code... so X doesn't get finished... and without X, Y and Foo won't work... and then you turn off the monitor in disgust, and wake up 48 hours later with a hangover and a discarded project (ok, maybe not that extreme).

Share this post


Link to post
Share on other sites
Advice: Take the opportunity to study some concepts you don't know yet.

Programmer's Block is half a problem of poor organization, and half a problem of not being able to visualize a solution. The organization part, I can't really help you there. Read some documents by Knuth and Richie and learn how the pros deal with stuff like formatting and breaking down problems. As for being able to visualize a solution, develop a mental toolbox of programming concepts, so that when a problem comes up, you'll have a wide array of possible solutions.

If you've been to college, then you probably already know Linked Lists, Trees, Quick Sort. What you probably don't know is stuff like Message Digesting (MD5 Hashing for example) and Secure Hash Algorythms. These are hard, but worth at least figuring out what they're used for, the basic idea behind the process. You can skip the implementation, just get the theory.

Another thing, which is a lot simpler, is just test some odd functions that you never really payed any mind to before. Like the xor operator. Write a short program just to show you what (x^0x55) yields for x's between 0 and 255.

Share this post


Link to post
Share on other sites

This topic is 4558 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this