Hacker News new | ask | show | jobs
by somat 97 days ago
I think it is part of a more general problem, I don't think anybody intends to make a terrible DSL it is just a natural progression from.

    1.we have a command line program
    2.command line args are traditionally parsed by getopt(or close relative) so we will use that(it's expected)
    3.our command line program has grown tremendously in complexity and our args are now effectively a domain specific language.
    4.congratulations, we are now shipping a language using a woefully inadequate parsing engine with some of the worst syntax in existence.
see also: ip-tables, find

I think it would behoove many of these programs to take a good look at what they are doing when they reach step 3 and invest in a real syntax and parser. It is fine to keep a command line interface, but you don't have to use getopt.