Developer toys: take a break from coding and code for fun
Monday, May 28, 2007
There are always interesting things for developers to play with.
This time around, I would recommend you look into the following 3. One of them is more important than the others, but well worth the little time it takes to read and understand them.
There is word that concurrency is not handled well with modern languages. So there is a "new" language that is built around concurrency. There are a few libraries already based on Erlang. The cool thing is that it is open sourced.
And now a silly Java interview question:
Trick question: what are the main problems with concurrency?
Not so tricky answer: multiple threads accessing the same resource.
Trick question: how do you solve this problem?
Typical answer: use locks, i.e., in Java the nifty .wait() and .notify() methods do the trick.
Not so typical answer: do not use shared resources, i.e., use messages to do your stuff. Let it sink in. It makes sense, but you already knew that.
- The Semantic Web
You have lived under a rock if you have never heard the words "semantic web." Well, maybe it is time to play with it. Of course, the benefits of this thing to come to a reality near you have been over-promised for a while, but it is still an interesting aspect of the web.
Now this is a real treat. However, this development environment is probably targeted to the more visually inclined in you. This is how their official web site describes it:
Processing is an open source programming language and environment for people who want to program images, animation, and interactions. It is used by students, artists, designers, researchers, and hobbyists for learning, prototyping, and production.
It is all that and more, really. It is actually a high level graphics development programming language based on Java. I think of it more of an API. Download it, code with it, and then you will see what I mean.
In the mean time, check out how useless and fun it is: