It depends on whether you want to take advantage of resources like editors, IDEs, refactoring tools, lint tools—and a pool of developers.
Unless you have a very good reason to do so, inventing your own language is a large quantity of work—and one of its main effects is to cut you off from the pool of other developers—making it harder to find other people to work on your project and restricting your choice of programming tools to ones you can roll for yourself.
Anecdotally, half the benefit of inventing your own language is cutting yourself off from the pool of other, inferior developers :-)
Remember that Eliezer’s assumption is that he’d be starting with a team of super-genius developers. They wouldn’t have a problem with rolling their own tools.
Well, it’s not that it’s impossible, it’s more that it drains off energy from your project into building tools. If your project is enormous, that kind of expense might be justified. Or if you think you can make a language for your application domain which works much better than the best of the world’s professional language designers.
However, in most cases, these kinds of proposals are a recipe for disaster. You spend a lot of your project resources pointlessly reinventing the wheel in terms of lint, refactoring, editing and code-generation technology—and you make it difficult for other developers to help you out. I think this sort of thing is only rather rarely a smart move.
It depends on whether you want to take advantage of resources like editors, IDEs, refactoring tools, lint tools—and a pool of developers.
Unless you have a very good reason to do so, inventing your own language is a large quantity of work—and one of its main effects is to cut you off from the pool of other developers—making it harder to find other people to work on your project and restricting your choice of programming tools to ones you can roll for yourself.
Anecdotally, half the benefit of inventing your own language is cutting yourself off from the pool of other, inferior developers :-)
Remember that Eliezer’s assumption is that he’d be starting with a team of super-genius developers. They wouldn’t have a problem with rolling their own tools.
Well, it’s not that it’s impossible, it’s more that it drains off energy from your project into building tools. If your project is enormous, that kind of expense might be justified. Or if you think you can make a language for your application domain which works much better than the best of the world’s professional language designers.
However, in most cases, these kinds of proposals are a recipe for disaster. You spend a lot of your project resources pointlessly reinventing the wheel in terms of lint, refactoring, editing and code-generation technology—and you make it difficult for other developers to help you out. I think this sort of thing is only rather rarely a smart move.