5 ms·
I really hope that Lisp will get a comeback in the space that is now occupied by XML and YAML. It's always the same story: Narrow minded engineers chose YAML (f
by tsss 6y ago
I really hope that Lisp will get a comeback in the space that is now occupied by XML and YAML. It's always the same story: Narrow minded engineers chose YAML (formerly XML) as the trendy simple configuration language and it works fine for a while. 3 years later they inevitably hit the ceiling with YAML and either start badly implementing new language features on top of YAML (see Gitlab CI's `when`, `only`, `except`, etc. syntax) that are never flexible enough or write hugely complicated templating tools (see Kustomize and Helm for K8S) for things that would amount to a simple if-expression in Lisp. This is the use case where Lisp can really shine. Configuration is almost always untyped and doesn't start out with a library ecosystem. Most of the time you just need a way to write a simple nestable DSL that is human readable. There's probably no language that makes this simpler than Lisp: Any college freshman could write their own interpreter. But it is also extremely flexible if it turns out that you need more power than YAML offers.
- fsloth 6y agoI don't think XML has been 'trendy' for ages :) XML is totally fine for storing structured dumb data. Don't program in XML. I would not be so bullish about implementing your own interpreter - as the best obvious choice every time. Numbers especially are hard to get correct unless you know what you are doing.
- justinmeiners 6y agoI don't think this user is advocating using home grown interpreters. Rather it's easy to understand how they work completely. The point is complex configurations tend to grow into a poor programming language. They would be far better as a lisp DSL.
- peppery-idiot 6y agoPretty much everything in CI is driven by YAML or JSON or YAML string as a value in a JSON property and they uniformly suck. So I think GP is correct.
- ipnon 6y agoIt's amazing how people who call themselves professional software engineers can be unaware of the fact they are accidentally writing a (horrible) programming language. People with computer science degrees look confounded when you even let the letters "DSL" pass your lips.