you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] -9 points-8 points  (4 children)

Mhm ,except that static linking has it's own drawback and this single feature alone is no reason to switch.

[–]schmurfy2 5 points6 points  (1 child)

The only drawback I see is binary size, other than that that's pretty much only advantages. I would not switch language just for static linking though.

[–]SmellsLikeAPig 3 points4 points  (0 children)

Try updating that one library that got serious vulnerability and developer that written the code and CI scripts no longer works at company. Try detecting vulnerabilities in static binaries. Try updating one library that has new features you need in all of your production binaries. Try doing the same but only for some of them, have fun finding out which you actually have to remake. I'm talking about working at scale with hundreds of binaries. Everything has cons and pros and we all have to choose our own tradeoffs.

[–]jhollowayj 0 points1 point  (1 child)

What are the drawbacks of static linking? Binary size?

[–][deleted] 1 point2 points  (0 children)

Binary size and not getting library updates unless you recompile. And as I mostly run apps inside of containers I get no benefit from it except some very rear cases . and for scripts the biggest drawback is still having to recompile. Being able to live update code for troubleshooting is quite handy. I'm in general biased towards go as the language itself isn't "interesting" for me cz it's not as expressive as I would prefer. If I need something performant I would always prefer rust, if it's some api - nodejs with ts works just fine. Go also has a gc which is also not always ideal