Category: Programming

  • Free Theater

    I’m sure everybody who works with free software has occasionally encountered the question as to why anybody would work on it. Obviously people do work on free software, and there are many different reasons why they do. However, there is a certain type of person who finds it all rather mysterious. I recently thought of…

  • Signed Overflow

    The C and C++ language standards say that overflow of a signed value is undefined behaviour. In the C99 standard this is in section 6.5. In the C++98 standard it is in section 5 [expr], paragraph 5. This means that a correct C/C++ program must never generate signed overflow when computing an expression. It also…

  • Scheme

    I’ve written code in a number of different languages. The ones which I would say that I was or still am fluent in, in the sense of having written significant programs in them, are, approximately in order: Basic, FORTRAN, Cobol, Forth, APL, PL/1, Pascal, T, C, Common Lisp, Id, Scheme, sh, Tcl, C++. I’ve dabbled…

  • Programming in C/C++

    Why do people still write in C/C++? As many people have said over the years, C and C++ are sharp knives. Pointers and casts are the sharpest of the knives, and many people have run into difficult bugs in those areas. Java generally doesn’t have those problems. Why doesn’t everybody program in Java? The obvious…

  • C++ Threads

    I went to a talk by Hans Boehm about threads in C++. He was mostly discussing the plans for the future C++0x standard. He said it was important to get threads right, even though they are hard to use correctly, because they would most likely be the base for any other multi-processing paradigm. That seems…