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

It's hard to keep track of all the Linux distributions, though, with the number of Linux developers and the number of Linux distributions steadily converging.

OK, so maybe it's better now that Ubuntu has conquered all, but writing software on a BSD and then attempting to make it work on "Linux" is a nightmare. Every single distribution does something different, and it's a nightmare to work around. Whereas the BSDs tend to be very consistent.



POSIX compliance is much better in Linux than in BSD. End of story.

If you stick to standard POSIX features, your code will work without change on any modern Linux distribution.


Unless you can prove this, it's hearsay. Part of the reason why linux and BSD don't actually get POSIX certified is because they change so quickly that it wouldn't be practical. So it's difficult to get an idea of what system is most compatible with POSIX. And even if you did, it would be different by the next version.


OK, there are probably corner cases where Linux isn't quite compliant. However, in my day to day work, I encounter far more problems with BSD than with Linux. I don't know how I'd go about proving that to you.


I don't doubt that you do encounter more problems with BSD than Linux. But does everyone who works with the two encounter more problems?


Too bad nobody does this...

Quick example:

http://shootout.alioth.debian.org/gp4/program.php?test=threa...

Can you spot the non-compliant behavior in this? It actually relies on undefined behavior in the POSIX spec to work on linux!


True, but the most relevant part for POSIX is always GNU/Linux, which is always the same in each of the Linux distributions.


Well that's true up until a point. But an OS is more than an API, it's also a collection of files and libraries within a directory structure. In my experience Linux distributions rarely agree on these minor points, and that is where the hassle lies in porting anything non-trivial.


The details where they differ are not standardised. If you stick to the standards, you will have no problems. The problem with BSD is that following standards is what gets you in trouble.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search: