Just say NO to mainstream!

As parts of gay culture, as well as lambda-calculus based programming, are quickly becoming parts of the mainstream, it's time to leave them, and do something more radical and innovative!

LAMBDA stands for liberation of gay people and software engineers!

When I invented this slogan several years ago, I did not have many reservations about it. Now I have some misgivings about both parts of this slogan :-( Yet... it sounds too cute not to use it :-)

LAMBDA is a well known symbol of the gay liberation movement. Yet, lately I started to have more problems with mainstreaming of the gay culture than with the oppression it suffers from. Not too long ago gay meant underground, gay meant opposition. It was enough to have guts to belong, especially to belong publicly, and one suddenly became or was considered talented, original, etc. Now gay is becoming mainstream, and it is not something unquestionably positive, but involves numerous trade-off. The best insights into this problem can be found in [Frank Browning. The culture of desire: paradox and perversity in gay lives today] published by either Crown or Vintage, circa 1993.

When 500,000 people come to the Gay Pride Parade in New York City it's a great experience, and everybody must see it at least once in his life. But it does not take any special courage to show up there nowadays.

Of course, gay culture is not unique in this respect. The question, where is the threshold beyond which assimilation is no longer beneficial and fruitful, but is counterproductive and leads to the loss of identity, is applicable in many situations. Jewish culture provides an obvious example.

What happened to Soviet dissident culture? It has mainly disappeared. What happened to Soviet dissident writers? Most of them seemed to be so much more talented, when we were reading them 10 years ago... The same thing can happen to us...

The second part was, of course, referring to lambda-calculus and functional programming as the software engineering paradigm, which is supposed to be superior to the conventional one. Since then I realized that the word functional in this approach is rather hype than reality. Namely, functions which are first-order objects in functional programming languages are not mathematical functions, but procedures, so this approach should in fairness be called procedural programming, only the name procedural is already reserved for the conventional approach.

I also realized, that while the advantages are few (e.g. that object-oriented programming is strictly more powerful than functional programming as it is understood today), the drawbacks are many (e.g. the loss of control over computational complexity), and thus lambda-calculus is neither a good foundation for programming language design, nor a good foundation for the theory of computation. My dissertation proposal contains details of this (see my papers).