# Scientific Method

## What is it

* falsifiable
* dont trust experts
* science is about reverse engineering nature
* Scientific principles
  * It is adherence to Logic and Data - gathered by impartial unbiased experiments
  * Too much focus on logic -> mathematics, theories that may not be useful
  * Too much focus on data -> mechanics, can maintain stuff, but not improve it
* Engineering is the use of science to economically change society one innovation at a time

## Why use it

* Otherwise we rely on cargo-cult, dogma, to guide out software creation
  * Faith and belief in experts, rather than the idea and the evidence that backs it up
  * personal opinions, people become biased, arguments (vi vs emacs)
  * Some one has an idea, it becomes popular, is used but no one questioned it
  * People relying on common sense, or using it as a reason
  * The term "Recommended Practice" or how to use it, should be a flag
  * Marketing to sell a product leads it to becoming the norm, being sold a magic bullet
  * What makes it worse and hard not to trust, is there is some grain of truth, some reasonable logic behind it
* Need an impartial way of finding the best way to develop software, which is unbiased, evidence based, impartial

## Use in software creation

* Idea is to use scientific method to develop hypothesis/experiments that can be tested and have evidence that they work.
* Agile
  * is about fast feedback to use improve, restart that cycle, to narrow down on what is required
* Test first
* Learning from feedback to improve
* How to make software more like Engineering
  * Demand proof
* Never trust the manual fully
  * trust the evidence - tests, source code
  * libraries that are used, should be read
  * if no source, decompile

## Theory

### Difference with Mathematics/logic


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://hanfak.gitbook.io/workspace/general-paradigms/scientific-method.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
