uccser/cs-field-guide

View on GitHub
csfieldguide/chapters/content/es/introduction/introduction.md

Summary

Maintainability
Test Coverage
# Introducción

{panel type="teacher-note"}

# Introducción para los profesores

La versión que estás leyendo ahora es la de los profesores, en la que los capítulos se intercalan con información para profesores, como este recuadro. Incluirá respuestas y sugerencias, por lo que esta versión no se debe divulgar entre los estudiantes (aunque como el material es de código abierto, un alumno ingenioso podría encontrar fácilmente la versión para profesores).

Como la guía está en constante revisión, agradecemos los comentarios que nos ayuden a mejorar, aclarar y corregir el material. La mejor forma de enviar comentarios (que van desde un error tipográfico hasta una sugerencia general) es a través del enlace "Comentarios" que se encuentra en la parte inferior de todas las páginas.

{panel end}

¿Por qué la gente tiene una relación amor-odio con los ordenadores? ¿Por qué algunas personas tienen una actitud fanática con ciertos tipos de ordenadores, mientras que otras están tan enfadadas con los dispositivos digitales que llegan a comportarse de forma violenta con ellos? ¿Y qué tiene que ver esto con la informática? Bueno, y ¿qué es la informática?

¡Me alegra que me hagas esa pregunta! En pocas palabras, la informática trata las herramientas y técnicas utilizadas para diseñar y crear aplicaciones muy rápidas, con excelentes interfaces, fiables, seguras, útiles e incluso divertidas.

Mucha gente confunde la informática con la programación. Se ha dicho que "la informática trata de ordenadores tanto como la astronomía trata de telescopios" ([Mike Fellows](http://en.wikiquote.org/wiki/Computer_science)). La programación es la herramienta que usan los informáticos para dar vida a grandes ideas, pero el mero hecho de saber cómo dar instrucciones programadas a un ordenador no basta para crear programas que deleiten y empoderen a la gente.

Por ejemplo, los ordenadores pueden realizar miles de millones de operaciones cada segundo y aun así, a menudo la gente se queja de que son demasiado lentos. Los humanos pueden percibir retrasos de aproximadamente una décima de segundo y si un programa tarda más que eso en responder, se considera lento, errático o frustrante. ¡Tienes bastante menos de un segundo para cautivar al usuario! Si buscamos miles de millones de elementos de datos o mostramos millones de píxeles (megapíxeles), no nos podemos permitir hacer las cosas de forma incorrecta y no podemos decirles a los usuarios que deberían comprarse ordenadores más rápidos... ¡probablemente se comprarán otro programa más rápido!

Estos son algunos consejos de Fred Wilson, que ha invertido en muchas empresas de tecnología de renombre:

{blockquote source="http://triple-networks.com/2011/12/06/10-golden-principles-of-successful-web-apps/" footer="true"}

En primer lugar, creemos que la velocidad es más que una simple característica. La velocidad es la característica más importante. Si tu aplicación es lenta, la gente no la usará. Esto se ve más con el usuario medio que con el usuario avanzado. Creo que los usuarios avanzados a veces comprenden un poco mejor los desafíos que conlleva la creación de aplicaciones web realmente rápidas y puede que estén dispuestos a vivir con ello, pero cuando miro a mi mujer y a mis hijos, para mí ellos representan al usuario medio. Si algo va lento, pierden el interés. ... la velocidad es más que una simple característica. Es un requisito.

- [Fred Wilson](https://en.wikipedia.org/wiki/Fred_Wilson_(financier))

{blockquote end}

Un aspecto clave en informática es averiguar cómo hacer que las cosas vayan rápido, sobre todo si quieres vender tu programa al gran mercado de gente que usa teléfonos inteligentes más antiguos o si vas a ejecutar el programa en un centro de datos en el que pagas por minuto de tiempo de computación. No puedes decirles a tus clientes que se compren un dispositivo más rápido, tienes que ofrecerles un software eficiente.