D 2019-08-21T02:06:24.730 L libk P 06fbc51a28a017ccdc44e4ecad1beed5b7a70cf767a0d9d372a6bdb3c3e48074 U lexi W 2441
libk * [/doc/tip/libk.md|libk manifesto] * [rules|rules and guidelines] * [roster|project personnel] * [ports|porting progress] | libk is an (admittedly ambitious) project to create a reasonably cross-platform replacement for libc that uses and encourages modern coding techniques and idiomatic, efficient use of C. the existing standard library, libc, is an [http://man7.org/linux/man-pages/man3/errno.3.html|old and ailing thing], marked by idioms that otherwise would easily earn any CS student an F, replete with [http://man7.org/linux/man-pages/man3/srand.3.html|potholes and traps] for the unwary and novice alike, and was designed at a point in history where computers were still very new and anyone who knew what they were doing had [https://timeline.com/women-pioneered-computer-programming-then-men-took-their-industry-over-c2959b822523|long since been pushed out of the field]. in short, libc is simultaneously a nonviable, inflexible, dangerous basis for nontrivial new projects, and obligatory for all but the most low-level work in C, forcing coders to spend a great many hours writing blast shields around its entry points. it is our aim to wash away this stain on the CS field, and hopefully make C a great deal more pleasant to write by giving coders a standard library that doesn't fight them every step of the way. for an in-depth look at the project's aims, structure, and basic strategy, take a look at the libk manifesto. libk is still a very new project, and we're very much looking for new contributors, whether in the role of developer, reviewer, tester, technical writer, or sponsor - in particular, those who would take on the monumental task of porting libk to windows and maintaining a windows build chain; we currently have nothing in the way of a windows team. however, even if you're new to low-level programming, you can still play an important part and meaningfully influence the shape libk ultimately takes, and if you can learn, we can teach. please note that we place a very high importance on maintaining a mutually supportive, compassionate, and productive environment where our contributors can feel valued regardless of their background, identity, or level of skill; behavior that threatens this environment will not be tolerated. |