Qué es un entorno de desarrollo — editor, terminal y entorno de ejecución

Este artículo forma parte del curso Fundamentos de informática, que construye desde cero los conocimientos prácticos de informática que necesitas como mínimo para programar y hacer vibe coding.
Escribes en el editor, lo entregas desde la terminal y el entorno de ejecución lo ejecuta. Con diagramas vemos estas tres funciones, cómo lee el shell la línea que escribes y dónde busca el archivo.

Este artículo trata el entorno de desarrollo.

Entorno de desarrollo es el nombre conjunto de tres programas: el editor, la terminal y el entorno de ejecución.

Juntar los tres en una sola pantalla da un entorno de desarrollo integrado (IDE, Integrated Development Environment), y los más conocidos son Visual Studio Code, IntelliJ IDEA y Xcode.

  • Qué hace cada uno de los tres: el editor, la terminal y el entorno de ejecución
  • Que el nombre de la terminal cambia según el sistema operativo, y cómo leer su pantalla
  • Cómo lee el shell la línea que escribes y qué archivo busca
  • Cómo el entorno de ejecución ejecuta línea a línea, desde arriba, el app.js que recibe

Qué es un entorno de desarrollo: el editor, la terminal y el entorno de ejecución

Un entorno de desarrollo (development environment: la combinación de programas para escribir código fuente y ejecutarlo dando comandos) es el nombre conjunto de tres cosas, no un programa que se llame así.

Dentro de la computadora mientras creas la app de reservas my-app
Tu computadora
Entorno de desarrollo (se prepara una vez y se reutiliza)
Editor
  • Escribes el contenido de app.js y lo guardas
  • Programas como Visual Studio Code
Terminal
  • La pantalla donde escribes una línea como node app.js
  • Viene instalada con el sistema operativo
Entorno de ejecución
  • Programas llamados node o python
  • Lo instalas desde el sitio oficial
my-app (la carpeta de la app de reservas que vas a crear)
  • app.js — el código fuente que escribiste
  • Los archivos de imágenes y de configuración también van aquí
  • Cuando creas otra app, creas otra carpeta
Fuera está tu computadora. Los tres del marco de arriba se preparan una vez y se reutilizan. my-app, abajo, es una carpeta que creas para cada app.

Los tres del marco de arriba se reutilizan una vez instalados.

Lo único que creas de nuevo cada vez es una carpeta como my-app, la del marco de abajo.

El editor no es solo una pantalla para escribir texto: puede mostrar la lista de archivos y la terminal juntas en la misma pantalla.

Cuando unas instrucciones dicen «editor de código» o «IDE», puedes tomarlo como lo mismo.

Lo que hay en la pantalla del editor
La pantalla del editor
Izquierda — la lista de archivos
  • Aparecen los archivos que hay dentro de my-app
  • Al hacer clic en app.js se abre a la derecha
Centro — donde escribes el texto
  • Aquí sale el contenido de app.js
  • El archivo no cambia hasta que guardas
Abajo — la terminal
  • Aquí puedes escribir node app.js
  • Es lo mismo que una terminal abierta aparte
Un editor para programar puede mostrar en una sola pantalla la lista de archivos, la zona de edición y la terminal, una al lado de la otra.

Los tres programas están conectados y funcionan dentro de una misma computadora.

El marco entero es una computadora, y los tres se reparten las funciones dentro.

El editor llega hasta crear el archivo; quien lo ejecuta es el entorno de ejecución.

La terminal es la entrada por la que le dices al entorno de ejecución que ejecute ese archivo, y el resultado sale en esa misma terminal.

El entorno de desarrollo es un conjunto de tres programas

Entorno de desarrollo es el nombre de tres cosas juntas: escribir, teclear y ejecutar.

Se escribe en el editor, se teclea en la terminal y se ejecuta en el entorno de ejecución, y una vez instalados los tres los reutilizas también en tu siguiente app.

La terminal — «Terminal» en Mac, «Símbolo del sistema» en Windows

La terminal (terminal: el programa de pantalla en el que escribes comandos como texto y recibes los resultados como texto) viene instalada con el sistema operativo desde el principio.

Eso sí, el nombre cambia según el sistema operativo.

El nombre de la terminal en cada sistema operativo
==MacWindowsLinuxTerminalSímbolo delsistemaTerminalConsolaEstá dentro deAplicacionesTambién existePowerShellEl nombre varíapor distribución
La fila de arriba es el sistema operativo, la del centro el nombre de la terminal en ese sistema y la de abajo la pista para encontrarla. Los tres unidos por la línea doble son lo mismo con nombres distintos.

Los nombres cambian, pero todas se ven igual.

Escribes una línea en una pantalla donde solo hay texto, pulsas Enter y el resultado sale en la línea de abajo.

Las tres partes que hay en la pantalla de la terminal
La pantalla de la terminal
El prompt del principio de la línea
  • Símbolos como $, # o >
  • Antes suele aparecer el nombre de la carpeta en la que estás
La línea que escribes tú
  • Escribes el texto a la derecha del prompt
  • No pasa nada hasta que pulsas Enter
