Saltar al contenido

Concepto y definici贸n de qu茅 es programaci贸n

programaci贸n

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. 1. Girar y mirar hacia el acantilado
  2. 2. Caminar hacia el acantilado
  3. 3. Detenerse en el borde del acantilado
  4. 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铆:

  1. 2a. Pie izquierdo adelante
  2. 2b. Pie derecho adelante
  3. 2c. Regresar a 2a

que es la programaci贸n - definic贸n y concepto

Estos tres conceptos son las estructuras l贸gicas b谩sicas en la programaci贸n inform谩tica:

  1. Secuencia: instrucciones de ejecuci贸n en orden
  2. Selecci贸n: hacer elecciones
  3. 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?