When learning a new language/framework, are there any projects you find particularly useful to get to know it in depth? How do the different language paradigms affect your choice of project? Maybe you have a pet project which is '10 lines in functional language x" that you like to implement as a much larger imperative language project just to get a feel for the new environment?
There are two scenarios that I see for this question:
- am I learning it 'cause I am a geek?, or
- am I doing it to suffice an assignment?
In my personal case if it's #1 I'll go for whatever is going on in me mind and world at the moment I want to learn the technology... but then it will take shape as far as the paradigm allows and drives me into action.
In me case as well, I keep a small list of ideas that come as they go, whenever a cool language or technology comes to my hands and got time for it, I will go choose and adapt. When there is no time, I will go imagining implementing it as I read - I know is lame but at least creates context, I later find it easier when I get the time to set things rolling.
In case of #2, I will set some basic scenarios that will help me either test the technology for the case in question, or find the solution for the quest. Either both will set the path which will guide thru implementation.
Cheers!
I think you are looking for the same sorts of answers collected in these questions:
Whatever project it may be, it should be something that interests you. Motivation will make learning the new language/framework fun and exciting.
What I do is whenever I have an idea for a project, I write it down somewhere and come back to it later for when a new framework that is interesting pops up.
When trying a new language I try and do a few small projects to see how easy it is to do various things:
- Simple file/string manipulation utility (eg. bulk renaming, grep style regexp util etc)
- Small graphics project (if the language easily suports graphics) - I find just simple functions for drawing stick people/stick houses work quite well for just testing the simple DrawLine(), DrawCircle() etc functions/
I might also have a go at a bit of a project that I did during a placement once. It involved various communication messages via a serial card (I obviously wouldn't try reimplementing that bit). What I would reimplement would be the 'Message DB' part which stores messages, deals with updates to messages and prepares messages for sending. I'd also see how to link messages to GUI elements without thread issues. These are both problems I've had to solve in other langauges so I'd be interested in how the new language solves them.
Cheers,
Robin