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.
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.
ResponderEliminarhttp://www.claro.com.co/wps/portal/co/pc/personas/internet/computadores