• adriator@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    Its compiler is very fast, the libraries are great, importing new packages is easy and straightforward, HTTP libraries and frameworks are some of the best I’ve worked with.

    Compared to Java or C#, there really isn’t that much boilerplate.

    • invisi1407
      link
      fedilink
      arrow-up
      2
      ·
      edit-2
      1 year ago

      Why is “the compiler is very fast” a good argument though? I’d rather the compiler spends 1 minute and does it well and optimized instead of 10 seconds and I have to write Go, honestly.

      In many cases, for many things, compiling isn’t the part that takes the longest in development anyway.

      There are some great aspects to Go, like how you can map fields of a struct to json properties for Marshal/Unmarshalling and channels is an interesting idea, but other than that it doesn’t seem to me like there’s a lot of pros over, say, C# which is almost ubiquitous in many industries these days.

      • adriator@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Because after waiting for 10+ minutes for a project to build in Android Studio, something like Go feels like a godsend. Also, you’re implying that quicker is worse when it comes to compilers and Golang, which is definitely not the case, and Go’s compiler produces very well optimized executables.

        • invisi1407
          link
          fedilink
          arrow-up
          1
          ·
          edit-2
          1 year ago

          Do you think the same project, but written in Go, would compile be significantly faster and if so, why can’t the compiler for the Android project achieve a similar speed?

          Edit: added “compile”, as that’s what I meant.

          • adriator@lemmy.world
            link
            fedilink
            arrow-up
            2
            ·
            1 year ago

            I 100% think it would. Android Studio is hot garbage. Not just the compiler, but the whole build process.

            Gradle configuration syncing takes over a minute for the most minor of changes when building a project. Importing a new package in Go takes less than a second in most cases.

            Changing a version of any imported package in Android Studio has a 50-50 chance of breaking everything. Heck, even creating a new project in Android Studio has a 50-50 chance of working.

            The reasons why Android Studio can’t achieve similar speeds are plenty, but here are some:

            • The whole thing is a patchwork of randomly assembled pieces, with a complete mess of UI and unbelievably confusing settings.
            • It is also being developed by Google and JetBrains, so no single entity is responsible for the product.
            • The fact that it’s developed in Java doesn’t help, sometimes you can almost see the monstrous garbage collector having to swipe away the memory while the IDE freezes and you have to wait 30 seconds for the app to become responsive again.
            • Android Studio is a resource hog, requiring at least 4 GB of RAM to work properly. I had to buy another 8 GB RAM stick just for it to function properly. Also, no matter what CPU you have, it’s still going to use it 100%.
            • invisi1407
              link
              fedilink
              arrow-up
              1
              ·
              1 year ago

              Those are fair points about Android Studio - I’ve never used it, or made apps, and was thinking simply that the compiler wouldn’t make much of a difference in a large project; hadn’t considered all the environmental disaster about Java and Android development.

    • 1hitsong@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      I’d take C# over Go any day.

      You call a function, check for err. You call a function, check for err. You call a function, check for err. You parse a string to a number, check for err.

      Some of the ugliest code I’ve worked in. Just give me a try catch!

      Is it fast! I’ll give it that.