Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Unless dynamic linking is used, or OS APIs change between version, or specific OS files change location.


Go binaries are traditionally statically compiled.


Hence my 2nd and 3rd points.

Also DNS uses dynamic linking unless configured otherwise, while being OS specific, then that are the libraries that rely on cgo.


Yeah, you can list 100 such cases.

Let me tell you the most common scenario. I have a fairly popular FOSS CLI tool written in Python. I cannot use the features from the latest version of Python or else I will alienate ~50% of the userbase. This problem does not exist with Rust or Go.

This problem would have existed for Java on Android except Google took the burden of "desugaring" the Java 17 code -> Java 8 compatible bytecode for the old devices.


Google dug their own grave here, Java is as backwards and forward compatible as it gets.


You cannot run Java 17 code on a Java 8 runtime without "desugaring."




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: