Error handling is hard, and it’s made harder by a rich error hierarchy. Programs that successfully handle errors tend to have only a couple of generic handlers. Code that catches specific types […]
Over 20 years of programming. From video games to communications; science to finance; compilers to business processes. Too many languages to even track anymore.
Here's looking to another 20 years towards mastery of the craft.
How do we write software that survives in a world of malware? Is it just a matter of writing safer code or do some of our core assumptions need to be modified? […]
Three key concepts comprise the essence of functional programming: first-order functions, pure functions, and immutable data. Together they express a fundamental architectural paradigm on how units of code interact with each other. […]
Testing graphical user interfaces is a challenge. Full automation is appealing but it’s expensive and doesn’t yield good results. UI’s are something where a real human should be involved. By using an […]
Microsoft has played a significant role in the damage of the WannaCry ransomware. Certainly the proximate cause lies with the malware’s authors, and they should be held accountable. The complacent NSA is […]
Finally, a big step for Leaf: something that could be called an actual program. Over the weekend I finished a program that loads a file, sorts the lines, and writes it to […]
Imperative programming is a paradigm that explicitly tells the computer what to do and how to do it. Unlike most other approaches it is a relatively concrete view on data and execution […]