|
7 days ago | |
---|---|---|
.. | ||
README.md | 7 days ago | |
assignment.md | 2 weeks ago |
README.md
Introducción a los Lenguajes de Programación y Herramientas del Oficio
Esta lección cubre los conceptos básicos de los lenguajes de programación. Los temas tratados aquí se aplican a la mayoría de los lenguajes de programación modernos. En la sección 'Herramientas del Oficio', aprenderás sobre software útil que te ayudará como desarrollador.
Sketchnote por Tomomi Imura
Cuestionario Previo a la Clase
Cuestionario previo a la clase
Introducción
En esta lección, cubriremos:
- ¿Qué es la programación?
- Tipos de lenguajes de programación
- Elementos básicos de un programa
- Software y herramientas útiles para el desarrollador profesional
¡Puedes tomar esta lección en Microsoft Learn!
¿Qué es la Programación?
La programación (también conocida como codificación) es el proceso de escribir instrucciones para un dispositivo como una computadora o un dispositivo móvil. Escribimos estas instrucciones con un lenguaje de programación, que luego es interpretado por el dispositivo. Estos conjuntos de instrucciones pueden ser conocidos por varios nombres, pero programa, programa de computadora, aplicación (app) y ejecutable son algunos nombres populares.
Un programa puede ser cualquier cosa escrita con código; sitios web, juegos y aplicaciones para teléfonos son programas. Aunque es posible crear un programa sin escribir código, la lógica subyacente es interpretada por el dispositivo y esa lógica probablemente fue escrita con código. Un programa que está ejecutando o procesando código está llevando a cabo instrucciones. El dispositivo con el que estás leyendo esta lección está ejecutando un programa para mostrarla en tu pantalla.
✅ Investiga un poco: ¿quién es considerado el primer programador de computadoras del mundo?
Lenguajes de Programación
Los lenguajes de programación permiten a los desarrolladores escribir instrucciones para un dispositivo. Los dispositivos solo pueden entender binario (1s y 0s), y para la mayoría de los desarrolladores, esa no es una forma muy eficiente de comunicarse. Los lenguajes de programación son el vehículo de comunicación entre humanos y computadoras.
Los lenguajes de programación vienen en diferentes formatos y pueden servir para diferentes propósitos. Por ejemplo, JavaScript se utiliza principalmente para aplicaciones web, mientras que Bash se usa principalmente para sistemas operativos.
Los lenguajes de bajo nivel generalmente requieren menos pasos que los lenguajes de alto nivel para que un dispositivo interprete las instrucciones. Sin embargo, lo que hace populares a los lenguajes de alto nivel es su legibilidad y soporte. JavaScript se considera un lenguaje de alto nivel.
El siguiente código ilustra la diferencia entre un lenguaje de alto nivel con JavaScript y un lenguaje de bajo nivel con código ensamblador ARM.
let number = 10
let n1 = 0, n2 = 1, nextTerm;
for (let i = 1; i <= number; i++) {
console.log(n1);
nextTerm = n1 + n2;
n1 = n2;
n2 = nextTerm;
}
area ascen,code,readonly
entry
code32
adr r0,thumb+1
bx r0
code16
thumb
mov r0,#00
sub r0,r0,#01
mov r1,#01
mov r4,#10
ldr r2,=0x40000000
back add r0,r1
str r0,[r2]
add r2,#04
mov r3,r0
mov r0,r1
mov r1,r3
sub r4,#01
cmp r4,#00
bne back
end
Aunque no lo creas, ambos están haciendo lo mismo: imprimir una secuencia de Fibonacci hasta el número 10.
✅ Una secuencia de Fibonacci se define como un conjunto de números en el que cada número es la suma de los dos anteriores, comenzando desde 0 y 1. Los primeros 10 números de la secuencia de Fibonacci son 0, 1, 1, 2, 3, 5, 8, 13, 21 y 34.
Elementos de un Programa
Una sola instrucción en un programa se llama sentencia y usualmente tendrá un carácter o un espacio en la línea que marca dónde termina o finaliza. La forma en que un programa finaliza varía según el lenguaje.
Las sentencias dentro de un programa pueden depender de datos proporcionados por un usuario o de otra fuente para llevar a cabo instrucciones. Los datos pueden cambiar cómo se comporta un programa, por lo que los lenguajes de programación incluyen una forma de almacenar temporalmente datos para usarlos más tarde. Estos se llaman variables. Las variables son sentencias que instruyen a un dispositivo a guardar datos en su memoria. Las variables en los programas son similares a las variables en álgebra, donde tienen un nombre único y su valor puede cambiar con el tiempo.
Es posible que algunas sentencias no sean ejecutadas por un dispositivo. Esto suele ser intencional cuando lo escribe el desarrollador o accidental cuando ocurre un error inesperado. Este tipo de control sobre una aplicación la hace más robusta y mantenible. Normalmente, estos cambios en el control ocurren cuando se cumplen ciertas condiciones. Una sentencia común utilizada en la programación moderna para controlar cómo se ejecuta un programa es la sentencia if..else
.
✅ Aprenderás más sobre este tipo de sentencia en lecciones posteriores.
Herramientas del Oficio
🎥 Haz clic en la imagen de arriba para ver un video sobre herramientas
En esta sección, aprenderás sobre algunos programas que pueden ser muy útiles al comenzar tu camino como desarrollador profesional.
Un entorno de desarrollo es un conjunto único de herramientas y características que un desarrollador utiliza con frecuencia al escribir software. Algunas de estas herramientas han sido personalizadas para las necesidades específicas de un desarrollador y pueden cambiar con el tiempo si ese desarrollador cambia de prioridades en el trabajo, proyectos personales o cuando utiliza un lenguaje de programación diferente. Los entornos de desarrollo son tan únicos como los desarrolladores que los usan.
Editores
Una de las herramientas más cruciales para el desarrollo de software es el editor. Los editores son donde escribes tu código y, a veces, donde ejecutas tu código.
Los desarrolladores confían en los editores por varias razones adicionales:
- Depuración ayuda a descubrir errores y fallos al analizar el código línea por línea. Algunos editores tienen capacidades de depuración; pueden personalizarse y añadirse para lenguajes de programación específicos.
- Resaltado de sintaxis agrega colores y formato de texto al código, haciéndolo más fácil de leer. La mayoría de los editores permiten personalizar el resaltado de sintaxis.
- Extensiones e integraciones son herramientas especializadas para desarrolladores, creadas por desarrolladores. Estas herramientas no están integradas en el editor base. Por ejemplo, muchos desarrolladores documentan su código para explicar cómo funciona. Pueden instalar una extensión de corrección ortográfica para ayudar a encontrar errores tipográficos en la documentación. La mayoría de las extensiones están diseñadas para usarse dentro de un editor específico, y la mayoría de los editores incluyen una forma de buscar extensiones disponibles.
- Personalización permite a los desarrolladores crear un entorno de desarrollo único que se adapte a sus necesidades. La mayoría de los editores son extremadamente personalizables y también pueden permitir a los desarrolladores crear extensiones personalizadas.
Editores Populares y Extensiones para Desarrollo Web
Navegadores
Otra herramienta crucial es el navegador. Los desarrolladores web confían en el navegador para ver cómo su código se ejecuta en la web. También se utiliza para mostrar los elementos visuales de una página web que se escriben en el editor, como HTML.
Muchos navegadores vienen con herramientas para desarrolladores (DevTools) que contienen un conjunto de características útiles e información para ayudar a los desarrolladores a recopilar y capturar información importante sobre su aplicación. Por ejemplo: Si una página web tiene errores, a veces es útil saber cuándo ocurrieron. Las DevTools en un navegador pueden configurarse para capturar esta información.
Navegadores Populares y DevTools
Herramientas de Línea de Comandos
Algunos desarrolladores prefieren una vista menos gráfica para sus tareas diarias y confían en la línea de comandos para lograrlo. Escribir código requiere una cantidad significativa de tipeo y algunos desarrolladores prefieren no interrumpir su flujo en el teclado. Usan atajos de teclado para cambiar entre ventanas del escritorio, trabajar en diferentes archivos y usar herramientas. La mayoría de las tareas pueden completarse con un mouse, pero una ventaja de usar la línea de comandos es que se puede hacer mucho sin necesidad de cambiar entre el mouse y el teclado. Otra ventaja de la línea de comandos es que son configurables y puedes guardar una configuración personalizada, cambiarla más tarde e importarla a otras máquinas de desarrollo. Dado que los entornos de desarrollo son tan únicos para cada desarrollador, algunos evitarán usar la línea de comandos, otros dependerán completamente de ella y algunos preferirán una combinación de ambas.
Opciones Populares de Línea de Comandos
Las opciones para la línea de comandos variarán según el sistema operativo que uses.
💻 = viene preinstalado en el sistema operativo.
Windows
- Powershell 💻
- Command Line (también conocido como CMD) 💻
- Windows Terminal
- mintty
MacOS
Linux
Herramientas Populares de Línea de Comandos
Documentación
Cuando un desarrollador quiere aprender algo nuevo, lo más probable es que recurra a la documentación para aprender a usarlo. Los desarrolladores a menudo confían en la documentación para guiarlos sobre cómo usar herramientas y lenguajes correctamente, y también para obtener un conocimiento más profundo de cómo funcionan.
Documentación Popular sobre Desarrollo Web
- Mozilla Developer Network (MDN), de Mozilla, los editores del navegador Firefox
- Frontend Masters
- Web.dev, de Google, editores de Chrome
- Documentación para desarrolladores de Microsoft, para Microsoft Edge
- W3 Schools
✅ Investiga un poco: Ahora que conoces los conceptos básicos del entorno de un desarrollador web, compáralo y contrástalo con el entorno de un diseñador web.
🚀 Desafío
Compara algunos lenguajes de programación. ¿Cuáles son algunas de las características únicas de JavaScript frente a Java? ¿Qué hay de COBOL frente a Go?
Cuestionario Posterior a la Clase
Cuestionario posterior a la clase
Revisión y Autoestudio
Estudia un poco sobre los diferentes lenguajes disponibles para el programador. Intenta escribir una línea en un lenguaje y luego reescríbela en otros dos. ¿Qué aprendiste?
Tarea
Descargo de responsabilidad:
Este documento ha sido traducido utilizando el servicio de traducción automática Co-op Translator. Si bien nos esforzamos por garantizar la precisión, tenga en cuenta que las traducciones automatizadas pueden contener errores o imprecisiones. El documento original en su idioma nativo debe considerarse como la fuente autorizada. Para información crítica, se recomienda una traducción profesional realizada por humanos. No nos hacemos responsables de malentendidos o interpretaciones erróneas que puedan surgir del uso de esta traducción.