It's funny because some of us have the opposite problem. Too many ideas, but not that much interest in learning new languages for their own sake. So when it comes down to implementing a new idea, we want it done quickly. We don't want to take the time to try to figure out how to make it in Haskell, and just revert back to Python.
Or you could just make video games.<p>Just be sure to finish them. The mantra in indie/hobby video game development is "finish your games, and if you can't finish, try making something simpler".<p>See also: <a href="http://makegames.tumblr.com/post/1136623767/finishing-a-game" rel="nofollow">http://makegames.tumblr.com/post/1136623767/finishing-a-game</a>
My advice would have been to reinvent the wheel. Yeah it might not add to anything useful but there is an off chance it could. The reason why reinventing the wheel is good is that you have direction as to what you should implement. Trying to do something new all the time isn't possible.<p>I used to build tic tac toe games It was never complete or useful but it helped me learn the tech I was using. Now days creating a blog engine is my new tic tac toe.
> Stop and think about all of your personal interests and solve a simple problem related to one of them.<p>That's why there are so many programmer tools and frameworks. :-)
For most of the people looking to program something in Haskell or Erlang, programming <i>is</i> their outside interest. Perhaps that's why we get so many compilers written in exotic languages...
While I think it's completely correct that the best software is produced when a programmer recognizes one of his own needs which isn't being met and decides there's a better way to do it. It's bad to take such a disdainful stance toward programmers in that stage between producing simple self contained projects and software that can be integrated into an OS or other applications. Charting your own course is tough and frustrating. The best advice for aimless but excited programmers in terms of what will help them and the community the most is to join another project. Opensource is an obvious choice since it has a low barrier to entry but an internship at a company could work well too.
I think I suffer from this problem, I like to compare it to writers block or something like that, my problem is that I want to develop something but I don't know what and get frustrated at having a lack of ideas.<p>This frustration then gets interspersed with furious bouts of development on personal projects that can last 4-6 weeks, and then I go back to another 3 months of doing nothing and hitting my head against a brick wall.<p>Help?
I think we've all had a shiny new tool that we are just dying to use, but don't really have a use for it. That's what these posts are.<p>The advice is correct, but could be summed up better:<p>Go work on something.<p>It doesn't matter what, just pick something. Don't ask someone else to give you work to do. That -never- works out without external pressure, like a paycheck.
Summary: “You should be motivated in the same manner that I am.” <p>Er, what’s wrong with someone looking to non-specifically contribute something to a movement (GNU/Linux) or to improve their skills in a particular language? Not anything, necessarily; they’re probably just young.