this post was submitted on 23 Jan 2024
22 points (100.0% liked)

Programming

17436 readers
298 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
 

First of all, thank you to all the amazing things you do for the self-hoster, FOSS comunity ! We won't be able to have those shiny things without you ! I'm not a dev and have just played arround with python (and I know how most of you feel about it ๐Ÿคซ) so I have very limited knowledge regarding programming languages.

I know whats a low level language (C, C#, rust?), general scripting tools and even heard about assembly. And it always baffles me how all those coding lines rule and make our microchips communicate and understand each other, but that's another story ! This is about golang !


As a self-hoster enthousiast, when I'm looking at a github repository, I always check the programing language used, even though I have no idea if those integrate well with each other or if it's the best programming language for that kind of application.

And everytime I see golang, It makes me smile and have a feeling it's going to be a good application. I know it also depends on the programmer skills and creativity, but all my self-hosted Go apps works like a charm.

Traefik is the best example, I never had any issue or strange behavior, except for wrong configuration files on my side,

Or navidrome a music server compatible with subsonic, also written in go, is working great and fast AF !

Or Vikunja, the todo app... and many more !

I'm probably biased because I have no idea of how the programing realm works, but I have the feeling that Golang is a certificate for good working and fast applications. Just to bad it's backed/supported by google (uuhhg)

Feel free to debate and give me your personal opinion of the Go language, if my feelings are right or Am I just beeing silly :).

Thanks for reading through ๐Ÿ‘‹

you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 3 points 9 months ago* (last edited 9 months ago) (1 children)

As a developer whos had python and rust web applications in production, golang is an almost perfect balance between complexity and power. Its simple enough for anyone to learn (yes you!) yet powerful enough to build large, performant programs. It also has an amazing model for concurrency which is basically multitasking.

The reason lots of networking applications use it is because networking requires a lot of this multitasking and demands efficiency. Part of the reason they tend to be built well is that every funtion that might have an error requires you to explicitly handle it or ignore it. Also the syntax is very simple relative to other languages, so you dont often get cryptic, hard to understand code.

Golang also compiles to one nice executable rather than requiring the host system to have certain files/programs so more time can be spent on the code rather than the deployment.

It of course has it's rough edges but I think it's underrated.

[โ€“] [email protected] 2 points 9 months ago (1 children)

Thanks for your insights !

The reason lots of networking applications use it is because networking requires a lot of this multitasking and demands efficiency.

So that's one reason why traefik devs chose golang ! Good to know :)

Its simple enough for anyone to learn (yes you!)

Haha, If I had enough time I would probably chose Go and Rust. But hosting, networking and linux stuff are already taking way to much of it ! IMO if you haven't learned any programming language early, it's going to be a nightmare to follow up. Also, I'm already struggling with English xD !

[โ€“] [email protected] 2 points 9 months ago

Oh I know it, I would learn the whole world if I could. Your English is great!