That seems an extremely narrow view of modern programming. But then isn't this the same man who made the claim about there not being any new programming languages left to find?
That seems an extremely narrow view of modern programming. But then isn't this the same man who made the claim about there not being any new programming languages left to find?
At the most coarse, generic level, perhaps. But there's been huge amounts of research both academically and industrially into, for example, how to structure functional programs, how to manage side effects, and working within concurrent/distributed/asynchronous environments. Saying that nothing new has happened in programming languages since the 1960s because the major paradigms had all been discovered already is like saying nothing new has happened in automotive design since the 1960s because private vehicles still usually have 2 or 4 wheels.
Corrections welcome...
You're cool.
Most think ML[0] did it first, and dare I say did it right first. It gets rid of entire categories of boilerplate (interfaces come to mind) because types are fully inferred. In other words, if `funpost(request)` uses .User, .Body, .Time, from request, the only requirement is that the 'request' object has those properties with correct types further down the chain in usage. Other languages can do this but not typically to the degree in ML's type system (known as Hindley-Milner [1]). There are times it can't quite figure it out but it is, again, less frequent than in others.
[0] - https://en.wikipedia.org/wiki/ML_(programming_language) [1] - https://en.wikipedia.org/wiki/Hindley%E2%80%93Milner_type_sy...
Most of these styles aren't new though.
To be more pedantic and get even lower level than machine code, at the theoretical level the basis of computation can be either procedural or functional. See lambda calculus and Turing machine for more info.
And please let me know if "the person" refers to someone else. I've read the comment chain all the way up and can only make sense of what you said if "the person" == Uncle Bob.
Of course I could be wrong. I don't know the guy. But that statement alone is enough for me to make a negative judgement against him.
I think the emphasis on traditional structural programming is also a very dated view. I mean, sure, at machine code level, you're ultimately doing sequences and conditional jumps one way or another, and most imperative languages do still provide general sequence, selection and iteration structures. But in the mainstream languages, numerous other control structures from exceptions to pattern matching on algebraic data types are in fairly widespread use, and tools like concurrency, asynchronicity and using higher order functions are also widely relevant.