Skip to content

midnqp/c

Repository files navigation

Preface

C is the mother of all programming languages. A programming language that influences almost all other programming languages e.g. C++, Golang, JavaScript, PHP, through its syntax, way of thinking, and internal design.

In this day and age of higher level programming paradigms e.g. Node.js, Ruby, Swift, Python, PHP, the benefit of learning a language built in the 1970s isn't clear in the first glance. However in truth, C is inevitable to:

  • our operating systems' core e.g. Linux kernel, Windows NT kernel, XNU (Darwin kernel), Plan 9 (Unix kernel), FreeBSD kernel
  • our operating systems' utilities e.g. coreutils, busybox
  • operating systems e.g. Android, GNU/Linux
  • the most pertinent opensource libraries for web e.g. libssl that enables https on our websites, libbrotli for lossless data compression, libpng for portable network graphics
  • the most used utilities over the internet e.g. openssh, ftp, curl
  • other programming languages that developers use to build a better world e.g. JavaScript, Golang
  • a recommended stepping stone for learning to code in C++

Some of my playful ideas

I am still learning, I will always be. However the main aim of the wiki or other materials is to be able to write more code. More better code! For this reason, sometimes I work on naive ideas or pet projects just to stay warmed up in writing C code. Once again, these are naive fun playful ideas 🧸

  • activeforks gets you forks of a repository, sorted by number of stars.
  • autofree automatically frees/deallocates all heap memory allocated. No more free() or memory leak. For production code, use Boehm collector or libgc-dev.
  • commitcount counts the total number of commits in a GitHub project.
  • catfacts gets you facts about cats 🐱
  • lib contains interesting concise functions.
  • main contains usage examples of all the above functions.
  • chatnet-cli is an experimental chat application for the terminal, that leverages a modern asynchronous multiplexing approach to stdin and stdout. (Promoted to a new repository!)

About

Notes on C

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published