• Issue #43: Types,  Title

    Issue #43: Types

    Welcome to the forty-third issue of De Programmatica Ipsum, dedicated to the subject of Types. In this edition, Graham crafts a Motorola 6809 CPU emulator to show that types are useful, but not needed; Adrian reviews history and literature to show that types are useful, but should not be abused; and in the Library section, Graham reviews "Recoding Gender" by Janet Abbate.

  • Issue #43: Types

    It Is Not The Types That Will Help You

    We go back and forth, if you will pardon the pun, on whether programs have types or not. In the very early days of digital computers you had digits (as likely to be decimal or octal as binary), and that was your lot. But then still in the very early days of digital computers you had LISP, which has two types: atoms and lists. In the sort of early days of digital computers you got BASIC which has a whopping three types: numbers, strings, and arrays.

  • Issue #43: Types

    Apples And Oranges

    Stanford Professor Jerry Cain spent the first 17 lessons of his 2007 Programming Paradigms lecture (CS107) explaining how to build a generic set of data manipulation functions using plain C, carefully showing how all those "bit patterns" are represented in memory. The resulting code, featuring a relatively large amount of casts to and from void * pointers, can sort and search arrays of integers, strings, floating point numbers, and pretty much anything that can be referenced with a pointer. Which is the same as to say, a lot.