Hacker News new | ask | show | jobs
by eternityforest 1015 days ago
I'd rather they just fix whatever problem or missing feature caused me to want logic in the config file.

Ideally, why do I even need a nontrivial config file at all? I want more stuff that just works, and has standard interfaces to find and connect to all it's other pieces.

Even manually executing SQL to make a database is too much.

I don't want make files at all. They're only there because C/C++ doesn't handle it for you. Python doesn't need them. Node.js doesn't need them. They have build config stuff, but it's nowhere near as in depth as makefiles.

Apache is insane with all the different configurations, and how it's separate from PHP and MySQL and it all has to be configured to work together.

Lots of tools just work. They have few options, and all the important configuration options are set at runtime automatically based on input data, auto discovery, and things like that. Install and run. That's it.

If I need a full programming language to configure, then whatever I'm doing probably isn't configuration, it's more like plugin writing.

1 comments

The point is that the config gets more and more complex, requiring more and more features, until you get a rather ugly turing-complete programming language. And the further point is that with Lisp, you don't need any of that. Code is data. Data is code.
But then you're moving towards less of an app with configuration, and more of a "Here's a new programming language and frameworks to write your own app!" Situation.

If possible I'd rather examine why people need so many config options, and design from the start so that things don't need to be manually configured as much.

If a turning complete config really is the way to go, I'd rather just use JS or Python, not something metaprogramming focused that just invites and almost requires building more layers on top to do real programming.

I think that you really have to use some Lisp to get the point here. The point is it's the best of both worlds, and the problem somewhat vanishes. But I don't know if I can convey that to you in words.