El texto que vuelve
  • Tanto los resultados como los errores salen como texto en las líneas de abajo
  • Cuando termina de salir, aparece otra vez el prompt siguiente
En una pantalla donde solo hay texto, escribes una línea a la derecha del prompt del principio, pulsas Enter y el resultado vuelve en la línea de abajo.

En una pantalla real escribes una línea a la derecha del símbolo del principio, como abajo, y el resultado vuelve debajo.

pwd devuelve dónde está la carpeta en la que estás y ls devuelve lo que hay dentro de esa carpeta.

$ pwd
/home/you/my-app

$ ls
app.js  package.json

La terminal es una pantalla para escribir texto y mostrar resultados.

Quien lee de verdad la línea que escribes y decide qué programa ejecutar es el shell (shell: el programa que lee la línea escrita, busca el programa cuyo nombre va al principio y lo arranca) que funciona dentro de esa pantalla.

bash y zsh, que aparecen en las instrucciones, son nombres de shells.

El shell trata la línea que escribes en dos partes: el principio y lo que va detrás.

El principio de la línea y el resto van a sitios distintos
La línea escritanode app.jsnode al principioapp.js detrásEl shell lo buscay lo arrancaEl arrancado lolee y lo ejecutacommandnot foundCannot findmodule
El shell divide la línea en dos. Busca un programa por el nombre del principio y entrega a ese programa el nombre de archivo que va detrás. A la derecha del todo está el texto que sale cuando no se encuentra cada uno.

El shell busca un programa con el node del principio y entrega el app.js de detrás a ese programa.

Entonces busca app.js solo dentro de la carpeta que el shell tiene abierta en ese momento, y a esa carpeta se le llama directorio actual (current directory: la carpeta que el shell tiene abierta ahora).

Su nombre suele aparecer justo antes del prompt (prompt: el símbolo que indica que se acepta la entrada) del principio de la línea.

La carpeta en la que está el shell y cómo se busca app.js
Tu computadora
my-app (la carpeta que el shell tiene abierta ahora)
  • En la terminal aparece my-app al principio de la línea
  • app.js está aquí, así que node app.js funciona
Descargas (otra carpeta)
  • Aunque app.js esté aquí, node app.js no funciona
  • Al escribir cd my-app, el marco de arriba pasa a ser la carpeta en la que estás
La carpeta que el shell tiene abierta ahora es el directorio actual. El app.js de node app.js se busca solo dentro de esa carpeta.

El mismo node app.js da un resultado distinto si cambia la carpeta en la que estás.

app.js está guardado dentro de my-app.

La carpeta en la que está el shellDónde se busca app.jsEl resultado de node app.js
my-appDentro de my-app → se encuentraapp.js se ejecuta
DescargasDentro de Descargas → no se encuentraCannot find module
Después de cd my-appDentro de my-app → se encuentraapp.js se ejecuta

Las instrucciones ponen cd antes de un comando para cambiar ese lugar de búsqueda.

Cuando escribes un destino detrás de cd, la línea siguiente se ejecuta en la carpeta a la que te moviste.

$ cd my-app

$ pwd
/home/you/my-app

Lo que ocurre con la línea que escribes lo decide lo que pusiste al principio.

Lo visto hasta aquí es el mínimo para leer los comandos que aparecen en las instrucciones.

Si quieres aprender más a fondo, en el curso de introducción a Linux hay ejercicios en los que escribes comandos en una terminal del navegador.

Si empiezas por Rutas y navegación entre directorios, lo de cd de este artículo continúa justo ahí.

Quien lee la línea que escribes es el shell

Quien lee la línea que escribes no es la pantalla, sino el shell que funciona dentro.

Cuando algo no sale bien, léelo por separado: command not found significa que no se encontró el nombre del principio, y Cannot find module, que el archivo de detrás no está en la carpeta en la que estás.

El entorno de ejecución — ejecuta el contenido de app.js en orden desde arriba

El entorno de ejecución al que el shell entrega app.js lee su contenido línea a línea desde arriba y lo ejecuta en el orden escrito.

Si ejecutas las tres líneas siguientes con node app.js, en pantalla salen solo dos.

console.log("Hola");
const price = 1200;
console.log(price + " yenes");

En pantalla salen solo las líneas que piden mostrar algo.

El entorno de ejecución solo lee línea a línea desde arriba

Lo que hace el entorno de ejecución es leer app.js línea a línea desde arriba y hacer lo que está escrito.

Solo las líneas que piden mostrar algo sacan texto en pantalla, y lo único que lee es el app.js que le entregó el shell.

QUIZ

Verificación de conocimientos

Responde cada pregunta una a una.

Pregunta 1¿Qué lee la línea que escribes en la terminal, busca el programa cuyo nombre va al principio y lo arranca?

Pregunta 2Escribiste node app.js y salió que no se encuentra app.js. ¿Qué compruebas primero?

Pregunta 3Cuando escribes node app.js en la terminal, ¿qué ejecuta el contenido de app.js en orden desde arriba?