Which means I'm not doing anything new.
With that in mind, could anyone suggest ways to keep in practice? What do you do to refresh your skills?
Post a Comment
I do this all the time: learn a new language, or brush up on one you are unfamiliar with.
For instance, I recently had 6 weeks off between classes (I take accelerated night classes - I'm a senior in CS). I decided I would (re)learn assembly language. I just had a brief familiarity with it, so I bought "Assembly Language: Step by Step" by Jeff Duntemann, 2nd edition. It was for DOS and Linux. It was a good trip. I just found out that there is a 3rd edition of this book that just came out, and it is just for Linux - so no more wading through DOS segmented memory. When I get a chance, I will buy it.
So, there you go. Perhaps you would want to try Ruby, or Erlang, or Haskell. There's plenty of choices.
For my 2 cents, this helps develop the "programmer" skill, and keeps one from being trapped in the "I only know one tool" mindset. I've seen this attitude a lot - in the .NET, Java and PERL worlds, for instance. When your only tool is a hammer, everything looks like a nail!
Agree with everything you said, 100%. I would add that with your new language, try to find something that is as far from your comfort zone as possible. If you are a low level guy, pick up python. If you are an ASP.net guy, get into rails, that sort of thing.
Either that, or just jump into a language that has no real practical purpose other then to expand your mind, like Haskel, Forth, Factor, etc
I agree with fretinator's advice, but if you are looking to do something more specific you can take a look at Project Euler ( www.projecteuler.net ). It has a series of mathematical problems intended to be solved diagrammatically.
From it's homepage:
The intended audience include students for whom the basic curriculum is not feeding their hunger to learn, adults whose background was not primarily mathematics but had an interest in things mathematical, and professionals who want to keep their problem solving and mathematics on the edge.





