About to invest a ton of time on this. Talk me out of it.

About to invest a ton of time on this. Talk me out of it.

I am a millennial systems/backend dev for a F500, mostly C++ and Java. Never a big fan of webshit, but I finally have a web idea I want to build. Not looking to get a job in webshit, so my criteria are purely technical. I want minimal fuss. I surveyed the current state of web frameworks and narrowed it down to:
>Spring Boot
have experience with it and while it's fine, I'd rather not deal with enterprise bullshit and forced IDE usage for my fun project
>ASP.NET Core
seems fine, batteries included, reasonably performant--but I don't run Windows and don't know C#
>Ruby on Rails
- battle tested for 2 decades
- all security vulnerabilities have probably been found
- batteries included, everything you could possibly need
- an excuse to use Ruby, the most beautiful language
- only downside is performance is allegedly horrible, but that's not a huge problem when the whole thing is locked by a database connection anyway

>Next.JS / React Server Components
just no...I'm looking to do old school server side template-based HTML rendering with ZERO Javascript. But I can acknowledge that there are a lot of people going down this route.
>HTMX / Rust / Go / Elixir / $FLAVOR_OF_THE_MONTH
I don't have time to beta test your shit. Give me something that has been proven. I love Rust, but it's not for extremely high level stuff like CRUD web dev. Also, I want something where the libraries are maintained by corporations, not something one guy made and will stop fixing one day.

Thalidomide Vintage Ad Shirt $22.14

Unattended Children Pitbull Club Shirt $21.68

