Nostalgia week is becoming nostalgia month...
This time I will talk about a guy that is buying himself back to the 90s. Buying an IBM PC and learning like a programmer in one of the most stable languages in computing called C.
Although frequently and erroneously conflated in casual discourse as "C/C++" as if they were a single monolithic entity, the C programming language stands firmly on its own historical and architectural merits. Originally conceived and engineered by Dennis Ritchie at Bell Laboratories during the mid-1970s—specifically around 1974—C was meticulously crafted as a powerful, direct successor and structural refinement over its predecessor, the B programming language. Its foundational purpose was intimately tied to the nascent Unix operating system, providing developers with a robust, efficient toolset specifically designed to construct sophisticated system utilities and core infrastructure.
As the technology sector progressed through the 1980s, C experienced an extraordinary and steady surge in adoption and acclaim. This widespread momentum ultimately propelled it into the upper echelons of software development, establishing it as one of the most widely utilized programming languages in existence, backed by reliable compilers engineered for virtually every modern computer architecture and operating system in operation today.
The author of the clip went overboard by actually running it on original hardware of the time, and found a computer of the times. An old IBM 386 intel processor with 4MB in RAM and probably a very small disc. He got some free software with the purchase so he was able to run Windows 3.1 but then he decided to run the whole time on MSDOS using the classic file manager, Norton Commander.
His first step was not to start coding but instead decided to read deep down into different C books. Starting from the original book from Dennis Ritchie himself, called The C Programming Language. But also specialized books like Pointers on C by Kenneth Reed; and Graphics Programming Black Book by Michael Abrash.
The author started with the project of creating a text editor. Text editors are very common project on the Unix world as there are many epic editors. The most classic editor is Emacs which has so many extensions some might call it an operating system. in itself or an application launcher, as you can do anything from Emacs. There are also other famous editors like VIM, or GNU nano, or jed, or ed, etc.
The authors did missed on the operating system environment and skipped using any Unix-like OS like FreeBSD or GNU/Linux and instead remained on good ol' MSDOS. So he started using Edit as his editor withing DOS.
He then went on to explain the code flow, and how to manage the memory of the software, using malloc() library as opposed to use dynamic memory. He went on to explain his logic learned from the books he has read. He point out some of the reasoning to on user behavior without having to waste a huge amount of memory. One of the reasons he had an old PC in itself is to face the limitation of things like memory itself in order to understand why and how legacy software was designed that way.
Other headers/libraries such as the famous conio.h for developing user interfaces and fputc() for stream of characters. The video concludes with a demonstration of the text editor he built, named Grit, showcasing its features like single-line horizontal scrolling and inserting lines of text.