1. 19
    1. 9

      I love the smell of auto-generated code in the morning.

      If you weren’t aware, all official AWS SDK’s are automatically generated, and generally not pleasant to use. The only passable parts are the hand-written ones, and those are minority of the total API surface (for example, Python’s boto3 SDK only has hand-written helpers for s3, dynamodb, and ec2).

      It’s understandable knowing the number of different services with API’s they provide, but it’s still somewhat annoying.

      1. 4

        Many of AWS’ internal services have the server-side interface code auto-generated as well. This is a conscious design decision from leadership: to have an interface language which auto-generates code on both sides.

        There are certainly some benefits to this design, but I found it extremely clunky to work with, especially since the interface language is quite limited in what it’s able to express. Made for worse APIs for our end users in my opinion.

        1. 3

          FWIW, I have actually found the Rust SDK they produce to be relatively tolerable. The underlying APIs are obviously deeply variable with respect to quality and consistency and just general coherency, but that’s just how AWS is in general and not really an artefact of the API SDK generation specifically.

          1. 2

            the python one is especially irritating to work with as some modules are generated at runtime so you cannot even import them when you write code.

            I was hoping the rust one wasn’t going to be generated.