Skip to content

Commit

Permalink
Add FAQ
Browse files Browse the repository at this point in the history
  • Loading branch information
lovasoa committed Jul 5, 2023
1 parent e6aab7f commit 5dad371
Showing 1 changed file with 36 additions and 0 deletions.
36 changes: 36 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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))

0 comments on commit 5dad371

Please sign in to comment.