jueves, 12 de mayo de 2016

Software de programación

Software de programación

Incluye todas las herramientas a partir de las cuales se pueden desarrollar programas

El software de programación comprende a los lenguajes de programación y una serie de elementos que son necesarios para programar. 

Lenguajes de programación 

Los lenguajes de programación han evolucionado de tal forma que en la actualidad se ha llegado a un grado de perfección que nunca se hubiera imaginado. Se los puede clasificar en dos grandes grupos: los lenguajes de bajo nivel que incluyen el lenguaje de máquina y el lenguaje assembler, y los lenguajes de alto nivel. 

Lenguaje de máquina: en los comienzos de la computación a fines de la década del 40 cada programa estaba escrito en el lenguaje de los circuitos internos del computador. Se lo llamó lenguaje de máquina, y las instrucciones estaban expresadas en el sistema de numeración binario. Programar escribiendo instrucciones en binario era una tarea muy complicada reservada solo a los expertos, por tal motivo se hicieron esfuerzos para desarrollar lenguajes más cercanos al modo humano. 




Lenguaje assembler: permite expresar de forma simbólica tanto el código de operación de cada. Instrucción, como las direcciones de memoria donde se encuentran los datos. Si bien facilitó la .tarea de los programadores, no resultó del agrado de los mismos. En la actualidad, personas inescrupulosas hacen uso de este lenguaje con el objetivo de desarrollar virus informáticos. Para programar en assembler es necesario conocer en detalle la arquitectura del computador. 





Lenguajes de alto nivel: para haceltarea de programación másencilly rápidacientíficos e ingenierohan dedicadlaúltimas cuatro décadaa desarrollar lenguajes de programación más fáciles de utilizarLos lenguajes de alto nivel se asemejan más al lenguaje humano surgen con la segunda generación de computadoresLa evolución de estos lenguajes ha distanciado a los programadoredel funcionamiento interno del computadorya que si bien resulta más sencilla la programaciónquienes programan muchas veceno saben que elo que está sucediendo dentro dla máquinaEstos lenguajese componen de palabras en inglésque hacen que en el computadose ejecuten las instrucciones




Algunos lenguajes de programación de alto nivel son:

FORTRAN (FORmula TRANslation Conversode rmulas): fue el primer lenguajde alto nivel aparece a mediados de la década del 50El desarrollo lo lleva a cabo un equipde lBM encabezado por John Backus, y este acontecimiento muy Importante en lhistoria de lprogramaciónhace que IBM se destaque frente a sucompetidores desde aquella épocaSe
aplica en p
rogramas que involucran cálculos numéricoen áreas científicas.

ALGOL (ALGOrithmic Language Lenguaje algotmico): aparece durante 1958 a raíz de un proyecto de Peter Naurcon la colaboración de John BackusA pesar de sus cualidades para el cálculo numéricono tuvo el éxito esperado.

LlSP (LlSt Processing - Procesado de listas): sdesarrolla en 1959 en el Massachusetts Institute of Technology, para la realización de programas de inteligencia artificial.

PROLOG (PROgramación LOGica): surge en la Universidad de Aix-Marseille en Franciapara solucionar problemas matemáticosLuego comienza usarse para resolver problemas de inteligencia artificial.

COBOL (COmmon Business Oriented LanguagLenguaje común orientado a negocios): creado durante 1960 por el Departamento de Defensa de los Estados Unidos para el procesamiento de datos de tipo comercial, no es apto para el cálculo de expresiones matemáticas complejasAún suele utilizarse en grandes equipos.

