• alganet 3 hours ago

    What is the criteria for chosing a framework vs implementing using language fundamentals?

    I don't care about one over another, but I would prefer if all examples followed the same approach. It would make the comparison more valuable.

    • MortyWaves 2 hours ago

      I wondered this too. Personally, as someone that enjoys using C# a lot I was somewhat surprised it's example went with a plain HttpListener like that. But, that seems to be the general theme of all the examples there.

      Personally I think a more real world method would have been to use the most popular web server framework for the given language. Someone else already commented that the Swift example would never do it this way in a real application.

      • cpfohl 2 hours ago

        Same thought! Python uses FastAPI. C# with ASP.NET looks similarly terse, and ASP.NET is “built in” (kinda).

        var app = WebApplication.Create();

        app.MapGet("/people", () => new[] { new Person("Ana"), new Person("Filipe"), new Person("Emillia") });

        app.Run();

        record Person(string Name);

        The above (struggling to find the backtick on my Mobile keyboard) is straight from the ASP.NET website: https://dotnet.microsoft.com/en-us/apps/aspnet/apis

      • brabel 2 hours ago

        It seems that the line is drawn on whether it's possible to do HTTP and JSON using the stdlib without having to write a HTTP message and JSON parser. For the cases where JSON is not in the stdlib, they seem to just use a library. But yeah, that makes the comparison less valuable because ALL languages could have used a library that lets you do the equivalent of the Python version.

        But it's still valuable to know which languages support this out-of-the-box, perhaps.

        • ericcholis an hour ago

          I was wondering this as well. The Python example almost felt like cheating with FastApi....but I suppose it's also pythonic.

        • phtrivier 4 hours ago

          Would have been even more interesting to split the code in different folders (maybe only keeping the global Makefile) as it would have demonstrated the level of boilerplate / config / dependencies needed for what is basically the "hello world" of the web.

          • frizlab 4 hours ago

            The Swift server is implemented using NIO directly, which nobody will do, ever. They probably should’ve used Vapor or Hummingbird…

            • zihotki 2 hours ago

              What problem does it address? What is being compared?

              • VeejayRampay 3 hours ago

                this thread is going to be dozens of replies of people overly defensive of their language producing the whole gamut of "the code in LANGUAGE_X is not optimal, it should use SOME_TECHNOLOGY instead"

                • Timwi 3 hours ago

                  Maybe that's why there's no example in C or C++.

                • indulona 2 hours ago

                  i am surprised at how many languages look more like some kind of yaml configuration file rather than actual program.

                  also of note is to notice how many languages lack good support in standard library and therefore require much more code to be needed.

                  • mtsr 2 hours ago

                    > also of note is to notice how many languages lack good support in standard library and therefore require much more code to be needed.

                    That’s fine for web oriented languages. But I sure hope others aren’t including a complete HTTP stack in the standard library.

                    • brabel an hour ago

                      Zig is a system language but it still has HTTP and JSON in the stdlib.

                  • undefined an hour ago
                    [deleted]