Thalidomide Vintage Ad Shirt $22.14

  1. 1 month ago
    Anonymous

    >Talk me out of it.
    it is old, slow, and unnecessary given the current alternatives. It is a legacy of the hipsters from yesterday year. Unlike the meme list of langs, you are better off with Golang, which is battle tested by Google and proven. If you call Go FOTM, then Ruby is last months flavor and abandoned.

    • 1 month ago
      Anonymous

      Go and its web frameworks seem to be designed for making REST APIs and calling them from React.js apps. That's not what I want to do. I want it to be completely server-side rendered, like JSP but obviously something more modern.

      • 1 month ago
        Anonymous

        >Go and its web frameworks seem to be designed for making REST APIs and calling them from React.js apps. That's not what I want to do. I want it to be completely server-side rendered

        moron, go literally has html template rendering in the standard library

        go has everything you need to do server side rendering in the standard library. routing, html rendering, session and cookie management, database connections, crypto/hashing etc...
        the thing you need to install is a database driver for mysql or postgres or whatever you are using.
        you don't even need frameworks to do web development in go. just use the standard library.

        • 1 month ago
          Anonymous

          Almost all of the examples I’ve seen of Go websites were a separate API and a React frontend. The text/template package is extremely limited. When I tried it, you couldn’t even include a header and footer and had to put that explicitly in each template. You couldn’t nest templates either.

          The problem with Go is it’s TOO simple. You end up having to reinvent the wheel for things that were solved a long time ago. That’s fine for some microservice that, say, calculates exchange rates for the Google Play Store. But in a big CRUD app, you can appreciate some things being handled for you. The fact that the docs for Go’s gin library show you how to parse a http request and get form fields out of it tells all. You shouldn’t need to do that in a high level web framework. It should be inferred, like how Rails creates routing based on the name of the controller classes. All that manual repetitive work you have to do in Go opens you up to human error bugs and vulnerabilities.

          • 1 month ago
            Anonymous

            >You couldn’t nest templates either.
            that's not how I remember that shit being years ago, here's the start of my home.gohtml from a project:
            {{define "home"}}
            {{template "head"}}
            </head>
            <body>
            {{template "headmenu" .}}
            <div class="container">
            ...

            or then I'm misunderstanding what you mean with "nesting" templates, since using templates inside templates is very doable.

          • 1 month ago
            Anonymous

            >When I tried it, you couldn’t even include a header and footer and had to put that explicitly in each template. You couldn’t nest templates either.
            That's probably changed because you can do that now.

          • 1 month ago
            Anonymous

            did you try go in 2010 or something
            because go had all that template stuff for years now

            also you want that simplicity or flexibility. you can install libraries if you really need to. but I don't like that.

          • 1 month ago
            Anonymous

            >When I tried it, you couldn’t even include a header and footer and had to put that explicitly in each template. You couldn’t nest templates either.
            That's probably changed because you can do that now.

            >You couldn’t nest templates either.
            that's not how I remember that shit being years ago, here's the start of my home.gohtml from a project:
            {{define "home"}}
            {{template "head"}}
            </head>
            <body>
            {{template "headmenu" .}}
            <div class="container">
            ...

            or then I'm misunderstanding what you mean with "nesting" templates, since using templates inside templates is very doable.

            >>A variable's scope extends to the "end" action of the control structure ("if", "with", or "range") in which it is declared, or to the end of the template if there is no such control structure. A template invocation does not inherit variables from the point of its invocation.
            https://pkg.go.dev/text/template#pkg-overview
            Straight from the docs

            You have to pass variables down explicitly to sub templates. This is horrible, repetitive and error prone. Like most of Go.

          • 1 month ago
            Anonymous

            come home, white man
            thank me later

          • 1 month ago
            Anonymous

            TS is the only reason I put up with node and js's horrible stack. Its very easy to work with and tons of examples online. Second best choice would be haskell but that's much harder for webshitting

          • 1 month ago
            Anonymous

            >The problem with Go is it’s TOO simple. You end up having to reinvent the wheel for things that were solved a long time ago.
            Damn that sounds good, I'm sold. Time to learn Go.

      • 1 month ago
        Anonymous

        Use HTMX for this. Its similar to how we all architected websites with PHP, but it's language agnostic. So use golang clojure ruby python node/bun or whatever you want on the backend.

        • 1 month ago
          Anonymous

          >how we all architected websites with PHP
          Not interested in going back in time.

          The end result will end up of the same quality as 2004 websites, where you had to tell users not to hit the back button or else the site would break.

          Every few years there is some retrocomputing movement where people rediscover an abandoned standard. People love it because it reduces complexity of the modern way to do things. Then eventually they find out the hard way why the complexity was added in the first place.

      • 1 month ago
        Anonymous

        >I want it to be completely server-side rendered
        I'm a fan of functional programming, so I would use Clojure with Hiccup and XTDB for this, Clojure and much of its ecosystem being developed by a Brazilian bank. Unlike a lot of Ruby sites like Twitter etc. nuBank never had performance problems that forced them to rewrite their whole infrastructure, even when they got huge with 80 million customers.

        But you do you. If you like Ruby that much and enjoy writing it, do it in Ruby.
        But then I hope you're not very ambitious as to how many people you want to reach, because you're setting yourself up for a complete re-write. Most of those companies that started out with Ruby 15-20 years ago had to switch to a more serious platform like Java/Scala

        • 1 month ago
          Anonymous

          There's some truth there but you also sound like you evaluate performance by superstition and never touch a profiler

          • 1 month ago
            Anonymous

            I use profilers all the time.
            CIDER has a simple profiler built in, and then there are external tools and libraries I use too.

            The kind of stress on the system that real growth causes is hard to test for, though.

            Again though, this doesn't matter if you're not aiming for millions/billions of users.

  2. 1 month ago
    Anonymous

    >Talk me out of it.
    dynamic types

    • 1 month ago
      Anonymous

      It's okay, just a different mindset. Not that big of a problem for webshitting where the goal is to shit out functionality as fast as possible, not to be correct. You can always unit test to overcome the gotchas of dynamic typing.

    • 1 month ago
      Anonymous

      there's a gem that adds static type checking i think

      • 1 month ago
        Anonymous

        after my negative experiences with TypeScript, I'm very skeptical of trying to impose a complex static type system on a language and ecosystem that isn't built for it from the ground up.

        • 1 month ago
          Anonymous

          well then fricking what do you want from me
          you're the one who wants to use Ruby

          go use Crystal then

  3. 1 month ago
    Anonymous

    i'm trying to decide which framework to invest time in too, except that i am actually looking for a job in it. laravel seems more prominent than rails while providing the same features and more, beloved by its community and php is stable software that has had years to fix all its mistakes. have any anons worked with it? how did it go?
    on the other hand, elixir is pretty old by now so i wouldn't see that as a reason to not try it

    • 1 month ago
      Anonymous

      There are definitely more jobs in PHP, but they won't be good jobs lol.

    • 1 month ago
      Anonymous

      not only elixir itself has been out a while, its mainly syntactic sugar on OTP, a battle tested platform which is much older and better than rails.
      I would recommend it purely because of the liveviews you get for free in Phoenix, this means reactive applications without having to write any JS. Other frameworks have started ripping it off as well (I know one of the new C# web frameworks has a similar feature)

    • 1 month ago
      Anonymous

      If you're primarily looking for a job don't consider anything outside of JavaScript, PHP, Java, Python, C# and maybe Go (and even that's pushing it). The vast majority of web development jobs are using at least one of the first three.

      Ignore anyone suggesting shit like Elixir, Clojure, Haskell etc. All of those are irrelevant and always will be.

  4. 1 month ago
    Anonymous

    >the faustian pact that killed ruby
    begone, hipster satan

  5. 1 month ago
    Anonymous

    why don't you blogpost on your reddit?

  6. 1 month ago
    Anonymous

    >Also, I want something where the libraries are maintained by corporations, not something one guy made and will stop fixing one day.
    This is the one big flaw elixir has still. Otherwise it's perfect for the webshitting that I do. Although if you're that concerned about it I would think it would push you to C# over ruby. Ruby is pretty dead and isn't coming back.

    • 1 month ago
      Anonymous

      That's definitely true, Ruby is on the decline. It's sad because it is so much better than Python. That said, there will probably be 10-20 years of Ruby [on Rails] code still out there as legacy code, the same way some people are still to this day paid to maintain Delphi/Pascal code.

  7. 1 month ago
    Anonymous

    If it makes you money you can just throw more money at Heroku to make it go faster
    I work at a Rails shop doing other things and while I can’t say I’m a fan of Ruby or Rails, it has its perks and it’s very much something one guy can pick up with the Hartl tutorial and do good stuff with
    I’ve used other webshit that seems to assume you have a front end and backend engineer each and they just complicate shit too much

  8. 1 month ago
    Anonymous

    This whole idea of making a client-side app talking to a REST/GraphQL/whatever backend API was created by big companies so they can easily replace devs. It's not good for your 1-5 man project. Yet everyone does it the BigCo way, regardless of how small they are.

    It's not faster, either. The React way can never be faster. There will always be that extra step in the middle of Javascript converting data into HTML, when you could just be sending new HTML pages.

  9. 1 month ago
    Anonymous

    >Jupyter notebooks that hit an AWS lambda + API gateway
    if you want it to be purely technical why even build a UI, if you plan to actually create a product though see bellow.
    >SSR
    Why do this? it increases your compute costs if you actually want to scale, instead you could use vanilla JS and html so that you can host a static file/build in s3 type storage which is very cheap.

    do you plan on self hosting?

  10. 1 month ago
    Anonymous

    >Talk me out of it.
    Why? Rails is great.

  11. 1 month ago
    Anonymous

    >I am a millennial
    any more irrelevant details?
    perhaps your wiener size?

    • 1 month ago
      Anonymous

      it's relevant because I'm older and experienced unlike most of this board

  12. 1 month ago
    Anonymous

    The funny thing is that even amongst people who are webdevs, many do not understand the concept of a full stack framework

  13. 1 month ago
    Anonymous

    how big is this personal project?
    what are the technical requirements?
    expected user base?

  14. 1 month ago
    Anonymous

    Use Phoenix and Elixir
    will take a little time to learn Elixir and OTP but its superior to ruby on rails in every way. Also the lang was inspired by Ruby so syntactically there are similarities

  15. 1 month ago
    Anonymous

    lmaoing at the thought of Golang knuckle-draggers writing thousands of lines of code and stitching together a half-assed equivalent of a framework because they don't see the point of frameworks.

    • 1 month ago
      Anonymous

      Go does have a lot of packages out there though

  16. 1 month ago
    Anonymous

    >Talk me out of it.
    Why would we? Using anything other than Rails/Laravel/Django on a greenfield CRUD project that only you will be working on is just silly. I wish AdonisJS were mature and corporate backed but it isn't so who cares.

  17. 1 month ago
    Anonymous

    >negative experience with typescript
    if you struggled with that then stick to dynamic, or languages with trash type systems like Java

  18. 1 month ago
    Anonymous

    So Elixir, PHP and Go are the way to go is what I hear?

    • 1 month ago
      Anonymous

      For projects YOU will work on that's the general consensus
      Elixir - Phoenix
      PHP - Laravel/Symphony
      Go - Htmx
      C# - ASP.NET or HTMX

    • 1 month ago
      Anonymous

      I wouldn't touch PHP, even modern PHP, with a ten foot pole but yes. The only caveats with elixir is some immature libraries and, personally, I mildly islike how they designed their database wrapper library. Bonus for elixir is live view, it makes SSR and live ui really easy.

  19. 1 month ago
    Anonymous

    what is F500? Formula 1 but poorgay edition?

    • 1 month ago
      Anonymous

      it means he's working for israelites who hate him

  20. 1 month ago
    Anonymous

    Netflix gave up on it back in 2016 because it can't scale. Stick to stuff that has a proven track record by being used by big companies. They already spent and wasted millions of dollars to find out what tech works and what doesn't.

  21. 1 month ago
    Anonymous

    Why do people immediately jump to talking about huge tech company scaling issues? You do realise that's irrelevant fantasizing with regards to the scope of your own projects?

    • 1 month ago
      Anonymous

      Bloat like Rails and Django are unbelievably slow for modern hardware and it's easy to run into "scaling" issues with even a few users.

    • 1 month ago
      Anonymous

      yeah it's hilarious, delusions of grandeur getting in the way of productivity

      If my little website reaches Airbnb scale where some scripting language doesn't work anymore, I'll pay an army of jeets to rewrite it. My main concern is actually memory usage more than speed, as I want to be able to host multiple projects on the same $20 VPS.

      • 1 month ago
        Anonymous

        stop embracing bloatware

      • 1 month ago
        Anonymous

        Unless you have tons of hardware to throw at it you'll have to rewrite your bloatware when you have 10 users. Discourse and Gitlab are the perfect examples of Rails "software" where you need a server with 16GB of RAM just for the site to be stable for 10 users and half the requests still have >200ms response times. It's all so pathetic.

  22. 1 month ago
    Anonymous

    Do it, you can build fast with rails and Ruby is fun to program in.

Your email address will not be published. Required fields are marked *