Daniel's Tumblog

  1. We've also seen the rise of PHP, which takes the worse-is-better approach to dazzling new depths, as it were. By and large PHP seems to be making the same progression of mistakes as early Perl did, only slower. The one thing it does better is packaging. And when I say packaging, I don't mean namespaces.

    His remarks on Ruby will of course feed another round of misinformation. "Don't question Bruce Dickinson!"

    Tags: PROGRAMMING LANGUAGES

  2. Vmgen supports the construction of interpretive systems by generating the code for executing and dealing with virtual machine (VM) instructions from simple descriptions of the VM instructions.

    Vmgen generates code for executing VM instructions (with optional tracing), for generating VM code, for disassembling VM code, and for profiling VM instruction sequences.

    Bill recommended this as an interesting project, though it looks abandoned now.

    Tags: FORTH VM LANGUAGES BAIRD

  3. Bruno says:

    I guess the difference between Ruby 1.9 and Python 2.5 mostly may comes from Python not optimizing tail-recursive calls (which btw is a design choice wrt/ ease of debugging, not a technical flaw).

    What a surprise, another Python wart turns out to be a design choice.

    Tags: RUBY LANGUAGES

  4. "The goal is not to keep Satan out. You want to invite Satan in, but without compromising your security. You don't want to choose between safety and the benefits of openness. You want both.

    "Satan offers to prove to you that his class is safe by presenting an Authenticode certificate which will certify that Satan signed the class. You could verify that the signature is truly Satan's, but proof that it came from Satan is not proof that it is safe."

    Very funny and insightful capability-based solution to Dijkstra's famous dining philosophers problem, in little-known language E.

    Tags: PARALLELISM CONCURRENCY LANGUAGES SECURITY CAPABILITIES WEISS

  5. "This is a small, simple, and fast single pass C compiler. It produces executable code directly from C source, with no intermediate steps. It understands almost all of the C99 standard, plus several extensions from gcc.

    "Tinycc can produce ELF executables (and .o files, and shared libraries) for x86, arm, and c67 processors. It can also run C code directly, as a scripting language, via the "#!/usr/bin/tinycc -run" construct.

    "Tinycc already builds a working version of itself. The current goal is to implement enough features to build an unmodified Linux kernel, uClibc, and BusyBox (or toybox) to create a small self-bootstrapping Linux system in only four packages. (See the Firmware Linux project for details.)"

    Excellent.

    Tags: C WEISS COMPILERS LANGUAGES