Programación — Informática

Introducción

En esta sec­ción vamos a hablar sobre qué es la pro­gra­mación en infor­máti­ca, antecedentes históri­cos, lengua­jes de pro­gra­mación y entornos de desarrollo.

Al final de la pági­na voy a lis­tar una serie de apli­ca­ciones en las que he usa­do programación.

Esta es la sec­ción prin­ci­pal de todo el con­tenido de pro­gra­mación disponible en la página.

¿Qué es la programación en informática?

Des­de mi pun­to de vista la pro­gra­mación es la her­ramien­ta que ten­emos para hablar con los dis­pos­i­tivos inteligentes, es decir dis­pos­i­tivos elec­tróni­cos que cuen­tan con un proce­sador en su interior.

A través de la pro­gra­mación podremos usar la fun­cional­i­dad que estos dis­pos­i­tivos inteligentes nos ofrecen.

Las com­puta­do­ras, smart­phones y tablets son los dis­pos­i­tivos inteligentes más cono­ci­dos, sin embar­go existe un gran número de otros dis­pos­i­tivos que tam­bién se pueden pro­gra­mar, ya sea por medio de per­iféri­cos de entra­da o gra­ban­do un pro­gra­ma en su memoria.

Dis­pos­i­tivos como el FPGA, Rasp­ber­ry PI, Arduino o PLC son ejem­p­los de estos dis­pos­i­tivos inteligentes que podemos programar.

¿Cómo aprender programación?

En esta pági­na voy a crear un cur­so de pro­gra­mación por medio de artícu­los y videos que en prin­ci­pio va a estar estruc­tura­do en tres partes.

La primera parte será la de Intro­duc­ción a la Pro­gra­mación, aquí estarán lis­ta­dos todos los artícu­los sobre con­cep­tos de pro­gra­mación, pseudocódi­go y cues­tiones de pro­gra­mación básica.

La segun­da parte será sobre análi­sis y desar­rol­lo de algo­rit­mos, en esta parte analizare­mos dis­tin­tos algo­rit­mos y los imple­mentare­mos en lengua­je C# para Unity.

La ter­cera parte será sobre pro­gra­mación ori­en­ta­da a obje­tos, el par­a­dig­ma de pro­gra­mación más reciente que nos per­mite mod­e­lar obje­tos de pro­gra­mación con un com­por­tamien­to determinado.

Reg­u­lar­mente iré cre­an­do nuevos artícu­los y videos sobre cada una de estas temáticas.

¿Cuándo surgió la programación informática?

Lo que se con­sid­era la primera gen­eración de com­puta­do­ras surgió en la déca­da del 40.

Eran máquinas enormes que podían realizar cál­cu­los medi­ante la uti­lización de dis­pos­i­tivos biesta­bles como los relés o vál­cu­las de vacío (biesta­bles porque pueden estar en dos esta­dos, pen­sa­dos de man­era abstrac­ta como 0 y 1). 

El ENIAC (Elec­tron­ic Numer­i­cal Inte­gra­tor And Comput­er), com­puta­dor e inte­grador numéri­co elec­tróni­co se con­sid­era una de las primeras com­puta­do­ras de propósi­to general.

Estos aparatos se pro­gram­a­ban uti­lizan­do lengua­je de máquina, es decir medi­ante com­bi­na­ciones de pal­abras bina­rias que rep­re­senta­ban datos e instruc­ciones. La máquina las procesa­ba los datos con la instruc­ción apropi­a­da y pro­ducía datos de salida.

En la segun­da gen­eración de com­puta­do­ras se reem­plazaron las válvu­las de vacío por tran­si­s­tores, lo que tra­jo una reduc­ción abrup­ta del tamaño y el con­sumo energético.

Lenguajes de programación

Los proce­sadores entien­den los datos e instruc­ciones en lengua­je maquinal, es decir unos y ceros. 

Para que sea más sim­ple hac­er pro­gra­mas para los proce­sadores se creó el lengua­je Assem­bler o ensam­blador, que es prác­ti­ca­mente lengua­je maquinal pero uti­lizan­do pal­abras fáciles de recordar.

El lengua­je maquinal y Assem­bler se cono­cen como lengua­jes de "bajo niv­el", esto sig­nifi­ca bajo niv­el de abstrac­ción, lo que quiere decir que esta­mos escri­bi­en­do un pro­gra­ma direc­ta­mente para el proce­sador, esto impli­ca cono­cer la arqui­tec­tura y el Instruc­tion Set del proce­sador en par­tic­u­lar con el que este­mos trabajando.

