archives

How to determine your new language is perfect?

I've come up with some interesting ideas about a new programming language. Since I joined this noble society I've realized I wasn't the only one with ideas, not even the only one with my ideas... So apparently, I need to take it one step further: How to combine all those fancy ideas to a useful programming language?

Since I've got some ideas for this too, my current problem is more: How do I know I've got it right? I need some help here. I suspect more people than I have delved into this topic, but the impression I've got is that it tends to be more on the depth rather than broadly. I need both. I want a language that is good overall, supporting all kinds of programming styles and designs, but I also want it to be really good at something. So how do I determine the strengths and weaknesses of my new shiny language?

After pondering a while on this, I've divided this problem into two categories:
a) What programming styles does it support? E.g. functional programming, imperative programming, concurrent programming, ...
b) How easy does it solve different kinds of problems? E.g. implementing a controller scenario, server/client messaging, game AI, ...

What I mostly need is a number of problems that can be implemented in very few lines of code in some language (picking the strongest language for the problem in question), and trying to get as few but diverse set of such problems. Then I could take my language and do some test implementations for each kind of problem and see how elegantly it solves the problem.

Some suggestions:
1) Handling dependencies. For a certain output, a certain input is needed on which an action is taken. This is what makefiles does. E.g.:
myapp: source1.o
gcc -o myapp $

Well, maybe above was too trivial, but I think you get the idea...

2) Object repository. A server has a database of "things". You can register things, unregister things, search for a thing based on name or attribute and subscribe on register or unregister events.
No trivial source code example comes to my mind.

Uhm, that was about as far as my imagination took me right know. I might come up with more given some more time...

Anyone having ideas on this?