{"slug": "kcl", "name": "KCL", "category": "media", "category_name": "Media and creative", "description": "", "recommenders": 3, "commenters": 5, "warners": 1, "score": 1.835, "rising": -0.98, "first": "2025-11-23", "latest": "2026-01-21", "why": "For more basic configs, I would potentially look into KCL", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 3, "neutral": 0, "compare": 1, "warn": 1}, "spark": [1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "For more basic configs, I would potentially look into KCL", "kind": "", "icon": true, "domain": "kcl-lang.io", "github_repo": null, "official_url": "https://www.kcl-lang.io", "pricing": "", "aliases": ["KCL"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 747271888, "item_id": 46704493, "url": "https://news.ycombinator.com/item?id=46704493", "by": "rjzzleep", "date": "2026-01-21", "version": null, "stance": "recommend", "quote": "KCL fixes a lot of issues, but it doesn't seem to gain any traction.", "excerpt": "KCL fixes a lot of issues, but it doesn't seem to gain any traction. And it's not this unusable mess that ksonnet or jsonnet is. https://www.kcl-lang.io/", "context": "", "use_case": "config language for Kubernetes", "switched_from": "", "story": "Building Robust Helm Charts"}, {"id": 746357217, "item_id": 46647326, "url": "https://news.ycombinator.com/item?id=46647326", "by": "athorax", "date": "2026-01-16", "version": null, "stance": "recommend", "quote": "For more basic configs, I would potentially look into KCL", "excerpt": "I like CUE a lot. We use it pretty heavily for schema enforcement of CRDs. That being said, it is pretty complex and learning to use it was anything but straight forward. For more basic configs, I would potentially look into KCL https://www.kcl-lang.io/ It has a much simpler usage overall especially if you are only really trying to enforce some config rules. The other alternative is to just use whatever language you ", "context": "", "use_case": "basic config validation", "switched_from": "", "story": "Cue Does It All, but Can It Literate?"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 736473904, "item_id": 46029619, "url": "https://news.ycombinator.com/item?id=46029619", "by": "pedropaulovc", "date": "2025-11-23", "version": null, "stance": "warn", "quote": "My main beef with zoo is the fact that they are promoting vendor lock-in by forcing users to use their cloud-hosted geometry kernel", "excerpt": "I've been using zoo and its KCL language with some success for boundary-representation CAD writing. If I understood correctly, \u00b5cad serves the same purpose. Comparing code samples between both of them, I personally enjoy KCL's pipelined approach more. My main beef with zoo is the fact that they are promoting vendor lock-in by forcing users to use their cloud-hosted geometry kernel with absolutely no local alternative", "context": "", "use_case": "BRep CAD scripting", "switched_from": "", "story": "\u00b5cad: New open source programming language that can generate 2D sketches and 3D"}]}], "who": [], "tags": [], "use_cases": ["config language for kubernetes", "basic config validation", "brep cad scripting"], "compared": [{"slug": "zoo", "name": "Zoo", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=46027216", "title": "\u00b5cad: New open source programming language that can generate 2D sketches and 3D", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=46676708", "title": "Building Robust Helm Charts", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46588607", "title": "Cue Does It All, but Can It Literate?", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46442624", "title": "GitHub \u2013 tomasf/Cadova: Swift DSL for parametric 3D modeling", "mentions": 1}], "sentiment_by_month": {"2025-11": {"warn": 1, "recommend": 1}, "2025-12": {}, "2026-01": {"compare": 1, "recommend": 2}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {}, "2026-06": {}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "versions": [], "version_unnamed": 0, "family_ref": null, "runs_on": null, "lines": [], "quotes": [{"id": 747271888, "item_id": 46704493, "url": "https://news.ycombinator.com/item?id=46704493", "by": "rjzzleep", "date": "2026-01-21", "version": null, "stance": "recommend", "quote": "KCL fixes a lot of issues, but it doesn't seem to gain any traction.", "excerpt": "KCL fixes a lot of issues, but it doesn't seem to gain any traction. And it's not this unusable mess that ksonnet or jsonnet is. https://www.kcl-lang.io/", "context": "", "use_case": "config language for Kubernetes", "switched_from": "", "story": "Building Robust Helm Charts"}, {"id": 746357217, "item_id": 46647326, "url": "https://news.ycombinator.com/item?id=46647326", "by": "athorax", "date": "2026-01-16", "version": null, "stance": "recommend", "quote": "For more basic configs, I would potentially look into KCL", "excerpt": "I like CUE a lot. We use it pretty heavily for schema enforcement of CRDs. That being said, it is pretty complex and learning to use it was anything but straight forward. For more basic configs, I would potentially look into KCL https://www.kcl-lang.io/ It has a much simpler usage overall especially if you are only really trying to enforce some config rules. The other alternative is to just use whatever language you ", "context": "", "use_case": "basic config validation", "switched_from": "", "story": "Cue Does It All, but Can It Literate?"}, {"id": 743684592, "item_id": 46480287, "url": "https://news.ycombinator.com/item?id=46480287", "by": "snitty", "date": "2026-01-03", "version": null, "stance": "compare", "quote": "I find this much more readable than KCL[0]", "excerpt": "I find this much more readable than KCL[0], but I also understand the ultimate goals of the two are probably a bit different. [0]: https://zoo.dev/docs/kcl-samples/pillow-block-bearing", "context": "", "use_case": "", "switched_from": "", "story": "GitHub \u2013 tomasf/Cadova: Swift DSL for parametric 3D modeling"}, {"id": 736479857, "item_id": 46029991, "url": "https://news.ycombinator.com/item?id=46029991", "by": "its-summertime", "date": "2025-11-23", "version": null, "stance": "recommend", "quote": "", "excerpt": "Doesn't it solve the problem by being local? https://codeberg.org/microcad/microcad", "context": "", "use_case": "", "switched_from": "", "story": "\u00b5cad: New open source programming language that can generate 2D sketches and 3D"}, {"id": 736473904, "item_id": 46029619, "url": "https://news.ycombinator.com/item?id=46029619", "by": "pedropaulovc", "date": "2025-11-23", "version": null, "stance": "warn", "quote": "My main beef with zoo is the fact that they are promoting vendor lock-in by forcing users to use their cloud-hosted geometry kernel", "excerpt": "I've been using zoo and its KCL language with some success for boundary-representation CAD writing. If I understood correctly, \u00b5cad serves the same purpose. Comparing code samples between both of them, I personally enjoy KCL's pipelined approach more. My main beef with zoo is the fact that they are promoting vendor lock-in by forcing users to use their cloud-hosted geometry kernel with absolutely no local alternative", "context": "", "use_case": "BRep CAD scripting", "switched_from": "", "story": "\u00b5cad: New open source programming language that can generate 2D sketches and 3D"}]}