Hacker News new | past | comments | ask | show | jobs | submit login

Yeah, I misunderstood your post—sorry about that. I thought you said “Guix and Nix show us that scheme is the answer”. In any case, I don’t know how you conclude that Guix won over Nix nor how you conclude that the winner is superior to all other configuration languages. It’s especially counter-intuitive that it should be an intermediate representation—the IR should not be executable, it should only be descriptive. The IaC technology shouldn’t need to interpret anything, and the language you pass into it therefore shouldn’t support evaluation/execution.



> I don’t know how you conclude that Guix won over Nix

There is no contest that I am aware of. I used GuixSD vs NixOS as an example of how adapting existing standards can provide a lot more benefits with a lot less effort than coming up with incompatible new languages.

> how you conclude that the winner is superior to all other configuration languages

Here is a condensed list:

1. 60+ years of successful use of S-expressions in all of the needed roles (programming language, intermediate representation, configuration language, template language, network protocols).

2. Many proven Scheme implementations available for use in any scenario, from clusters to microcontrollers.

3. Easily amenable to formal analysis and verification. Excellent tools such as ACL2 available and in use for many decades.

> It’s especially counter-intuitive that it should be an intermediate representation—the IR should not be executable, it should only be descriptive.

S-expressions do both.

> The IaC technology shouldn’t need to interpret anything, and the language you pass into it therefore shouldn’t support evaluation/execution.

That is an unexpected thing to say about an acronym that stands for "Infrastructure as Code." You cannot get automation out of static data.


> Here is a condensed list:

I don’t find that list very compelling. Longevity in particular isn’t very interesting given that Scheme has gained very little ground in 60 years. That seems like an indicator that there is something wrong. I would sooner use Python or JavaScript, which are familiar to programmers in general and which have gained lots of traction in their respective lifetimes.

> S-expressions do both.

Right, that’s the problem. :)

> That is an unexpected thing to say about an acronym that stands for "Infrastructure as Code." You cannot get automation out of static data.

It’s a matter of architecture and separation of responsibilities. The IaC technology takes static data and automated the creation, mutation, and deletion of the resources specified therein. The client generates that flat data by evaluating a program over some inputs.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: