this post was submitted on 14 Jun 2023
55 points (100.0% liked)

Programmer Humor

32504 readers
668 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] adriator 2 points 1 year ago (2 children)

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.

[–] [email protected] 3 points 1 year ago* (last edited 1 year ago) (1 children)

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 1 points 1 year ago (1 children)

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.

[–] [email protected] 1 points 1 year ago* (last edited 1 year ago) (1 children)

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 1 points 1 year ago (1 children)

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%.
[–] [email protected] 2 points 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.

[–] [email protected] 1 points 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.