This is an interesting article/rant on program scalability. Scalability not from the perspective of how to write programs that handle more transactions, but from the perspective of writing more complex programs with more team members.
It's a tricky problem -- and as the author points out, one that Java wins at while other languages such as Scheme lose.
The main reason that I think a language like Scheme fails is that not enough of the patterns for daily use have been flushed out. That is, the basic paradigms such as mapping or filtering a list are as clean as can be. But, how do you handle a presentation layer in a web application? Or, how do you go from a PostgreSQL database to a rendered result set?
Java has answers to these. Answers people know and trust. Scheme has the promise that it can be done, and be done cleaner than any other language. Promises are nice, but when you have a boss breathing down your neck and you have a product to produce, you need answers.
Of course I think this problem can be solved. That is, powerful languages can have the patterns needed to make them accessible to large audiences. To contribute my 2 cents to the effort, I've created the Scheme Pet Store. This is a demonstration of how Scheme can be used to solve a problem that Java typically solves.
But my initial implementation of the Scheme Pet Store is hardly enough. We need to refine the pet store until it represents patterns that we, as a community, agree on.
The really exciting part, and my experience with the pet store proved to me, when you get the basics there Scheme can really shine.
No comments:
Post a Comment