szanni
Joined 6 years ago
Joined 6 years ago
This has for example happened with the linux-rt branch that decided to change the license of some of the exported kernel symbols to GPL, which prevents the ZFS module from compiling.
As far as I can tell, the kernel developers make sure to not break user space but no such guarantees are given for the kernel modules. Having the driver for your root file system possibly not compile on the next kernel update seems like a nightmare to support for any distribution.
This. Sadly. I have tried switching numerous times.
The problem for me is libinput which seems to suffer from the "we know better" syndrome that seems to have become more prevalent in recent years on Linux. The author even openly states so in the FAQ [0]. Certain features will NEVER be implemented, because you are wrong to want them. Looks like Apple to me. On X I luckily still have synaptics which provides the knobs I need.
Aside from that Wayland still randomly crashes.
[0] https://wayland.freedesktop.org/libinput/doc/latest/faqs.htm...
That is sadly my gripe with a lot of the newer languages too. I have been looking for something to replace C for a long time, something that makes it easier to not shoot yourself in the foot. I just find most of them significantly less readable than C.
Rust seems to be going down the route of C++, hence I do not deem it a safe language at all, as I have an exceedingly hard time parsing the source and figuring out what is going on.
Zig is WAY better in that regard, but as OP mentions: all the special characters make things more difficult to parse. Calls like these (taken from the introduction page) contain so much visual clutter:
try expect(@call(.{}, add, .{3, 9}) == 12);
I sadly doubt any of this is possible to change at this stage anymore. Zig definitely seems the most promising C replacement with regards to tooling, especially cross compiling and C interop are a breeze. Truly inspiring work!The only new C-like language that really nailed it for me syntax wise would be Nim. Very clean and easy to reason about, which - from a programmer perspective - makes it exceedingly safe to program in. It just seemingly lacks most of the safety guarantees that the compilers of other, newer languages provide.
zpl_u64 zpl_crc64(void const *data, zpl_isize len);
Const correctness, good! But why is the size parameter signed? Why not use size_t and uint64_t like the C stdlib?Good luck on reading an EKG graph yourself. It is apparently not even easy for a trained doctor to discern what exactly is going on.
Source: I worked on a long term ECG holter monitor sold by GE.
Many hunter gather tribes apparently employed this technique and it can still be found today in Africa with the San people.
Sharing food or stealing wolf puppies were probably part of the domestication but was this because humans possibly hunted alongside wolves? Humans possibly being capable of pursuing for longer distances due to better body temperature control through sweating while wolves being better at tracking.
At least that would be my take.