Comment

Comment by apaprocki

SAs have their own likes/dislikes. From an end-user dev point of view AIX is pretty harsh. XCOFF binaries mean almost no tooling works with them. It’s 2020 and IBM finally came around to adopting LLVM/Clang to the platform. There’s lots of strange deployment warts like no $ORIGIN support, everything is shared/PIC but you have none of the ELF naming support, shared libraries stay in a system-wide library cache even after the processes exit (i.e. updating the file on disk and starting a new process will not guarantee it is used), and the list goes on and on. It takes a huge amount of effort to keep all the usual open-source packages running there.

You have to do the open-source work, though, because the vendor side is as close to abandonware as you can come. The OS is basically not touched unless they have to. For example, they gave up trying to actually fix their system headers to have C++ include guards, so they just hacked the compiler to extern C all system headers —- a terrible hack that GCC actually adopted as well to stay compatible. There’s no versioning of user-space library additions or changes, so you can’t easily make code forwards/backwards compat in the preprocessor. They gave up trying to follow modern C++ and pulled in a Clang front-end. User binaries remained broken for years until anyone complained about them. There are people there doing the bare minimum to add support for some new POSIX interface that comes out, but the headers are not “clean” in the same way that the Solaris ones are. Solaris headers and man pages are some of the best I’ve ever seen. They could constantly improve the system, but they don’t. They do what customers ask for and no more.

It might be great at taking some Fortran simulation and cranking the nodes up, but it’s not great at coming anywhere close to competing with Linux for general computing use.

parent apaprocki 6 years ago

Discussion

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton