# ¿Cómo realizar experimentos?

El difunto y gran Edsger Dijkstra ha explicado elocuentemente que la informática no es una ciencia experimental \[ExpCS] y no depende de las computadoras electrónicas. Como él lo expresa refiriéndose a la década de 1960 \[Knife],

> ...se hizo el daño: el tema se dio a conocer como "ciencia de la computación", que, en realidad, es como referirse a la cirugía como "ciencia del cuchillo", y se implantó firmemente en la mente de las personas que la ciencia informática trata sobre máquinas y su equipo periférico.

La programación no debería ser una ciencia experimental, pero la mayoría de los programadores en activo no tienen el lujo de participar en lo que Dijkstra entiende por ciencia informática. Debemos trabajar en el ámbito de la experimentación, al igual que algunos, pero no todos, los físicos lo hacen. Si treinta años después se puede programar sin experimentación, será un gran logro de la Ciencia de la Computación.

Los tipos de experimentos que tendrás que realizar incluyen:

* Probar sistemas con ejemplos pequeños para verificar que se ajustan a la documentación o para entender su respuesta cuando no hay documentación,
* Probar pequeños cambios de código para ver si realmente soluciona un error.
* Medir el rendimiento de un sistema bajo dos condiciones diferentes debido al conocimiento imperfecto de sus características de rendimiento,
* Verificar la integridad de los datos y
* Recopilar estadísticas que puedan dar pistas sobre la solución a errores difíciles o difíciles de repetir.

No creo que en este ensayo pueda explicar el diseño de experimentos; tendrás que estudiar y practicar. Sin embargo, puedo ofrecer dos consejos.

En primer lugar, trata de ser muy claro acerca de tu hipótesis o la afirmación que estás tratando de probar. También ayuda escribir la hipótesis, especialmente si te encuentras confundido o estás trabajando con otras personas.

A menudo te encontrarás teniendo que diseñar una serie de experimentos, cada uno de los cuales se basa en el conocimiento adquirido del último experimento. Por lo tanto, debes diseñar tus experimentos para proporcionar la mayor información posible.

Siguiente [Habilidades de equipo: ¿Por qué es importante la estimación?](/how-to-be-a-programmer/es/1-beginner/team-skills/01-why-estimation-is-important.md)


---

# 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://braydie.gitbook.io/how-to-be-a-programmer/es/1-beginner/personal-skills/12-how-to-conduct-experiments.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.
