
Hay innumerables definiciones de lo que es la programación informática, pero la que yo uso es:
«La programación es la forma de conseguir que los ordenadores resuelvan problemas».
Hay dos frases clave aquí que son importantes:
- tú: sin el programador (tú), el ordenador es inútil. Hace lo que tú le dices que haga.
- resolver problemas: los ordenadores son herramientas.Son herramientas complejas, es cierto, pero no son misteriosas o mágicas: existen para facilitar las tareas.
Los programas de ordenador (o software) son los que hacen que los ordenadores funcionen.
Sin software, las computadoras modernas son sólo máquinas complicadas para convertir la electricidad en calor.
Es el software en tu computadora el que hace funcionar tu sistema operativo, el navegador, el correo electrónico, los juegos, el reproductor de películas – casi todo.
La programación es una tarea creativa: no hay una manera correcta o incorrecta de resolver un problema, de la misma manera que no hay una manera correcta o incorrecta de pintar un cuadro.
Hay que tomar decisiones, y una forma puede parecer mejor que otra, pero eso no significa que la otra esté equivocada Con las habilidades y la experiencia adecuadas, un programador puede crear un software para resolver un número ilimitado de problemas, desde decirte cuándo llegará el próximo tren hasta reproducir tu música favorita.
Las posibilidades sólo están limitadas por tu imaginación.
Por eso me encanta programar.
Cuando creas un programa para una computadora, le das un conjunto de instrucciones, que se ejecutará una a una en orden, precisamente como se ha dado.
Si le dijeras a una computadora que salte de un acantilado, ¡lo haría!
- 1. Girar y mirar hacia el acantilado
- 2. Caminar hacia el acantilado
- 3. Detenerse en el borde del acantilado
- 4. Saltar del acantilado
Para evitar que las computadoras se caigan constantemente de los acantilados, también pueden tomar decisiones sobre qué hacer a continuación:
Si no sobrevivo a la caída, no saltes del acantilado
Los ordenadores nunca se aburren y son muy buenos haciendo lo mismo una y otra vez.
La instrucción 2 de arriba podría verse con más detalle así:
- 2a. Pie izquierdo adelante
- 2b. Pie derecho adelante
- 2c. Regresar a 2a
Estos tres conceptos son las estructuras lógicas básicas en la programación informática:
- Secuencia: instrucciones de ejecución en orden
- Selección: hacer elecciones
- Repetición: hacer lo mismo más de una vez
Si a estos conceptos se les añade la capacidad de tratar con entradas y salidas y de almacenar datos, se obtienen las herramientas para resolver la mayoría de los problemas informáticos.
Lenguajes de programación
Desafortunadamente, los ordenadores no entienden idiomas como el inglés o el español, así que tenemos que usar un lenguaje de programación que entiendan para darles instrucciones.
Hay muchos lenguajes de programación diferentes, todos ellos con sus propios méritos, y ciertos lenguajes se adaptan mejor a determinados tipos de tareas, pero no hay un lenguaje que sea el «mejor».
En este curso se programará utilizando un lenguaje llamado Python.
Python es uno de un grupo de lenguajes llamados «lenguajes de programación de propósito general», que puede ser usado para resolver una amplia variedad de problemas.
Otros lenguajes populares en esta categoría son C, Ruby, Java y BASIC.
Es un pequeño programa Python que pide al usuario que introduzca su nombre y le dice «Hola»:
print("Hola y bienvenido"
)name = input("¿Cómo te llamas?")
if name == "Martin":
print("¡Ese es mi nombre también!")
print("Hola "+nombre
")
No necesitas ser un programador de computadoras para poder leer este código.
Contiene palabras en inglés y es legible (si no comprensible).
Sin embargo, al final de este curso entenderás este código, lo que hace, y los conceptos que utiliza.
Los programas son a menudo referidos como código y por lo tanto la programación es también conocida como codificación.
¿Qué es la programación?
Todos hemos oído hablar de la programación informática que ha ganado mucha popularidad en las últimas 3 décadas.
Muchos estudiantes hoy en día quieren optar por una carrera de Ciencias de la Computación para conseguir un trabajo en la compañía de tecnología de sus sueños – Google, Facebook, Microsoft, Apple, y todo eso.
En esta entrada del blog, descifraremos el término «programación» y entenderemos su uso y muchos otros términos relacionados.
Entendiendo la programación en términos simples
La programación es una forma de «instruir al ordenador para realizar varias tareas».
¿Confuso? Entendamos la definición profundamente.
«Instruir a la computadora»: esto significa básicamente que usted le proporciona a la computadora un conjunto de instrucciones que están escritas en un lenguaje que la computadora puede entender.
Las instrucciones pueden ser de varios tipos.
Por ejemplo:
- Añade 2 números,
- Redondear un número, etc.
Así como los humanos podemos entender algunos idiomas (inglés, español, mandarín, francés, etc.), así es el caso de las computadoras.
Los ordenadores entienden instrucciones escritas en una forma sintáctica específica llamada lenguaje de programación.
«Realizar varias tareas»: las tareas pueden ser simples como las que hemos discutido anteriormente (sumar 2 números, redondear un número) o complejas que pueden implicar una secuencia de instrucciones múltiples.
Por ejemplo:
- Calculando el interés simple, dado el capital, la tasa y el tiempo.
- Calculando el rendimiento medio de una acción en los últimos 5 años.
Las dos tareas anteriores requieren cálculos complejos.
Normalmente no pueden ser expresados en instrucciones simples como la suma de 2 números, etc.
Por lo tanto, en resumen, la programación es una forma de decirle a las computadoras que hagan una tarea específica.
¿Por qué te molestas en codificar?
Debes estar preguntándote – ¿por qué se necesita una computadora para sumar o redondear números? ¿O incluso para el simple cálculo de intereses? Después de todo, incluso un niño de octavo grado puede hacer fácilmente esas cosas incluso con números grandes.
¿Para qué se utiliza la programación? ¿Qué beneficios ofrecen las computadoras?
Bueno, las computadoras ofrecen muchos beneficios:
- Las computadoras son rápidas: las computadoras son increíblemente rápidas. Si sabes cómo utilizar adecuadamente el poder de la programación de las computadoras, puedes hacer maravillas con ella. Para una computadora típica de hoy en día, una adición de 2 números que podrían ser tan grandes como mil millones cada uno toma apenas un nanosegundo. Lee de nuevo – ¡nanosegundo! Eso significa que en 1 segundo, un ordenador puede realizar alrededor de mil millones de adiciones. ¿Puede cualquier humano hacer eso? Olvídate de mil millones de adiciones por segundo, el humano típico no puede hacer ni siquiera 10 adiciones por segundo. Por lo tanto, las computadoras ofrecen una gran velocidad.
- Los ordenadores son baratos: si fueras un analista del mercado de valores y tuvieras que controlar los datos de, digamos, 1000 acciones para poder negociarlas rápidamente. ¡Imagina la molestia que crearía si lo hicieras manualmente! Es simplemente impráctico. Mientras realizas tus cálculos sobre el rendimiento de las acciones, el precio puede cambiar. La otra alternativa es contratar gente para que puedas controlar más acciones en paralelo. Eso significa que tu costo sube significativamente. Sin mencionar el problema que enfrentarás si algunos de tus empleados cometen un error de cálculo en el proceso. ¡Puede que termines perdiendo dinero! Contrasta eso con el caso en el que utilizas un ordenador. Los ordenadores pueden procesar una gran cantidad de información de forma rápida y fiable. 1000 acciones no son nada para las computadoras en el siglo 21.
- Los ordenadores pueden trabajar 24×7: Los ordenadores pueden trabajar 24×7 sin agotarse. Así que, si tienes una tarea lo suficientemente grande, puedes asignarla sin preocupaciones a un ordenador programándolo y dormir tranquilamente.
¿Qué es el lenguaje de programación?
Como ya se ha mencionado, las computadoras entienden instrucciones que están escritas en una forma sintáctica específica llamada lenguaje de programación.
Un lenguaje de programación proporciona una forma para que un programador exprese una tarea de manera que pueda ser entendida y ejecutada por una computadora.
Remítase a nuestra otra entrada en el blog «¿Qué es un lenguaje de programación? «para saber más sobre los lenguajes de programación.
Algunos de los lenguajes de programación más populares son Python, C, C++, Java, etc.
¿Por qué deberías aprender programación de computadoras?
Ahora, después de saber tantas cosas sobre la programación, la gran pregunta que hay que responder es – ¿por qué deberías aprender Programación de Computadoras? Entendamos por qué:
- La programación es divertida: Usando la programación, puedes crear tus propios juegos, tu página personal de blog/perfiles, una red social como Facebook, un motor de búsqueda como Google o una plataforma de comercio electrónico como Amazon! ¿No será divertido? Imagina crear tu propio juego y ponerlo en Play Store y obtener miles y miles de descargas!
- La columna vertebral de una compañía de tecnología: La columna vertebral de las empresas de tecnología de hoy en día como Google, Facebook, Microsoft, Apple, Amazon, y muchos otros, son gigantescos programas de computadora escritos por una colaboración de miles de programadores calificados. Si tienes la visión de negocios correcta, saber programar puede ayudarte a crear la próxima gran compañía tecnológica.
- Un salario bastante bueno: Los programadores de computadoras son pagados extremadamente bien en casi todo el mundo. Los mejores programadores de Silicon Valley ganan millones de dólares cada año. Bastantes empresas ofrecen salarios iniciales de hasta 100.000 dólares al año.
Ahora vamos a entrar en un programa real
Escribir su primer programa
Python es un lenguaje de programación ampliamente utilizado.
Es extremadamente amigable para los principiantes.
Puedes descargar Python aquí: https://www.python.org/downloads/
Después de descargarlo, ejecute el instalador para instalar Python en su máquina.
Profundicemos ahora en nuestro primer código Python.
Abre tu editor de texto favorito (recomendamos Sublime Text) y copia-pega las siguientes 3 líneas:
a = 54 b = a ** 8 imprimir b
Guarda el archivo en tu escritorio como mi_primer_programa.py
Ahora, haz una de las siguientes cosas dependiendo de tu sistema operativo:
- Windows: abre el símbolo del sistema y escribe python mi_primer_programa.py
- Ubuntu/Mac OSX: abre la terminal y escribe python mi_primer_programa.py
Cuando presionas enter, ¿qué ves en la pantalla? Casi instantáneamente después de pulsar la tecla intro, verás lo siguiente:
72301961339136
¿Qué es eso? ¡Es el 548, calculado por tu ordenador en un abrir y cerrar de ojos! Un humano típico tardará minutos, si no segundos, en obtener el resultado.
¿Ves el poder de una computadora?
Felicidades, has escrito tu primer programa.
Entendamos cómo funciona.
a = 54
Estamos declarando aquí que tenemos un «marcador de posición» llamado como un al que asignamos el valor 54.
b = a ** 8
Aquí, estamos declarando otro marcador de posición llamado b al que asignamos el valor a ** 8.
Aquí, el valor de a es 54.
Así que, efectivamente estamos computando 54 ** 8.
¿Qué es **? El operador ** es el operador de «poder».
a ** b significa ab.
imprimir b
Finalmente, después de que el cómputo se hace, queremos mostrar el resultado en la pantalla.
Para ello, hemos utilizado la declaración de impresión que esencialmente arroja el resultado en su pantalla.
Así que, eso fue lo básico de la programación de computadoras.
Espero que hayan disfrutado de su lectura.
La programación de computadoras es un campo enorme y hay mucho que explorar.
Sigue aprendiendo y sigue explorando.
Por favor, siéntanse libres de publicar sus dudas en la sección de comentarios.
Por favor, no se preocupe si cree que su duda es tal vez tonta.
Cada pregunta/duda es importante.
No existe tal cosa como una pregunta estúpida.
Codificación vs. Programación: Diferencia que deberías saber
Algunos de los veteranos de la industria del desarrollo de software afirman que «Codificar no es lo mismo que programar».
Sólo porque puedas codificar no significa que puedas programar’.
Ahora, ¿qué significa eso? Estoy seguro de que todos estos años has pensado que estas dos palabras se pueden usar indistintamente, y que significan lo mismo.
Sin embargo, son diferentes.
Codificar es la capacidad de entender la sintaxis y la estructura de un lenguaje, mientras que programar es la capacidad de traducir un pensamiento o una idea a un lenguaje para resolver un problema.
Profundicemos un poco más para entender los dos vocabularios más utilizados en la industria del software.
¿Qué es la codificación?
El lenguaje que entienden las computadoras es el Código de Máquina, que es difícil de comprender para los humanos.
De ahí que se haya ideado una forma más natural de interactuar con los ordenadores – El Lenguaje de Programación.
¿Qué tienen en común la mayoría de los lenguajes de programación?
- La sintaxis y las reglas que deben seguirse cuando se escribe el código
- Un compilador – que convierte el código en código de máquina para que el ordenador lo entienda
- La computadora ejecuta el código y devuelve los resultados
Hay muchos lenguajes de programación que puedes usar para escribir tu código.
La codificación es el proceso de usar un lenguaje de programación para conseguir que un ordenador se comporte como el desarrollador quiere.
Cada línea de código le dice a la computadora que haga algo, y un documento con varias líneas de código se llama guión.
Los scripts pueden darte los resultados deseados sólo si son compilados y luego ejecutados.
Necesitas convertir tu guión en un programa.
El proceso de compilación cambia el código de su lenguaje de programación en código de máquina, que su ordenador puede entender.
Cualquier tipo de aplicación, juego o sitio web es un programa.
En resumen, la codificación implica escribir muchas líneas de código para crear un programa de software.
¿Qué es la programación?
Aunque la codificación es una gran parte del ciclo de vida del desarrollo de software, no es una parte esencial.
Para crear una aplicación, es necesario tomar varios pasos necesarios.
Incluyen la planificación, el diseño, las pruebas, el despliegue e incluso el mantenimiento.
Por lo tanto, la programación es un panorama más amplio e implica no sólo la codificación sino también otras tareas, tales como el análisis y la implementación de algoritmos, la comprensión de las estructuras de datos y la resolución de problemas.
La programación es esencial ya que para escribir código, hay que ser transparente con el esquema o la estructura del programa.
Por ejemplo, podrías escribir pseudocódigo de tu lógica de codificación, y el pseudocódigo es un método eficiente para explicar el algoritmo a un codificador.
Características
Así que, veamos las características en la codificación y programación:
1. Alcance
La codificación es un subconjunto de la programación.
En la codificación, se transforma un conjunto de instrucciones en un lenguaje que la computadora puede entender.
La codificación puede hacerse por partes.
Antes de codificar, necesitas tener un esquema del programa en cuanto a lo que vas a codificar.
El seudocódigo es a menudo utilizado por los codificadores que les ayudan con la lógica.
Es una forma informal de describir tu programa y no sigue ninguna sintaxis del lenguaje de programación.
Mientras que la programación tiene un alcance más amplio donde usted define los requisitos, escribe su lógica, código, prueba y crea un programa ejecutable a partir de sus códigos necesarios.
2. Habilidades
Los codificadores suelen seguir las instrucciones y requisitos para escribir código.
Como codificador, necesitas saber la sintaxis de un lenguaje de programación.
Un programador necesita un título especializado y años de experiencia para obtener las habilidades y los conocimientos necesarios para escribir lógica, analizar, diseñar y escribir programas complejos.
Los programadores a menudo usan su imaginación y sus habilidades analíticas para resolver problemas específicos.
Un programador debe ser capaz de entender y crear estructuras de datos y algoritmos complejos.
Los programadores a menudo escriben o piden a los escritores técnicos que proporcionen especificaciones técnicas que contengan los requisitos que el producto final debe cumplir y los problemas que debe resolver.
Los codificadores siguen luego esas especificaciones para escribir el código pero no trabajan en las especificaciones en sí.
Los programadores también participan en la compilación, depuración, prueba e implementación del código.
3. Herramientas
Si estás bien versado en el lenguaje de programación, entonces para la codificación, un simple editor de texto como Wordpad sería suficiente.
Las herramientas de desarrollo pueden ser de muchas categorías, como enlazadores, compiladores, editores de código, diseñadores de interfaces gráficas, ensambladores, depuradores, herramientas de análisis de rendimiento y más.
Algunas de las herramientas de desarrollo populares que ayudan a los codificadores son Eclipse, Bootstrap, Delphi, ATOM, y muchas más.
Dado que la programación tiene un alcance más amplio, los conceptos avanzados deben ser conocidos por un programador como Git y Github, herramientas de bases de datos, herramientas analíticas como Apache Spark, herramientas de presentación, herramientas de nube, y muchas más.
4. Resultado
En el caso de la codificación, el resultado de un trozo de código es sólo el resultado deseado para un conjunto de instrucciones dadas a una computadora.
El resultado de la programación podría ser una aplicación completa, un producto de software o un sitio web.
Si la programación es un libro, entonces la codificación se puede comparar con un capítulo del libro.
5. Apoyo
Tanto la codificación como la programación cuentan con un amplio apoyo de la comunidad para la mejora continua.
Stackoverflow.com, Github, Toptal, SAP Community Network, y muchos más son sitios web que son útiles tanto para los codificadores como para los programadores.
Codificación vs. Programación: Comparación cara a cara
Para resumir, la tabla que le daría una rápida visión general de la codificación y la programación.
Puntos clave | Codificación | Programación |
Alcance | Es un proceso para convertir un conjunto de instrucciones en un lenguaje que la computadora pueda entender. | Tiene un alcance más amplio, por lo que además de codificar, también implica definir los requisitos, escribir pseudo código, probar y construir ejecutables |
Habilidades | Como codificador, necesitas conocer la sintaxis del lenguaje de programación | Como programador, necesitas pensamiento de alto nivel y habilidades analíticas además de habilidades de codificación. |
Herramientas | Eclipse, Bootstrap, Delphi, ATOM y muchos más | Para añadir a las herramientas de codificación otras herramientas como Git y Github, herramientas de base de datos, herramientas analíticas como Apache Spark, herramientas de presentación, herramientas de nube son también esenciales |
Resultado | Una pieza de código que funciona. | Toda la aplicación, un producto de software o un sitio web. |
Apoyo | Se dispone de un amplio apoyo de la comunidad de desarrolladores | Hay disponible un amplio apoyo de la comunidad |
Oportunidades para empezar a codificar
Para aprender a codificar y quizás llegar a ser un programador experimentado en el futuro, podrías considerar involucrarte cuando seas joven.
Hay varias oportunidades para comenzar el camino de convertirse en un programador.
Es muy importante aprender a codificar, ya que es la forma de realizar el trabajo básico.
Puedes aprender a codificar en línea de forma gratuita.
- En https://paraprogramar.club no encontrarás lecciones de código libre, sin embargo, encontrarás las mejores recomendaciones aquí.Podrías buscar el lenguaje que quieres aprender y obtendrás una lista de los mejores tutoriales, cursos en línea, y libros recomendados por la comunidad de codificación.
Resumen
Para concluir, los trabajos de codificación son los más deseables hoy en día.
Codificar no es difícil de aprender, sólo necesita algo de práctica y tiempo.
Puedes perfeccionar tus habilidades de codificación y seguro que aprenderás los matices de un buen programador y ascenderás en la cadena de valor de la ingeniería de software.
Los programadores tienen una mentalidad técnica y tienen fuertes habilidades analíticas.
Todos los programadores son codificadores, pero no todos los codificadores son programadores.
¿Tiene algún otro curso de programación y campos de entrenamiento para ayudar a otros a mejorar sus habilidades?