We Need More Architectural Engineers in IT

Even though I don’t think that software development is engineering; these two passages spoke to me in terms of project roles that should be distinguised on larger projects: architect and architectural engineer (they apply to structural engineering, but I am going to stretch them here) :

Architecture is a communicative art that situates human activity within a horizon of possibilities, the art and science of designing buildings. A wider definition would include within its scope the design of the total built environment, from the macrolevel of town planning, urban design, and landscape architecture to the microlevel of furniture and product design. Architecture, equally importantly, also refers to the product of such a design.

Bambooweb

Architects are responsible for the form and appearance of a building with a focus on the way that people use and experience the spaces of the building. The Architectural Engineer is responsible for ensuring that “the building works” – that it stands up, that the HVAC system operates, that light and power are delivered as needed. Architectural Engineers use primarily the tools of engineering to achieve optimum system selection and sizing within the overall constraints usually set by the Architect.

WikInfo
These days you are lucky to find people who can fulfill the former alone, let alone both roles.

Most programming languages are created without any theory

The argument is made in this quote that most programming languages are created without any theory, and end up looking for it later, and rarely find it.

Here is the quote from Robin Milner:

Is there any lesson from the research field that you don’t see applied?

Robin: Most programming languages have been desgined without first thinking about the theory on which the meaning would be based. So, very often a language gets designed and implemented, and then what it means, what is supposed to happen when every program is run, is not necessarily predicted. Of course it was in some cases wonderfuly predicted, for example, in ALGOL60; the ALGOL60 report of 1960 was so accurate that one could follow it and find out what was going to happen. This isn’t always the case. Even in the good languages, the formal basis is not there before the language arrives, so what people do is later to retrofit a theory of meaning to the language, and maybe that means that the design could not take advantage of theoretical understanding.