From 5dad371de4f7c27107af07de432c518430cc082b Mon Sep 17 00:00:00 2001 From: lovasoa Date: Wed, 5 Jul 2023 19:01:12 +0200 Subject: [PATCH] Add FAQ --- README.md | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/README.md b/README.md index b76e5a17..f7edc61c 100644 --- a/README.md +++ b/README.md @@ -165,3 +165,39 @@ SQLPage will re-parse a file from the database only when it has been modified. - [tabler](https://preview.tabler.io) handles the styling for professional-looking clean components, - [tabler icons](https://tabler-icons.io) is a large set of icons you can select directly from your SQL, - [handlebars](https://handlebarsjs.com/guide/) render HTML pages from readable templates for each component. + +## Frequently asked questions + +> Why would I want to write SQL instead of a real programming language? SQL is not even [Turing-complete](https://en.wikipedia.org/wiki/Turing_completeness)! + + - You are probably worrying about the wrong thing. If you can express your application in a purely declarative manner, you should propably do it, + even if you are using a traditional programming language. + It will be much more concise, readable, easy to reason about and to debug than any imperative code you could write. + - SQL is much more simple than traditional programming languages. It is often readable even by non-programmers, and yet it is very powerful. + - If you really want to make your website more complicated than it needs to be, please note that [SQL is actually Turing-complete](https://stackoverflow.com/questions/900055/is-sql-or-even-tsql-turing-complete/7580013#7580013). + - Even if it wasn't (if it didn't have recursive queries), a sequence of SQL statement executions driven by an user, like SQLPage allows you to do, would still be Turing-complete. You could build a sql website representing a Turing machine where the user would have to click "next" repeatedly to compute the next state of the machine. + +> Is this the same as Microsoft Access? + +The goal is the same: make it easy to create simple data-centric applications. +But the tools are very different: + - SQLPage is a web server, not a desktop application. + - SQLPage is not a database, it _connects_ to real battle-tested databases. Microsoft Access tries to be a database, and it's [not very good at it](https://www.quora.com/Is-the-Access-database-reliable-and-secure). + - Microsoft Access is an expensive proprietary software, SQLPage is [open-source](./LICENSE.txt). + - Microsoft Access [is a zombie that will stab you in the back](https://medium.com/young-coder/microsoft-access-the-zombie-database-software-that-wont-die-5b09e389c166), SQLPage won't. + - SQLPage will not tortue you with [Visual Basic for Applications](https://en.wikipedia.org/wiki/Visual_Basic_for_Applications). + +> Is the name a reference to Microsoft Frontpage ? + +Frontpage was visual static website building software popular in the late 90s. +I had never heard of it before someone asked me this question. + +> I like CSS, I want to design web site, not write SQL. + +Are you human ? [Human beings hate CSS](https://uxdesign.cc/why-do-most-developers-hate-css-63c92bce36ed). + +The take of SQLPage is that you should not spend time designing the border radius of your buttons until you have a working prototype. +We provide a set of components that look decent out of the box, so that you can focus on your data model instead. + +However, if you really want to write your own HTML and CSS, you can do it by creating your own components. +Just create a [`.handlebars`](https://handlebarsjs.com/guide/) file in `sqlpage/templates` and write your HTML and CSS in it. ([example](./sqlpage/templates/alert.handlebars)) \ No newline at end of file