• @asyncrosaurus@programming.dev
    link
    fedilink
    10610 months ago

    I continue to be baffled and amused by the complete meltdown of the typescript community over the actions of a single man on a single package. The only people who have legitimate gripes are those that had been actively contributing and whose work was erased. The rest of you are acting absurdly childish. The anger and vitriol being thrown at anyone who disagrees on how to write javascript would make me embarrassed if I was associated or involved in the ts community.

  • kingthrillgore
    link
    fedilink
    4210 months ago

    When I saw “dhh” on the post about this turbo decision that said it all really. Dhh is a tool.

  • @00dani@lemmy.blahaj.zone
    link
    fedilink
    3610 months ago

    huh. what was the rationale for removing it in the first place? seems like a waste to throw away a whole codebase worth of perfectly good type annotations

  • @redcalcium@lemmy.institute
    link
    fedilink
    2210 months ago

    People seems to be riled up by this, but turbo is mostly used with ruby on rails, right? I’m not familiar with ruby on rails, does it actually support some form of static typing it type hints? From the blog post, the dev (which is also the ruby on rails creator) doesn’t seem to be a fan of bolting static typing into dynamic typing language.

    • @tvbusy@lemmy.dbzer0.com
      link
      fedilink
      English
      1810 months ago

      RoR is very… specific. Some love it because it comes with magic. Many hate it for the same reason.

      You either knows the magic and love it, or you hate it with a passion. You never really know when (not if) your change will break the system because it’s supposed to name in a very specific way that work by, again, magic.

    • umbraroze
      link
      fedilink
      1010 months ago

      In Ruby, the convention is usually that things are duck-typed (the actual types of your inputs don’t matter as long as they implement whatever you’re expecting of them, if not, we throw an exception). Type hinting could be possible, but it basically runs contrary to the idea.

      Now, Ruby on Rails developers are expecting some kind of magic conversion happening at the interfaces. For example, ActiveRecord maps the database datatypes to Ruby classes and will perform automated conversions on, say, date/time values. But from the developer perspective it doesn’t generally matter how this conversion actually happens, as long as there’s something between the layers to do the thing.

    • magic_lobster_party
      cake
      link
      fedilink
      119
      edit-2
      10 months ago

      CI/CD is useful regardless of which language you’re using. Sooner or later some customer is going to yell at you because you didn’t discover the fatal error before deploying.

        • @AstridWipenaugh@lemmy.world
          link
          fedilink
          4910 months ago

          CICD isn’t an alternative to testing your own work locally. You should always validate your work before committing. But then once you do, the CICD pipeline runs to run the tests on the automation server and kicks off deployments to your dev environment. This shows everyone else that the change is good without everyone having to pull down your changes and validate it themselves. The CICD pipeline also provides operational readiness since a properly set up pipeline can be pointed to a new environment to recreate everything without manual setup. This is essential for timely disaster recovery.

          If you’re just working on little projects by yourself, it’s usually not worth the time. But if you’re working in anything approaching enterprise grade software, CICD is a must.

        • @Stumblinbear
          link
          410 months ago

          He says as though he’s never had two PR merges conflict logically with each other

            • @Stumblinbear
              link
              1
              edit-2
              10 months ago

              When working in teams, merging in two pull requests with seemingly unrelated changes is common practice. If I had to rebase and re-run tests every time another PR got merged in while mine was awaiting reviews, I’d spend most of my time running tests

    • @jmk1ng@programming.dev
      link
      fedilink
      5710 months ago

      Did it work? How do you know that? A consumer of your package sends a int when your package expects a string.

      What now?

      • sik0fewl
        link
        fedilink
        4510 months ago

        Consumer just needs to write 4x as many unit tests to make up for lack static typing. Hopefully the library author has done the same or you probably shouldn’t use that library.

        • @marcos@lemmy.world
          link
          fedilink
          610 months ago

          4x as many unit tests

          Well… the people fighting against TS are simply not testing things thoroughly. So they are not writing those tests.

          Some times that’s even perfectly ok. But you don’t want to build things over a complex library that has this attitude.

          (Except for svelte. It’s meaningless for svelte, as TS was always a really bad fit for it.)

        • @Stumblinbear
          link
          210 months ago

          It’s ok, just do what my company does and write no tests at all!

      • Null User Object
        link
        fedilink
        -1610 months ago

        Theoretically, they’ll test and notice that doesn’t work and fix their code before they deploy it to production.

        • The Quuuuuill
          link
          fedilink
          English
          610 months ago

          Where can you point to other developers evidence that the code in git matches the code you deployed? Deploying locally built packages to prod is an automatically fireable offense because its not auditable

          • Null User Object
            link
            fedilink
            010 months ago

            WTF are you talking about? All I’m saying is that if you write code (that in the context of this discussion passes arguments to a method you didn’t write, that may not be the type the author of the method expected someone to pass, but really, that’s completely beside the point), you should, oh, I don’t know, maybe test that it actually works, and maybe even (gasp) write some automated tests so that if anything changes that breaks the expected behavior, the team immediately knows about it and can make appropriate changes to fix it. You don’t need a strongly typed language to do any of that. You just need to do your job.

      • Pyro
        link
        fedilink
        English
        710 months ago

        I thought it was clear: they’re implying JS is simpler/faster to write and deploy because transpilation is necessary when using TS (unless you use a modern runtime).