2 ms·
>Using higher-order functions does not suddenly turn imperative programming into declarative programming. I wasn't talking about strict definitions of "declara
by jasode 5y ago
>Using higher-order functions does not suddenly turn imperative programming into declarative programming.
I wasn't talking about strict definitions of "declarative programming" vs "imperative programming" to satisfy language lawyers.
It was a continuation of the subthread discussion started by carlmr asking why declarative is better: https://news.ycombinator.com/item?id=30098793 https://news.ycombinator.com/item?id=30098793
So it was just talking about aspects of "declarative" in general...
The idea is at a small scale, one can compare an imperative loop construct to the more "declarative" syntax that accomplishes the same task. Yes, the "more declarative" syntax will be a higher-level abstraction.
Another example of the micro-instead-of-macro type of discussion was C# when it added LINQ (declarative quasi-SQL) and async/await (declarative futures). The language designers and tutorials used the word "declarative" to describe those new language features even though C#-as-a-whole is not formally categorized as a declarative language. Does using LINQ turn C# into a declarative language? No, but nobody claimed that.