views:

259

answers:

9

OK. So I want to switch from language Flob to language Blub. The thing is that in Flob I can do a lot of stuff, in Blub I can write hello world and maybe some simple recursive function.

What kind of exercises or toy projects will get me up to speed in Blub. I'm sure there is a lot of exercises or toy projects that I can do in the evenings to get me up to speed in Blub in a month.

+7  A: 

I personally think anything artificial, and you'll lose interest quickly. What you really need is a real live problem to solve! Even if it's a problem you create for yourself Solve it in your new language, and as you solve it, you'll learn.

Steve
+1  A: 

Start a small project and each time you need something check on google for tutorial about it. You will learn fast about DB connexion, string manipulation, front visual stuff, etc...

Daok
+1  A: 

It really depends on the type of the new language. If it's very close to your current language, porting some of your own code will get you acquainted with the apis of the new language. However, if you are changing to a whole new paradigm, such as from a procedural language to an object oriented, functional or logical language you should rather be looking for articles about how to accomplish "cool" things in the new language to pick up things that are different from your current language. Otherwise, you can easily get stuck to using your new language as a bad copy of your old language.

I usually seek out the forums in use by the fans of the new language to see what everybody is talking about and what pieces of code they are showing of.

kasperjj
A: 

Depends on how you learn. I tend to start the program with a bunch of stuff I don't know about in Blub, then tackle them one at a time by googling the specific issue I'm trying to resolve, implement it and make sure it works and compiles before I move on. Hopefully this way, you not only learn how but why it works that way.

Fry
+4  A: 

http://projecteuler.net will help you learn the syntax and the basics, but don't do more than a dozen problems because by then you'll know the language well enough and Euler can't teach you any more.

After that, I think you may as well just start working on your app. The first large thing you build will be a learning exercise and you'll want/need to rearchitect it no matter what. You have the option of building something big you don't care about, or something big you do care about (your app). The first won't get done. If you do the second, at least you'll have a better understanding of your app.

Tom Ritter
A: 

If you have an existing small project, try rewriting it in Blub. But to start, always try to put together small programs that cover the basics; reading input/printing output, file I/O, database connectivity, etc.

Bullines
+1  A: 

Look for (successful) open-source projects in your language an play with it, tweak it a bit.

You will learn a lot when reading (and later expanding) production code.

danimajo
A: 

I like do do puzzles in new languages in order to figure out the syntax of a language. Try doing a Sudoku solver or a cross word generator. These exercises are both fun and will get you the basics of the language.

RaySl
A: 

You don't have to switch at all. Clearly knowing Flob and Blub are not mutually exclusive, and learning a new language is never a bad thing.

As my programming mentor used to say:

"Always use the right tool for the job,
Be that Blub or be that Flob."
Ali A