BASIC (Beginner's All purpose Symbolic Instruction Code Código dinstrucciones simbólicas de propósito general para principiantes): nace en el año 1964 y lo desarrollan John Kemeny y Tom Kurz, quienes piensan en facilitar el empleo de los computadores a estudiantes debido a la complejidad del FORTRAN, el COBOL y otrolenguajes. Su gran difusión se produce cuando es adoptado como lenguaje principal en la PCFue todo un éxito, pero su enorme proliferación dio como origen muchos dialectosEs de aplicación general fácil de aprender.

PASCAL: creado durante 1969 por el profesoNicklauWirth en el Instituto dTecnología dZurich en Suiza, llevel nombre del matemáticofilósofo e inventor francés del siglo XVIII Blaise Pascal. Es un lenguaje adecuado para generar programas entendibles para quieneprogramanya que al seestructurado define previamenttodos los parámetros en JuegoSutiliza en aplicaciones científicas.

PL/l (ProgramminLanguaje/I - Lenguaje dprogramacn/I): aparecen la década del 70 con la idea de resolver problemacientíficos y comerciales uniendo las característicadeFORTRAN y el COBOL, pero resultó un lenguaje mucomplicado.

LOGO: creado en 1976 por Seymour Papert, del Massachusetts Institute of Technology. Se aplica para enseñar a los niños los principios de programación, quienes mueven a una "tortuga" que aparece en la pantalla, a través de órdenes impartidas desde el teclado.

C: fue inventado a mediados de la década del 70 por Dennís Ritchie de los laboratorios Bell de AT&T. Este lenguaje es el resultado de un proceso de desarrollo comenzado con un lenguaje anterior llamado BCPL, creado por Martin Richards que influenció en otro lenguaje denominado B, inventado por Ken Thompson. Es un muy buen lenguaje de aplicación general.

Por otra parte, han surgido en los últimos años lenguajes orientados a objetos, que se basa en ciertas estructuras llamadas objetos, que se dedican a realizar actividades complejas y particulares. El objeto es una entidad con características, propiedades y con la habilidad de reaccionar ante ciertos eventos. Algunos lenguajes orientados a objetos son:

VISUAL BASIC: en 1993 Bill Gates mostró por primera vez un sistema desarrollado con este lenguaje. Permite programar con facilidad en BASIC, pero directamente sobre Windows, de manera que componentes tales como botones y cajas de textos utilizados en este entorno, pueden ubicarse en la pantalla y emplearse a la medida de las necesidades del programador.

C++: fue desarrollado en 1983 en New Jersey por Bjarne Stroustrup de los laboratorios Bell, e incorpora características para programación orientada a objetos. C++ intenta preservar la libertad y el espíritu de C, permitiendo la creación de unidades funcionales de "caja negra" denominadas objetos, que tienen un acceso estrictamente controlado.

JAVA: fue creado por Sun Microsystems a fines de 1995. Con este lenguaje de programación se generan aplicaciones llamadas Applets que tienen la característica de poder funcionar con total autonomía del sistema operativo, es decir que con JAVA se crean aplicaciones que se pueden ejecutar bajo Windows, Unix o Mac.


Programas de soporte


El programador, además de los lenguajes de programación, necesita del apoyo de otros programas que cumplen con funciones determinadas. Algunos de esos programas son:



Editor: para desarrollar algún programa primero hay que escribirlo. El editor de textos le permite al usuario escribir el programa como así también corregirlo. Es similar a un procesador de textos, pero con muchas menos funciones.


Editor del lenguaje de programación PHP.
Fuente: http://www.nusphere.com/graphics/phped_52/php-editor-file-current.png



Programas traductores: el computador sólo es capaz de entender el lenguaje de máquina, por lo tanto no podrá ejecutar directamente un programa escrito en un lenguaje de alto nivel. Es por ello que se requiere de programas traductores.


Al programa escrito en lenguaje de alto nivel se lo conoce con el nombre de programa fuente, mientras que el programa traducido al lenguaje de máquina, se lo denomina programa objeto.
Ejemplo de un programa en lenguaje Scratch y su traducción al lenguaje de máquina
Fuente: http://e-forma.kzgunea.eus/mod/book/view.php?id=3330&chapterid=5016



Ejemplo de un programa en lenguaje pascal y su traducción al lenguaje de máquina

Fuente: http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=895:ique-es-un-compilador-c-mejor-ide-o-entorno-de-desarrollo-codelite-codeblocks-geany-kdevelop-cu00506f&catid=82:curso-basico-programacion-lenguaje-c-desde-cero&Itemid=210



Algunos programas traductores son:


Intérprete: toma cada instrucción del programa escrito en un lenguaje de alto nivel, la analiza y si es correcta, la traduce al lenguaje de máquina y la ejecuta; si no es correcta, emite un aviso de error.



Compilador: traduce el programa fuente completo al lenguaje de la máquina. La compilación consta de tres etapas:



Análisis lexicográfico: reconoce las palabras que constituyen el programa.



Análisis sintáctico: reconoce la estructura de las instrucciones y el programa.



Generación del módulo objeto: traduce el módulo fuente a lenguaje de máquina.



Linker, link editor o editor de enlace: en ciertas ocasiones se necesita relacionar el programa desarrollado, con otro u otros programas o funciones de biblioteca. Es decir, puede darse el caso de tener un programa para realizar un determinado tipo de cálculo y necesitarlo dentro de otro programa, o bien, querer utilizar alguna función de biblioteca del lenguaje, para un determinado fin. Para lograr tal cometido será necesario hacer uso del linker, que es precisamente el que tendrá la función de relacionar o enlazar-los programas citados.



Esquemáticamente el proceso de obtener un programa ejecutable se podría representar como se observa en la figura de la derecha.


Ejemplo de la obtención de un programa ejecutable en PHP que se ejecuta en un navegador


Fuente: FUNDAMENTOS DE COMPUTACION Y COMUNICACIONES - 
GABRIEL DUPERUT 

No hay comentarios:

Publicar un comentario