views:

115

answers:

6

I was looking around SO to find some exercises or interesting problems to do when learning a new language. Mostly of the time learning a language directly from reading the book does not work, even when a book tries to make an application from scratch to end.

Besides Code Kata, 15 Exercises to know... and Project Euler what are some other resources?

Also, what if the language in question is mainly used for web development..or that is the main intent of the developer for learning the language. In those cases, I doubt stuff in Project Euler will help. Are there sets of functionalities that should be implemented in a web app for a developer to feel confident about his skills in that language/framework?

+1  A: 

The main and best resource is tasks that you care about! Come on, don't you have a backlog of "N cool things I wish I could be doing (to make my life -- or somebody else's -- better)"?! I've had dozens and dozens of things on such backlogs ever since... well, as far back as I can recall. So pick one, and do it with the new language (or framework, or whatever) -- the fact that you care about the result, rather than it being an artificial task set by somebody else!, makes all the difference!

Alex Martelli
+1  A: 

When learning a new language I usually build something that I've previously built in another language.

Galen
+1  A: 

Try to rewrite some simple tools you wrote in another language, if it is possible. In this case you'll know what do you need to do it and what is the difference between those languages.

Elalfer
A: 

FizzBuzz ( this is for the req. )

meder
A: 

Create something that the language you are learning is good at. For instance, if you're working with Ruby on Rails, make a data driven web application. If you're working with Perl, write something that does advanced text parsing. Most languages were created to solve a certain set of problems. Focusing on those problems allows you to learn the differentiating features of the language you are studying.

Dustin E
A: 

There are many puzzles and challenges you can take part in, such as Facebook Career Puzzles. These puzzles are for people who want to work for facebook, but there is no reason you can't try them even if you aren't interested in a job. They start from very simple, to complex.

Programming Puzzles for Interviews (you could write programs to solve these)

Programming Puzzles hosted by companies like this one are also fun.

I would say create something useful to help yourself, or try tackling some puzzles. In addition to learning new ways to tackle problems, you'll learn the language better.

Jeremy Morgan