Latest buzzwords include "functional programming" and "stateless." What's funny is these are not new, just a reversion from OOP back to procedural programming the way you write code in C. Create objects that are just value bags with no behavior and write functions that modify the values.
Perhaps it is coming back then ...
I now live in my own isolated R&D bubble of Sentient Artificial Intelligence Development in Cheltenham (UK) and I just stumbled on this nice topic !
My companies used to provide R&D computers and our own innovative Algorithmic AI development languages to GCHQ, IBM, Intel etc in the 1980's.
1974-1979:
We were a typical top team of about forty programming graduates and Metamathematicians at Marconi Avionics in Borehamwood and were developing the real time brain of the Tornado Fighter (MRCA) and at decision meetings we talked all the time about nothing else other than was OOP or Algorithmic coding going to be the best way forward for humans to program - to us it seemed like OOP was coming from more of a graphic design sort of "real objects" concept and that Algorithmic seemed like it was more based on a manifestation of the real-time nature of the universe ... oh these simple times ... Dijkstra et all - ha ha.
So up until then we (coders) had of course all been Algorithmic by way of Algol60 (1960) and its block-structured subsequent languages Coral66, Algol68, and Ada, with the C people on the side doing mainly science and non leading edge real time as per the Pascal people. Really fast real-time was always coded in Assembler where you could use features like scaled natural integer value range overflow to code for any circular metric (such as degrees or radians or a time sequence) without testing for overflow and instead welcoming it as part of the algorithm (i.e. add a tiny amount to a maximum positive value and it becomes a maximum negative value).
However ...in the UK and US Ada was finally adopted (by the MOD/DOD) to replace Coral66 et all and ADA tended away from algorithmic more towards OOP.
So OOP seemed to be winning ... it was also winning in the C world !
So ... in 1979 I left Marconi and set up my own companies to further develop and sell a new ultra-algorithmic computer language that I had been developing for my use in developing Sentient-AI brains (i.e. my sole interest since my Physics degree during 1968 at University in Edinburgh - then a hotbed of AI development).
That language was called "MTR" i.e. Minimal Textual Representation (of an Algorithm) and circa 1980 onwards we sold about 200 compiler licences in the days when compilers could be sold for between £200 and £5,000 each .. so about £200K of sales ... so not enough to sustain a company of six staff ... so we went bust !
NOTHING ELSE QUITE AS BRUTAL AS MTR HAS EVER APPEARED SINCE THEN !
MTR IS/WAS:
1. Ultra Modular (every module is a program - no distinction between a module and a program - mix and match at any level) .
2. Ultra Non-Typed (there are no types - just values with direction - all values are real vectors with a defined destination called signals).
3. No Numbers (no integer signals and an acceptance that no such a thing exists in the universe - just real values known to a certain accuracy).
5. Infinitely Variable Signal Accuracy (each signal has it's very own allowable value range and accuracy - i.e. it's own bandwidth).
6. No Assumed Underlying Technology (analogue or digital system implementations are equally OK as long as we are still in a Turing Machine).
7. No Data (literally only signals moving towards their destinations - static data is by definition is no longer needed in a Turing Machine).
8. Module Authentication (the intended millions of modules all managed and assessed by authentication of prior uses, and outputs, etc).
The result is/was that we could define programs (algorithms) in MTR and literally just press a button and have that program implemented on any computer in any computer language - and it worked - and we supported C, Pascal, Fortran, Assembly, Coral66, ADA, ASICS, etc without the programmer having to know that target language ... this was good ... I could for example target (at the press of a button) my programs written in MTR into C for a PC or alternatively for a Cray in a wide variety of languages that I did not know, after I had written the program !
Sometimes a certain program would run 100x faster in one language/compiler than another ... i.e. depending on how good that compiler & it's target machine were at handling the things that I had particularly used in that program - the key thing being here that I did not know before which language would produce the fastest executable code for that program - in effect the programs written in MTR were "preserved for all time" as there was no assumption made other than that we are in a Turing Machine (which could be a digital computer or an analogue light much faster future machine).
PS ... why on Earth have we not yet perfected general purpose ultra-fast Analogue light photon processing Turing Machines (computers) ?
anyway ... after reading this i will now think about resurrection of Inferix-MTR

... the problem is ... "no money in languages".
btw ... future Sentient AI entities were always intended as the customers for MTR anyway (even in 1968) - i.e. for their AI-entity brains .. as who would want their brain to be locked into one old technology when it could be free if coded in Inferix-MTR to be implemented on any upcoming new technology.
However .. In any case AI now seems disappointingly to be stumbling blindly towards just replicating the human errors of learning (machine learning) instead of leveraging model reference by algorithm (aka post-Kalman models) for which MTR was originally intended - this will be bad for the future of the Universe !
"so it goes".
anyway ... good luck all ... it's all fun ... but life will throw crap at you ... so be forewarned !