If you're on your own - you're dead. As in many things you're practicing one day you have to learn to train yourself. It is also important to learn from the others. I give you an example : the Lemmings. The Lemmings for the Apple//GS has been programmed by Olivier ZARDINI. Olivier programmed the Lemmings GS in assembly language with Merlin16. Olivier didn't use mutex, semaphores, shared memory to program the behavior of the Lemmings. Olivier had to avoid deadlocks and manage racing conditions all by himself in assembly. GNO allows the use of forks, mutex, semaphores and shared memory : "system programming" in two words. That's why I try to use GNO with examples from system programming in Linux. PROGRAMMING YOU'RE OWN MULTITASKING ROUTINES FROM SCRATCH CAN BE EASIER THAN SYSTEM PROGRAMMING. I still learn how to program games in BASIC and ASSEMBLY LANGUAGE. Olivier used to say : "When you program in assembly language, you understand how the C compiler works". I work with the book "The New Apple II User's Guide" from David FINNIGAN to learn BASIC. You might say that doing projects in APPLE II BASIC at 1Mhz with 32Kb is a no way. But I have a RaspberryPi with BBC BASIC VI that runs at 1GHz with 600MB of RAM. What I learn from the Apple ][ I can use it for the BBC BASIC VI which can run in 64bits. The BBC BASIC VI can use floating points. What I learn from the Apple// I can use with the RISCOS on my RaspberryPi. I have bought the 3 volumes of the Apple //gs Toolbox from Syndicomm (syndicated communities). I don't know where anyone can purchase the tomes of the Apple//gs toolbox now that syndicomm is no more. The RISCOS can also be programmed with a Toolbox - 5 volumes. What I learn from programming the Apple//gs toolbox in C I can use it to program the RISCOS Toolbox in C. The BBC BASIC VI allows ARM assembly language programming into BASIC lines of code. I still learn with the book : "Assembly Lines : The Complete Book - A Beginner's Guide to 6502 Programming on the Apple][ Roger Wagner - edited by Chris Torrence". This book helps me understand RISCOS Assembly Language Programming : https://www.4corn.co.uk/archive/docs/Acorn%20Assembler%20Release%202-opt.pdf Mike WESTERFIELD the author of ORCA/C used DAG in the source code of ORCA/C. With GNO you can program : https://www.geeksforgeeks.org/directed-acyclic-graph-in-compiler-design-with-examples/ Directed Acyclic Graph : The Directed Acyclic Graph (DAG) is used to represent the structure of basic blocks, to visualize the flow of values between basic blocks, and to provide optimization techniques in the basic block. To apply an optimization technique to a basic block, a DAG is a three-address code that is generated as the result of an intermediate code generation. CONCLUSION : SOMETIMES REINVENTING THE WHEEL CAN BE EASIER TO PROGRAM.