PROGRAMACIÓN DE COMPUTADORES- CONCEPTOS PRELIMINARES


PROGRAMACIÓN DE COMPUTADORES- CONCEPTOS PRELIMINARES

Para comprender de mejor manera en que consiste la programación de computadores es necesario conocer en que consiste el computador, mas exactamente, los computadores digitales, podemos definir un computador digital, como una máquina o herramienta con la capacidad de obedecer o seguir instrucciones lógicas, imitando la manera en que lo hace el cerebro humano. Sus componentes son el Hardware (Parte física o máquina física) y el Software (Conjunto de Instrucciones o programas de computador), recomiendo ampliar en el concepto revisando este blog en el siguiente link

Se pudiese afirmar que a pesar que el Hardware es muy importante, sería muy limitada la utilidad de este componente sin el Software y que buena parte del poder de los computadores se encuentra en este último, mas sin embargo no tiene sentido alguno poseer Software sin que este pueda ser aplicado en un Hardware para hacerlo operativo.

La programación de computadores es una actividad cuyo objetivo es la de generar esa parte necesaria del computador para que este nos preste utilidad en la solución de los problemas o necesidades propias de cada quién.  Es el componente que flexibiliza el computador de tal manera que la misma máquina permita mejorar la forma como diversidad de seres humanos, es así como un equipo puede utilizarse para manejar la contabilidad y en otro momento puede usarse para generar una animación, basta que el mismo se cuente con el software adecuado para desarrollar cada tarea.

Muy a pesar que se requiere de un bagaje de conocimiento técnico y tecnológico para emprender la labor como programador, es necesario desarrollar ciertas habilidades como relaciones espaciales, pensamiento lógico, pensamiento numérico, muchos autores han comparado esta actividad como más cercana al arte que a las ciencias.

UNA MIRADA AL PASADO

OPERANDO ENIAC

imagen tomada de: http://cdn.dipity.com/uploads/events/46ac016990c4dd92b978447a99940264_1M.png

La evolución de las herramientas, técnicas y prácticas propias de la programación ha sido un proceso sincrónico con el avance en el desarrollo del hardware, por ser el computador un sistema integrado por esos dos componentes, esta se puede dividir en generaciones como explica a continuación:

El primer computador programable de fue el Z3 inventado en Alemania (1941), años después apareció en EE.UU. el ENIAC, los primeros programadores fueron personas muy dedicadas a comprender la arquitectura del hardware y la forma como la máquina podía recibir, procesar datos y entregar información. Debían dedicar mucho tiempo en este estudio, para poder indicar a la máquina las instrucciones a seguir para la solución de problemas, los cuales en realidad en su mayoría actualmente puede resolverse con una calculadora común y corriente. El trabajo de los programadores del ENIAC fue en esencia unir componentes mediante cables eléctricos para las operaciones y el uso de interruptores para alimentar los datos, mientras que el Z3 recibía datos mediante tarjetas perforadas.

Con el concepto de programas almacenados, los cuales se colocan en la memoria del computador para que este los tome de ese lugar, estas instrucciones normalmente tenían un patrón muy rígido y obedecían a acciones que la máquina (CPU) debía ejecutar (Lenguaje de máquina el cual consiste en una clase de código numérico o Firmware) a esto se le denominó LENGUAJE DE PRIMERA GENERACIÓN; después aparece el concepto de Ensamblador ( que es en esencia un programa que ya viene incluido por el fabricante con la máquina), el cual interpreta un código (programa) que se elabora usando el lenguaje de programación ASSEMBLER, este lenguaje es un poco más amable al incluir palabras como MOV para indicar asignación de valores a registros e instrucciones para las operaciones aritméticas básicas y se le DENOMINÓ LENGUAJE  DE SEGUNDA GENERACIÓN o lenguaje simbólico.
imagen tomada de:http://delphi7.ucoz.net/_nw/0/76333093.gif