Luego ten­emos los lengua­jes de alto niv­el de abstrac­ción como pueden ser C, C++, Java, C#, Python, etc. Estos lengua­jes nos per­miten desli­gar­nos de la arqui­tec­tura de los proce­sadores y crear pro­gra­mas para dis­tin­tas platafor­mas y dispositivos.

Entornos de desarrollo y lenguajes de programación

El entorno de desar­rol­lo es un soft­ware que nos per­mite desar­rol­lar pro­gra­mas y compilarlos.

A con­tin­uación voy a nom­brar algunos entornos de desar­rol­lo populares

Unity

Debido a que el interés de esta pági­na es el desar­rol­lo de video­jue­gos en prin­ci­pio uti­lizan­do Uni­ty, uno de los lengua­jes de pro­gra­mación que vamos a estu­di­ar es C# uti­lizan­do el motor grá­fi­co Uni­ty con el edi­tor Visu­al Studio.

Escribire­mos códi­go en Visu­al Stu­dio y lo sim­u­la­re­mos en Uni­ty. Imprim­ire­mos men­sajes en la con­so­la para com­pro­bar el fun­cionamien­to del código.

Visual Studio, NetBeans o Eclipse

Estos IDE nos per­miten uti­lizar un amplio ran­go de lengua­jes para estu­di­ar programación.

Android Studio

Esto es algo un poco más ambi­cioso, pero si logramos super­ar la fase de insta­lación y con­fig­u­ración de Android Stu­dio, podemos prac­ticar pro­gra­mación en lengua­je Java uti­lizan­do este software.

Blender

Blender es un soft­ware muy ver­sátil, podemos uti­lizar­lo para prac­ticar el lengua­je Python, lo que nos per­mi­tirá hac­er cosas intere­santes como crear nue­stros pro­pios Addons.

Aplicaciones de la programación en informática

Podemos uti­lizar la pro­gra­mación para resolver una gran can­ti­dad de prob­le­mas, voy a lis­tar una serie de usos que le he dado a la programación.

Desarrollo de videojuegos

En mi tiem­po libre tra­ba­jo en un par de proyec­tos de jue­gos en Uni­ty. Cono­cien­do el flu­jo del pro­gra­ma de un juego y cre­an­do Scripts en lengua­je C# podemos manip­u­lar los grá­fi­cos por com­puta­do­ra y con­tro­lar­los con los periféricos.

Hay var­ios motores grá­fi­cos pop­u­lares en la actu­al­i­dad, por ejem­p­lo Unre­al Engine.

Desarrollar aplicaciones para Android

Con el entorno Android Stu­dio podemos crear apli­ca­ciones móviles uti­lizan­do lengua­je Java y XML.

Programar micro controladores

En la fac­ul­tad aprendi­mos a pro­gra­mar los micro­con­tro­ladores pic de Microchip uti­lizan­do lengua­je Assembler.

El micro con­tro­lador es un dis­pos­i­ti­vo de proce­samien­to que cuen­ta con algunos módu­los inter­nos como con­ver­sores analógi­co dig­i­tal, tem­po­rizadores y demás.

Tam­bién he hecho proyec­tos con Arduino.

Programar PLC para controlar máquinas industriales

En la indus­tria, cuan­do se nece­si­ta un con­trol pre­ciso sobre algún pro­ce­so se sue­len imple­men­tar sis­temas de con­trol con Con­tro­ladores Lógi­cos Pro­gram­ables (PLC en inglés).

En mi caso uti­li­zo la mar­ca Delta y su entorno WPLSoft que per­mite pro­gra­mar el PLC uti­lizan­do lengua­je Lad­der o de con­tac­tos. Tam­bién se pueden crear máquinas de estado.

Procesar tabla de datos con Excel

Una apli­cación algo curiosa, pero el hecho de saber pro­gra­mar me resultó útil para analizar una can­ti­dad enormes de datos que recolec­tó un programa.

Crear macros

A la hora de hac­er tar­eas repet­i­ti­vas, los macros son nues­tra salvación. 

Exis­ten dis­tin­tas apli­ca­ciones que nos per­miten crear macros com­ple­jos uti­lizan­do algún lengua­je de programación.

En mi caso me hice un tecla­do espe­cial­mente ded­i­ca­do para macro, que al pul­sar una tecla real­iza una serie de acciones depen­di­en­do el pro­gra­ma que está activo.

Scroll al inicio
Secured By miniOrange