Relevant to the subject of LanguagePissingMatch I guess... One simple test of a programming language and its libraries is whether it can be used to write a DoomEditingUtility and how hard it is. (Just to make it easier, I am referring to the Classic Dooms, not Doom 3, although certainly if a language can be used to edit Doom 3 levels, it ought to be able to edit Classic Doom levels.) What you need are random-access binary files and graphics. But you also need data structures suitable for storing doom levels and stuff. Unfortunately a doom editor is a somewhat non-trivial project, which means that people aren't exactly going to be welcome to paste the source code to one on this page. And also some people try CodingAroundIgnorance and so they have a more difficult time writing a Doom editor than they would need to, for a given language. Also, some languages have multiple implementations, such that some implementations would make it easy to write a Doom editor and others would make it very hard. And some languages require third-party libraries. DJGPP for DOS used to be distributed with graphics libraries, but those libraries had different maintainers than the compiler itself. Also unfortunately, there are a great many intriguing languages whose implementations typically fail this test. For example, GambitScheme does not allow you to seek in binary files. At least it allows you to open binary files and read and write sequentially! The Scheme standard doesn't even require that. The DoomEditorLanguageTest tends to stress the libraries more than the language itself; there is nothing inherent in SchemeLanguage that would make it impossible to use for the construction of a Doom editor. The problem is the lack of appropriate libraries. ---- CategoryGameProgramming