1. 21
    1. 3

      I’ve bounced off phoenix a few times, and unfortunately this is, in my personal opinion, exemplary why. It appears to be disappearing, like so much front end stuff, into a deeply inscrutable and arcane rabbit hole in which the common language of software is discarded and deep historical understanding of all prior revisions is required to understand this one. What is it to inflect something? Why would you use the word ‘stream’ to denote local front end collections? The profusion of concepts and divergent naming schemes. It’s tough to engage with.

      1. 8

        What is it to inflect something?

        It’s the process of transforming the case (e.g., PascalCase to camel_case) and/or pluralization of something, and things of that nature. In this example, it’s being able to go from OAuthCallbackController to oauth_callback_url. IIRC the word comes from Rails: https://api.rubyonrails.org/v7.0.4/classes/ActiveSupport/Inflector.html

        Why would you use the word ‘stream’ to denote local front end collections?

        The “stream” denotes that neither the frontend nor the server intends to load all objects in the collection into memory at once.

      2. 8

        I understand “stream” and “inflect” to be common language of software, not Phoenix specific.

        I really don’t like this idea that we should be able to develop software today without knowing how software has been developed up to now. I’m convinced ours is the only trade that places value on this idea; every other trade seems to place value on learning the past so they can grow.

        This ignorance of the past is how we got “Server Side Rendering” pitched as some kind of new idea that had never been done before. It’s also how we got a whole bunch of new phrases (actor model, micro-services, etc) to describe things we already should have known (OOP).

      3. 3

        What is it to inflect something?

        Process of word formation to express different grammatical categories such as […] number, […]. I know that it is not common knowledge among English speakers that such word exists, but in many languages it is used all the time to change gender of the word depending on the context.

        Why would you use the word ‘stream’ to denote local front end collections?

        It is not name for front end collections, but it is coming from verb to stream as you stream events that is happening on the collection instead of operating on collection itself.

        I do not find it hard to understand without understanding background as everything has established meaning already outside of the Phoenix itself.

      4. 2

        I’m pretty much in the same boat. Phoenix was my goto solution for a while, and then LiveView happened. There’s a lot happening in there, clearly, but I find it less of a load to combine Svelte talking to an Elixir backend for my current project. I wish this were otherwise, i.e., that there were more hours in a day or that I had more energy…

        1. 2

          Luckily, you should still be able to enjoy the subset of Phoenix that you use. I might suggest that the path literals now (~p) are a nice replacement for the somewhat gross Routes.user_session_path(socket, :new)) instead of just ~p"/users/login". The other stuff, especially Tailwind and LiveView proper, you can leave out of your project IIRC. :)