viernes, 23 de agosto de 2019

¿Que es programar?

*¿Que es la programación?*

La programación es un proceso que se utiliza para idear y ordenar las acciones que se realizarán en el marco de un proyecto; al anuncio de las partes que componen un acto o espectáculo; a la preparación de máquinas para que cumplan con una cierta tarea en un momento determinado; a la elaboración de programas para la resolución de problemas mediante ordenadores, y a la preparación de los datos necesarios para obtener una solución de un problema.
En la actualidad, la noción de programación se encuentra muy asociada a la creación de aplicaciones informática y video juegos. Es el proceso por el cual una persona desarrolla un programa valiéndose de una herramienta que le permita escribir el código (el cual puede estar en uno o varios lenguajes, como C++, Java y Python, entre otros) y de otra que sea capaz de “traducirlo” a lo que se conoce como lenguaje de máquina, que puede comprender el microprocesador.

*Tipos de programación que existen*

-Estructurada-

La programación estructurada es un paradigma de programación orientado a mejorar la claridad, calidad y tiempo de desarrollo de un programa de computadora recurriendo únicamente a subrutinas y tres estructuras básicas: secuencia, selección (if y switch) e iteración (bucles for y while); asimismo, se considera innecesario y contraproducente el uso de la instrucción de transferencia incondicional (GOTO), que podría conducir a código espagueti, mucho más difícil de seguir y de mantener, y fuente de numerosos errores de programación.
Surgió en la década de 1960, particularmente del trabajo de Böhm y Jacopini,​ y un famoso escrito de 1968: «La sentencia goto, considerada perjudicial», de Edsger Dijkstra.​ Sus postulados se verían reforzados, a nivel teórico, por el teorema del programa estructurado y, a nivel práctico, por la aparición de lenguajes como ALGOL, dotado de estructuras de control consistentes y bien formadas.

-Orientada a objetos-

La programación orientada a objetos (POO, en español; OOP, según sus siglas en inglés) es un paradigma de programación que viene a innovar la forma de obtener resultados. Los objetos manipulan los datos de entrada para la obtención de datos de salida específicos, donde cada objeto ofrece una funcionalidad especial.
Muchos de los objetos prediseñados de los lenguajes de programación actuales permiten la agrupación en bibliotecas o librerías, sin embargo, muchos de estos lenguajes permiten al usuario la creación de sus propias bibliotecas.
Estábasadaenvariastécnicas: herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento.
Su uso se popularizó a principios de la década de 1990. En la actualidad, existe una gran variedad de lenguajes de programación que soportan la orientación a objetos.

-Orientada a eventos-

La programación dirigida por eventos es un paradigma de programación en el que tanto la estructura como la ejecución de los programas van determinados por los sucesos que ocurran en el sistema, definidos por el usuario o que ellos mismos provoquen.
Para entender la programación dirigida por eventos, podemos oponerla a lo que no es: mientras en la programación secuencial (o estructurada) es el programador el que define cuál va a ser el flujo del programa, en la programación dirigida por eventos será el propio usuario —o lo que sea que esté accionando el programa— el que dirija el flujo del programa. Aunque en la programación secuencial puede haber intervención de un agente externo al programa, estas intervenciones ocurrirán cuando el programador lo haya determinado, y no en cualquier momento como puede ser en el caso de la programación dirigida por eventos.
El creador de un programa dirigido por eventos debe definir los eventos que manejarán su programa y las acciones que se realizarán al producirse cada uno de ellos, lo que se conoce como el administrador de evento. Los eventos soportados estarán determinados por el lenguaje de programación utilizado, por el sistema operativo e incluso por eventos creados por el mismo programador.
En la programación dirigida por eventos, al comenzar la ejecución del programa se llevarán a cabo las inicializaciones y demás código inicial y a continuación el programa quedará bloqueado hasta que se produzca algún evento. Cuando alguno de los eventos esperados por el programa tenga lugar, el programa pasará a ejecutar el código del correspondiente administrador de evento. Por ejemplo, si el evento consiste en que el usuario ha hecho clic en el botón de play de un reproductor de películas, se ejecutará el código del administrador de evento, que será el que haga que la película se muestre por pantalla.
Un ejemplo claro lo tenemos en los sistemas de programación Lexico y Visual Basic, en los que a cada elemento del programa (objetos, controles, etcétera) se le asignan una serie de eventos que generará dicho elemento, como la pulsación de un botón del ratón sobre él o el redibujado del control. O en Javascript que asigna manejadores de eventos a los que responder a eventos en una web en el caso del navegador o a eventos producidos por objetos emisores en el caso de NodeJS.
La programación dirigida por eventos es la base de lo que llamamos interfaz de usuario, aunque puede emplearse también para desarrollar interfaces entre componentes de Software o módulos del núcleo.
En los primeros tiempos de la computación, los programas eran secuenciales, también llamados Batch. Un programa secuencial arranca, lee parámetros de entrada, procesa estos parámetros, y produce un resultado, todo de manera lineal y sin intervención del usuario mientras se ejecuta.
Con la aparición y popularización de los PC, el software empezó a ser demandado para usos alejados de los clásicos académicos y empresariales para los cuales era necesitado hasta entonces, y quedó patente que el paradigma clásico de programación no podía responder a las nuevas necesidades de interacción con el usuario que surgieron a raíz de este hecho.

-Orientada a bloque-

El bloque de código es una sección de código con una o más declaraciones y sentencias. Un lenguaje de programación que permite bloques, incluyendo bloques anidados dentro de otros bloques es llamado un lenguaje de programación estructurado por bloques.
Ideas de la estructura del bloque se desarrollaron en la década de los años 1950, durante el desarrollo de los primeros autocodes y fueron formalizados en los informes de Algol 58 y Algol 60. Algol 58 introdujo la noción de la "sentencia compuesta", que estaba relacionada únicamente con control de flujo.​ El posterior informe revisado que describe la sintaxis y la semántica de Algol 60 introdujo la noción de un bloque, consistiendo en "una secuencia de sentencias encerrada entre begin y end..." en la que "cada declaración aparece en un bloque de esta manera y es válida solo para ese bloque".​
La función de los bloques de programación es permitir que grupos sentencias sean tratados como si fueran una sola sentencia, y restringir el ámbito léxico de las variables, los procedimientos y funciones declaradas en un bloque para que no entre en conflicto con variables con el mismo nombre utilizadas para diferentes propósitos en otras partes de un programa.
La noción de bloques es introducida por diferentes sintaxis en diferentes lenguajes, pero hay dos grandes familias: la familia del ALGOL en que los bloques están delimitados por las palabras clave begin y end, y la familia de C en la que los bloques están delimitados por llaves { y }. Algunas otras técnicas utilizadas son el uso de indentación, y s-expression con una palabra clave sintáctica como lambda o let (como en la familia del Lisp).
En un lenguaje de programación estructurado en bloque, los nombres de las variables y otros objetos, como los procedimientos que son declarados en bloques externos son visibles dentro de otros bloques internos, a menos que sean sombreado por un objeto del mismo nombre.
Algunos lenguajes que soportan bloques con declaraciones de variables no soportan completamente todas las declaraciones; por ejemplo muchos lenguajes derivados de C no permitan la definición de una función dentro de un bloque. Y a diferencia de su antecesor Algol, Pascal no soporta el uso de bloques con sus propias declaraciones dentro del begin y end de un bloque existente, sólo sentencias compuestas permitiendo una secuencia de declaraciones agrupadas en ifwhilerepeat y otras sentencias de control.

No hay comentarios.:

Publicar un comentario