|
|
|
|
|
by leovonl
3340 days ago
|
|
This classification of "paradigms" is a bit off. First, declarative programming is a generic name which includes a broad range of paradigms - from functional to logic programming. Logic programming is something that deserves a special mention and discussion, because there are a number of interesting and unique concepts that deserve a more in-depth explanation. Second, "dependent types" is better understood as a feature of a language (or better yet, of a type system) than a paradigm by itself. Some of the other "paradigms" also seem more like characteristics of languages, and not really something that structures the way solutions are expressed/understood. |
|
Edit: to put a slightly finer point on it, this irreducible foundation mostly has to do with how the language "computes." Imperative languages compute via statements that modify program state. Functional languages compute via proof reduction to normal form. Logic languages compute via proof search.