2 entries in

April 2008

Power of programming languages

The fact that all these [programming] languages are Turing-equivalent means that, strictly speaking, you can write any program in any of them. So how would you do it? In the limit case, by writing a Lisp interpreter in the less powerful language.

That sounds like a joke, but it happens so often to varying degrees in large programming projects that there is a name for the phenomenon, Greenspun’s Tenth Rule:

‘Any sufficiently complicated C or Fortran program contains an ad hoc informally-specified bug-ridden slow implementation of half of Common Lisp.’

If you try to solve a hard problem, the question is not whether you will use a powerful enough language, but whether you will (a) use a powerful language, (b) write a de facto interpreter for one, or (c) yourself become a human compiler for one. […]

This practice is not only common, but institutionalized. For example, in the OO world you hear a good deal about ‘patterns’. I wonder if these patterns are not sometimes evidence of case (c), the human compiler, at work. When I see patterns in my programs, I consider it a sign of trouble. The shape of a program should reflect only the problem it needs to solve. Any other regularity in the code is a sign, to me at least, that I’m using abstractions that aren’t powerful enough — often that I’m generating by hand the expansions of some macro that I need to write.”

Paul Graham, “Revenge of the Nerds”.

23 Apr 2008 No comments yetComputers


Cuatro razones para estar contento

Una revelación de optimismo repentino que me vino esta tarde, de ésas que conviene atrapar y archivar pa’ cuando hagan falta:

  1. Por las mañanas tardo exactamente veintidós minutos en llegar desde casa a mi nuevo trabajo; tres paradas de metro sin transbordos más dos paseos muy cortos. Al mediodía puedo andar cinco minutos y comerme el bocata en el «Km 0» de Londres, sentado en las escaleras de la National Gallery, al pie de la Columna de Nelson.
  2. Por las tardes, después del trabajo, sólo tengo que caminar otros diez minutos para llegar a la escuela de idiomas en la que hago mi curso para ser profe de español: un par de manzanas hacia el norte, cruzo Covent Garden justo por el centro de la plaza y enseguida llego a Holborn. Si me pongo tonto alargo el paseo un minuto o dos más y atravieso también Seven Dials, un barrio que me encanta.
  3. Mi nueva empresa es muy solvente y ofrece todas las facilidades típicas de una organización con casi 200 empleados en Central London. Me pagan más que en mi trabajo anterior, en principio trabajando igual o menos. Y los horarios son medio flexibles. Parece casi seguro que no voy a tener problemas para ir a clase cada tarde de lunes a jueves.
  4. Desde que cambió la hora, salgo del trabajo y aún es de día un buen rato.

Hago lo que me da la gana con mi tiempo. No dependo de nadie y nadie depende de mí.

15 Apr 2008 7 comments so farLife