Category: Programming

  • 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…

  • Link Time Optimization

    Various gcc developers are working on Link Time Optimization, also known as Whole Program Optimization. When using LTO, gcc will write the intermediate representation into the object file. At link time, gcc will read it in and use it to implement cross-module optimizations. The canonical optimization which requires LTO is inlining functions across object file…

  • GCC Plugins

    There has been recent discussion on the gcc mailing list about plugins. There was a very interesting paper at the last gcc summit about a plugin architecture, with some interesting examples. I think plugins would be a useful addition to gcc. I think this mainly because many researchers and grad students want it. After many…