I learned to program in python, and later in front end web development languages such as js, css, and html. I have recently started to learn about operating systems, with the eventual goal to contribute to the Linux kernel. Before now I had never touched C. I ran into very similar problems. My first C program forked a child, its child initiated a shared memory object, wrote a collatz sequence to it and exited. Then the parent read and printed from the memory object. It took over 2 hours because C was so alien to me.