Intercal, YAML, and Other Horrible Programming Languages

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
sponsored
  1. dhall-lang

    Maintainable configuration files

    You can have trailing commas just fine: https://github.com/dhall-lang/dhall-lang/pull/956

    However, `dhall format` is _very_ opinionated, and will remove it.

  2. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  3. wasp

    The batteries-included full-stack framework for the AI era. Develop JS/TS web apps (React, Node.js, and Prisma) using declarative code that abstracts away complex full-stack features like auth, background jobs, RPC, email sending, end-to-end type safety, single-command deployment, and more.

    - should I come up with my own declarative, configuration-like DSL? It would probably end up similar to Dhall, but this means I can do whatever I want - I can make it as ergonomic and custom as I want to (which I guess is both good and bad :D!). It might also allow for nicer interop with Javascript and other languages.

    In this case, we went for the last option, mostly because we felt the most important thing is ergonomics and interop, but well, I am still curious how would other directions play out. Plus at the end we didn't yet get to the point where language is more expressive than JSON (code example: https://github.com/wasp-lang/wasp).

    Maybe I am just missing a better design process, but it seems to me that with language that it is hard to say if it is good or not until you try using it.

  4. Pulumi

    Pulumi - Infrastructure as Code in any programming language 🚀

    Depending on the use-case, I think you may be right. Especially if you can use a language that the team understands and has tooling for and you don't take in outside configuration.

    Pulumi is an interesting tool in this direction. Rather than write in something like teraform, you just use your programming language of choice. Pulumi is just a library you use.

    https://www.pulumi.com/

  5. ansible-dhall-jsonnet

    A few months ago I explored using Dhall and Jsonnet to re-write an Ansible playbook [0,1]. I wanted to like Dhall, but found the type system got in the way more than it helped, while Jsonnet was very productive and a huge improvement over YAML.

    [0] https://www.kmr.me/posts/dhall_jsonnet

    [1] https://github.com/retzkek/ansible-dhall-jsonnet

  6. ShellCheck

    ShellCheck, a static analysis tool for shell scripts

    I highly recommend https://github.com/koalaman/shellcheck It's a wonderful piece of software to help and guide users writing shell scripts. Hook it up to your editor/IDE and all those arcane caveats will be things of the past.

  7. oils

    Oils is our upgrade path from bash to a better language and runtime. It's also for Python and JavaScript users who avoid shell!

    What is funny is that a shell script does a pretty good job at giving you a nice, programmable way to invoke software. But, that is too complicated :-)

    Ha, I agree, although I also think shell is a bit impoverished. It works but there are valid reasons people don't use it.

    I hope to add the "missing declarative part" to shell in https://www.oilshell.org :

    https://lobste.rs/s/6oxpe3/s_lot_yaml#c_mje209

    Prediction: we'll see a lot more shell in YAML in the coming years, with the same examples shown in the original article (Github Actions, didn't know about Helm Charts) IMO we should get rid of the YAML.

    https://lobste.rs/s/v4crap/crustaceans_2021_will_be_year_tec...

  8. config

    configuration library for JVM languages using HOCON files

    There is. It's called HOCON and I'm surprised it's not mentioned yet:

    https://github.com/lightbend/config/blob/master/HOCON.md

    HOCON is the "human optimised config object notation" and is a superset of JSON. All valid JSON is valid HOCON but then it goes and adds lots of other features specifically designed for writing usable config files.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • INTERCAL, YAML, And Other Horrible Programming Languages

    12 projects | /r/programming | 25 Feb 2021
  • Simple, lightweight, extensible, configuration management library for Go

    1 project | news.ycombinator.com | 24 Dec 2024
  • Adding algebraic data types to Nickel

    3 projects | news.ycombinator.com | 7 Sep 2024
  • Primitive Recursive Functions for a Working Programmer

    3 projects | news.ycombinator.com | 4 Aug 2024
  • User-configurable settings in Symfony applications with jbtronics/settings-bundle (Part 3): Migrations and environment variables

    1 project | dev.to | 17 Jul 2024

Did you know that Haskell is
the 29th most popular programming language
based on number of references?