Con el tiempo se avanzó en el uso de los computadores, mediante la aplicación de los Sistemas Operativos, los cuales son programas que actúan como una plataforma sobre la cual los seres humanos podemos utilizar los computadores de mejor manera, en la década de los 1960’s se generan una serie de herramientas que permiten el desarrollo de programas utilizando términos y estructuras sintácticas muy parecidas al lenguaje común o LENGUAJES DE TERCERA GENERACIÓN o lenguaje de alto nivel, inicialmente estas herramientas obedecen a léxicos, sintaxis y redacciones  diferentes, acorde a cierta agrupación correspondiente al tipo de problemas que se pretendía solucionar con el software, por ejemplo para solucionar problemas matemáticos se creó el lenguaje de programación FORTRAN, para problemas mas generales el lenguaje C y su hermano PASCAL,  para procesos comerciales con volúmenes de datos (bancarios, empresariales etc.) el lenguaje COBOL, la dinámica consistía en que las instrucciones se PERFORABAN en una serie de tarjetas, se entregaban a un operador y este las cargaba para su ejecución, estas instrucciones pasaban por un proceso de Interpretación o Compilación, generándose un código intermedio (assembler) que a su vez se transformaba en  instrucciones ejecutables (lenguaje de máquina) para ser ejecutadas y los resultados se recibían mediante otras tarjetas, años después adelante se recibían por medio impreso, para finalmente mediante de un programa para edición de texto se pasaban líneas de código en modo texto para su procesamiento. . Con el advenimiento de los Microcomputadores o PC, se hicieron populares una serie de lenguajes de programación como BASIC, Beginner’s All Purpose Symbolic Instruction Code  (1964) creado por Kemeny y Kurtz basado en los lenguajes Fortran II y Algol 60, cuya intención fue facilitar el aprendizaje de la programación por parte de personas de todo tipo que necesitaban programar, sin las complejidades de los demás lenguajes existentes. Esta herramienta se popularizó por la cantidad de compañías que la ofrecieron diversidad de versiones, además la alta cantidad de computadores en la cual se podía ejecutar el interprete Basic.


Aparece un tipo de programación que se denomina PROGRAMACIÓN ESTRUCTURADA, obedeciendo a una búsqueda de estándares y buenas prácticas en el diseño y desarrollo de software, las herramientas de programación se adaptan a la nueva realidad; el Basic evoluciona a Qbasic,  aparecen lenguajes basados en C, como C++, y una variante muy popular del Pascal para PC denominado TURBO PASCAL. Cuando aparece en el mercado en 1984 el primer computador con sistema operativo de interfaz gráfico (iconos, ventanas y ratón) llamado APPLE de Macquintosh, causa un boom mundial por el uso de este tipo de interfaz, aparece la Aplicación Windows, para PC IBM que mas tarde evolucionó a los sistemas operativos de la Familia WINDOWS, y se generan además versiones con interfaz gráfica para sistemas operativos de código abierto y libre(LINUX), aparecen versiones “visuales” de algunos lenguajes existentes, las cuales permitían explotar el uso de la interfaz visual de los Sistemas Operativos, entre las que tenemos VISUAL BASIC y VISUAL C++ (Microsoft), en los años 90, la empresa Sun Microsystems presentó un nuevo enfoque de programación basado en C++ denominado JAVA, obedeciendo a una nueva filosofía de programación denominada PROGRAMACION ORIENTADA A OBJETOS, la cual busca facilitar el diseño y desarrollo de software acercando los objetos y componentes dentro de la programación al mundo real y la aplicación de ese software en cualquier cantidad de dispositivos electrónicos que tuviesen procesador y sistema operativo, mediante un intermediario común denominado MAQUINA VIRTUAL. Las herramientas de programación de última generación (CUARTA GENERACIÓN) básicamente exigen del programador que especifique ciertos parámetros y de manera automática generan buena parte del código o instrucciones necesarias para elaborar el programa o porciones de programas pre-establecidos normalmente en lenguaje de alto nivel. Con el advenimiento de Internet aparecen versiones .NET, que facilitan la elaboración de software que soluciona problemas basado en la red internacional.

fuente: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivC6U5SsaeOj-1k5Un9-s2szobdkGzTMfpydZdRMjbkby5TA0NWAGzks3oYiV1ikPM67v6GhlZH27zwEg3eM8GWAo8q8CEVLXYxeJ6El9lyEtdieTETOTGmPuym3XcdZks_VDRJ-BVDUw/s640/java.png

Se alcanzó a hablar de herramientas de programación de QUINTA GENERACIÓN, referidas a la aplicación de inteligencia artificial en la programación, pero este concepto no ha madurado debido a diversidad de inconvenientes, fracasos y diferencias entre quienes lo han tratado de aplicar.

Comentarios

  1. Yo encontré muy buena información sobre computadores portatiles en este enlace. Lo dejo esperando que sea útil para todos como lo fue para mi.
    http://www.claro.com.co/wps/portal/co/pc/personas/internet/computadores

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Portafolio de evidencias digital

LENGUAJE DE PROGAMACIÓN JAVA- SUBPROGRAMAS Y PARÁMETROS.

ALGORITMOS – BLOQUES CONDICIONALES