aboutsummaryrefslogtreecommitdiff
path: root/docs/doc/paradigms.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/doc/paradigms.html')
-rw-r--r--docs/doc/paradigms.html19
1 files changed, 19 insertions, 0 deletions
diff --git a/docs/doc/paradigms.html b/docs/doc/paradigms.html
new file mode 100644
index 00000000..091026dd
--- /dev/null
+++ b/docs/doc/paradigms.html
@@ -0,0 +1,19 @@
+<head>
+ <link href="../favicon.ico" rel="shortcut icon" type="image/x-icon"/>
+ <link href="../style.css" rel="stylesheet"/>
+ <title>BQN in programming paradigms</title>
+</head>
+<div class="nav"><a href="https://github.com/mlochbaum/BQN">BQN</a> / <a href="../index.html">main</a> / <a href="index.html">doc</a></div>
+<h1 id="bqn-in-programming-paradigms">BQN in programming paradigms</h1>
+<p>It hangs onto weakly positive connotations somehow, but the term &quot;multi-paradigm&quot; should not really impress you. Let's dig into exactly which paradigms BQN supports and how.</p>
+<p>This information won't really tell you what tasks BQN is good for: after all, it turns out you can write a compiler entirely using array programming, something many people assumed was impossible. Instead, it tells you what approaches you can take to writing programs, and how comfortable you'll find it to work with BQN—or how much you can use it to stretch your brain in new directions.</p>
+<p>dynamically typed
+high level</p>
+<p>BQN is not great for <strong>imperative</strong> programming.</p>
+<p>imperative in which the programmer instructs the machine how to change its state,
+procedural which groups instructions into procedures,
+object-oriented which groups instructions with the part of the state they operate on,</p>
+<p>declarative in which the programmer merely declares properties of the desired result, but not how to compute it
+functional in which the desired result is declared as the value of a series of function applications,
+logic or reactive</p>
+<p>macros or reflection</p>