summaryrefslogtreecommitdiffstats
path: root/doc/RATIONALE.markdown
diff options
context:
space:
mode:
Diffstat (limited to 'doc/RATIONALE.markdown')
-rw-r--r--doc/RATIONALE.markdown15
1 files changed, 15 insertions, 0 deletions
diff --git a/doc/RATIONALE.markdown b/doc/RATIONALE.markdown
new file mode 100644
index 0000000..d9629f3
--- /dev/null
+++ b/doc/RATIONALE.markdown
@@ -0,0 +1,15 @@
+# q - Treating Text as a Database
+
+## Why aren't other Linux tools enough?
+The standard Linux tools are amazing and I use them all the time, but the whole idea of Linux is mixing-and-matching the best tools for each part of job. This tool adds the declarative power of SQL to the Linux toolset, without loosing any of the other tools' benefits. In fact, I often use q together with other Linux tools, the same way I pipe awk/sed and grep together all the time.
+
+One additional thing to note is that many Linux tools treat text as text and not as data. In that sense, you can look at q as a meta-tool which provides access to all the data-related tools that SQL provides (e.g. expressions, ordering, grouping, aggregation etc.).
+
+## Philosophy
+This tool has been designed with general Linux/Unix design principles in mind. If you're interested in these general design principles, read the amazing book http://catb.org/~esr/writings/taoup/ and specifically http://catb.org/~esr/writings/taoup/html/ch01s06.html. If you believe that the way this tool works goes strongly against any of the principles, I would love to hear your view about it.
+
+## Contact
+Any feedback/suggestions/complaints regarding this tool would be much appreciated. Contributions are most welcome as well, of course.
+
+Harel Ben-Attia, harelba@gmail.com, [@harelba](https://twitter.com/harelba) on Twitter
+