Initially designed in the 1970's as a "portable assembly" language to facilitate implementing Pascal compilers on the varying computer architectures of the day, P-Code is the progenator of all modern bytecode interpreters. The success of the UCSD Pasca

Regular expressions are a fantastic way to describe patterns in text. Thanks to the work of pioneers like Stephen Kleene we know that for any regular expression there is cooresponding finite automaton (FA) and vice versa. This is known as Kleenes Theor

Programs rarely exist in isolation. With a few exceptions, a program requires a supporting environment within which to run. For a compiled language, this can be handled by the operating system or in more extreme cases like micr

When comparing C and C++ to other popular programming languages like Java, C#, and python one of the big issues people bring up is that you "have to" manage dynamic memory manually. Aside from manual memory management not being nearly as big a deal as

UPDATE: As of 2024 I recommend using the algorithms outlined in this post instead.