TAREAS SOCIEDAD Y TECNOLOGIA
martes, 14 de octubre de 2014
SOFTWARE
SOFTWARE, PROGRAMAS,
ARCHIVOS Y MÓDULOS
Llamamos software a las aplicaciones que determinan
las tareas que vamos a efectuar en la computadora. Unas aplicaciones, como
Microsoft Word, nos a^Tjdan a crear documentos, otras a elaborar presentaciones
o a preparar la contabilidad de un negocio En genera], llamamos software al
conjunto de instrucciones C|ue dirige a! hardware. E! software consiste en
programas, módulos de soporte
y archivos de datos, los cuales en conjunto
proporcionan a la computadora las instrucciones y datos necesarios para
desempeñar una determinada tarea, como la producción de documentos, edición de
videos, navegación por Internet, etcétera.
El software incluye distintos tipos de archivos, de
los cuales algunos son programas. Un programa es un conjunto de instrucciones
que le indica a la computadora la forma en que debe llevar a cabo una tarea. Dentro
del conjunto de archivos contenidos en una aplicación existe un archivo p r i n
c i p a l ejecutable; se trata del programa que debemos ejecutar si deseamos
iniciar la aplicación de software. También podemos encontrar otro archivo
ejecutable que contiene el programa para instalar inicialmente la aplicación,
así como el programa ejecutable
pata desinstalar la aplicación de nuestra
computadora. Los archivos ejecutables se identifican por la extensión .exe.
El módulo de
soporte proporciona u n conjunto de instrucciones auxiliares que se utilizan
junto con el programa principal del software (la aplicación). Este módulo .se
encuentra almacenado dentro de su propio archivo y, a diferencia de u n archivo
de programa, no está diseñado para que lo ejecute el usuario del sistema, sino
que lo utiliza el programa principal cuando así lo requiere.
El módulo de datos contiene cualquier conjunto de
datos necesarios para desempeñar alguna tarea que no proporciona el usuario.
For ejemplo, Word re\nsa que las palabras estén deletreadas correctamente al
comparar las palabras del documento con las de u n diccionario almacenado en el
archivo de dalos. Éste es el módulo de datos que se incluye en el software de
la aplicación.
Casi todas las aplicaciones de software incluyen una
gran cantidad de archivos de los tres tipos. Dichas aplicaciones deben incluir
por lo mcTios un archivo de programa ejecutable (exe), varios módulos de
soporte y uno o más módulos de datos.
La palabra software puede parecer engañosa, ya que
se considera a éste como los componentes
de ia computadora que no son hardware. En este
contexto, el software también debe incluir datos
utilizados por el usuario como serian sus documentos
o fotografías. Actualmente la tendencia es
llamar a los datos del usuario "datos", y
"software" al conjunto de archivos contenidos eir una aplicación
o paquete.
LENGUAJES DE PROGRAMACIÓN
Programadores
Los programadores de computadoras son las personas
que escriben las instrucciones de los programas o módulos de soporte que se
convierten en los componentes de una aplicación de software o paquete de
software, que es el producto terminado que distribuyen los programadores mismos
o las empresas productoras. Estas compañías se especializan en empacar,
comercializar
y vender el software.
Antes las
empresas, las organizaciones y los individuos tenían que escribir el software
que deseaban utilizar; hoy día la mayor parte de los negocios adquieren
software comercial para ahorrarse tiempo y gasto que suponen escribir su propio
software.
Casi todo el
software está diseñado para crear un ambiente basado en tareas, el cual incluye
el diseño de la pantalla, los medios para captar las órdenes y los datos del
usuario, las especificaciones para el proceso de datos y u n método para
mostrar los resultados en pantalla.
Un lenguaje computacional proporciona las
herramientas que el programa utiliza para producir el software. El lenguaje
ayuda al programador a generar una enorme lista de instrucciones llamada código fuente, que es el conjunto de
instrucciones escritas en algún lenguaje computacional que define con todo
detalle e! ambiente del software, es decir, la presentación visual, la forma en
que el usuario introducirá las órdenes o
comandos v la modalidad en que se manejarán los datos.
Lenguaje
maquínai, de bajo nivel y de alto nivel
Los programas que el procesador puede ejecutar deben
estar en el lenguaje nativo del procesador, llamado lenguaje maquinal, es
decir, cada instrucción debe estar en código binario y directamente relacionada
con los circuitos del procesador. A este tipo de lenguajes se les clasifica
como lenguajes de bajo nivel, los cuales son muy difíciles de
entender y exigen que ios programadores codifiquen detalladamente las
instrucciones en el lenguaje nativo de la máquina. En la actualidad, la mayoría
de los programadores prefieren utilizar lenguajes de alto nivel, como C + + ,
java, COBOL y Visual Basic, a los que clasifican en función de su legibilidad; esto
quiere decir que en la medida que el lenguaje se parezca más al lenguaje
maquina! se le considera de bajo nivel. Por el contrario, los lenguajes de
alto nivel utilizan enunciados parecidos al inglés que hasta los
programadores novatos pueden dominar sin necesidad de contar con grandes
conocimientos de ese idioma.
Compiladores y
código objeto
Expresar insinicciones conrpletamente en código
binario es un proceso demasiado lento, dificil y que está suieto a errores, aun
para los más hábiles y experimentados programadores. Los lenguajes de
programación se han diseñado para escribir instnicciones parecidas a las
de un lenguaje humano, generalmente el inglés, que las computadoras pueden
convertir en código binario mediante programas denominados compiladores. .A las instrucciones
resultantes en código binario se les denomina código objeto o maquinal, y después del proceso de compilación se
genera un nuevo archivo con estas instrucciones Cuando adquirimos un paquete de
aplicaciones de software, la mayor parte de
los archivos contenidos en el CD se encuentran
compilados, de manera que contienen instrucciones en código maquinal para que
el procesador las ejecute; luego, la diferencia entre código fuente y código objeto
es que en el primero las instrucciones están escritas en un lenguaje de
programación, y en el segundo en lenguaje binario o maquinal.
Intérprete y
guiones {scrípts)
Hay una opción diferente al proceso de compilar,
consistente en que un intérprete convierte una instrucción tras otra del
código fuente al código objeto. Este método es más comían en los programas basados
en la Web (páginas de Internet) llamados guiones o scripts, que
se escriben en lenguajes como JavaSciipt y VBScript. Los guiones o scripts
son instrucciones de alto nivel que llegan a nuestra computadora
como parte de la página Web. El intérprete lee la primera instrucción del
guion, la convierte en lenguaje maquinal y después la envía al
procesador para su ejecución; después, el intérprete convierte la
siguiente instrucción, etc. Para ejecutar un guion, la computadora debe contar con
el programa intérprete correspondiente. Es común que estos programas se
incluyan con el navegador de software o puedan descargarse de la Web. '
Para resumir, consideremos el siguiente ejemplo:
supongamos que deseamos ejecutar el programa para elaboración de presentaciones
PowerPoint en nuestra computadora, la cual cuenta con el sistema operativo
Windows; así, cuando le damos la orden a Windows de que abra el programa, nuestra
selección activa el archivo principal ejecutable llamado Powerpnt.exe, el cual
se encuentra almacenado en nuestro disco duro en formato compilado. Una copia
de las instrucciones de este programa se carga en la memoria RAM para que el procesador
las ejecute. Al iniciar el proceso, se abre la ventana del programa PowerPoint,
muestra en pantalla el menú y los controles gráficos para
la edición de la presentación; el programa espera a
que seleccionemos una opción del menú o control haciendo clic con el ratón en
una de estas opciones. Con base en nuestra selección, el programa sigue sus
instrucciones y ejecuta la acción especificada en el programa. Muchas de las
instrucciones para estas acciones se incluyen en el archivo principal ejecutable,
pero tal vez sea necesario llamar a
EVOLUCIÓN DEL SOFTWARE
En los inicios de la era de la computación,
programar una computadora significaba alimentar la máquina con 1 y O para
obtener los resultados deseados. Con el tiempo los lenguajes han ido
evolucionando y se parecen cada vez más al lenguaje humano, pues el objetivo
siempre será controlar la máquina a partir de un código (programa) cada vez más
sencillo para el hombre. Lo ideal sería programar
las computadoras en e1 mismo lenguaje en que se
comunica el programador; por desgracia, las computadoras attn no son tan
sofisticadas como para entender el lenguaje natural de las personas.
Categorías de lenguajes de
programación
Los lenguajes
de programación se clasifican en dos categorías principales: lenguajes de bajo
nivel v lenguajes de alto nivel: asimismo, se clasifican por generación y para
dirigirla.
Lenguajes de bajo nivel
un lenguaje de bajo nivel normalmente incluye comandos
específicos para una familia de CPLJ o para un determinado procesador. Estos
lenguajes exigen que el programador escriba las instrucciones para el nivel más
bajo del hardware, es decir, para los elementos específicos del hardware como
el procesador, los registros y las ubicaciones de la memoria RAM. Los lenguajes
de bai nivel
incluyen los lenguajes maquinales y los lenguajes
ensambladores.
Lenguajes
de alto nivel
Un lenguaje de alto nivel utiliza palabras gramática basadas en lenguajes humanos para
proporcionar lo que los científicos de la computación llaman "nivel de
abstracción", lo que oculta la capa del lenguaje ensamblador o maquinal de
bajo nivel, haciendo más fácil y entendible la programación.
Estos lenguajes de alto nivel como COBOL., BASIC,
java y C, hacen que el proceso de programar sea más fácil, pues reemplazan
cadenas ilegibles de 1 y O o comandos elípticos en lenguaje ensamblador por
comandos entendibles como PRINT o WRÍTE. Los lenguajes de alto nivel
eliminan muchas líneas de código al sustituir una sola instrucción de alto
nivel por múltiples instrucciones de bajo nivel; por ejemplo, instrucción de
alto nivel suma 7 + 3 y coloca el resultado en la variable Total
Evolución De Los
Lenguajes De Bajo A Alto Nivel
Las primeras computadoras se programaban sin
lenguajes de programación; los técnicos alambraban los circuitos de la
computadora a fin de prepararla para cada tarea de procesamiento. Después
surgió la idea de almacenar los programas en la memoria de la computadora, y
esto abrió camino para que se escriba a una serie de comandos y los cargaran en
la computadora para ejecutarlos. Los lenguajes de programación inicialmente
eran muy primitivos, pero evolucionaron luego de varias generaciones hasta
convertirse en los lenguajes actuales.
Lenguajes de segunda generación
Un lenguaje ensamblador permite que los
programadores utilicen palabras de comando abreviadas, llamadas mnemónicos,
como LDA para load, en lugar de los 1 y O que se utilizan en los
lenguajes maquinales. Cuando se introdujeron los lenguajes ensambladores, éstos
mejoraron en forma significativa los lenguajes maquinales, por lo que llegó a
conocérseles como lenguajes de segunda generación. Como sucede con el lenguaje
maquinal, el lenguaje ensamblador se clasifica de bajo nivel porque es
específico de la máquina para la que se creó, y cada comando en lenguaje
ensamblador corresponde a una instrucción en lenguaje maquinal. El
lenguaje ensamblador es útil cuando un programador desea manejar directamente
lo que sucede en el nivel del hardware. En la actualidad
los programadores utilizan lenguajes ensambladores
para escribir software de sistema como compiladores, sistetr.as operativos y
controladores de dispositivos
Lenguajes de tercera generación
Cuando se originaron los lenguajes de alto nivel en
los años 50, se les denominó lenguajes de tercera veneración, porque traían una
importante mejora en relación con los lenguajes maquinales y ensamblador. Estos
lenguajes utilizaban palabras de comando fáciles de recordar, como Í'RIN 1 e INPUI,
y ocupan el lugar de \'arias líneas de mnemónicos en lenguaje ensamblador o
de interminables cadenas
de 1 )' O en lenguaje maquinal. Los lenguajes de
tercera generación, como COBCL y FORTRAN, se utilizaron
principalmente en los negocios y para aplicaciones científicas. Pascal y BASIC
fueron lenguajes muy populares en la enseñanza. El lenguaje C continúa siendo
popular actualmente para
el desarrollo de aplicaciones de software y de
sistema (por ejemplo, Microsoft Windows y Linux se crearon en este lenguaje).
Muchos científicos de la computación consideraban
que los lenguajes de tercera generación eliminaban los errores de programación.
Sin duda, los errores fueron menos Recuentes y el tiempo para desarrollar
programas disminuyó en forma significativa; sin embargo, los programadores que utilizan
lenguajes de tercera generación aún cometen muchos errores. Pese a esto, el desarrollo de
Lenguajes computacionales siguió progresando.
Lenguajes de cuarta generación
En 1969 los científicos de la computación empezaron
a desarrollar lenguajes de alto nivel a los que se llamó lenguajes de cuarta
generación; los cuales se parecen más a los lenguajes humanos o
'naturales" que a los de tercera generación. Los lenguajes de cuarta
generación, como SQL o RPG-I, eliminan muchas de las estrictas reglas de
pronunciación y gramática que complican a los lenguajes de
tercera generación, por lo que se utilizan para
aplicaciones de bases de datos; un comando sencillo en SQL puede reemplazar
muchas líneas de código de tercera generación.
Lenguajes de quinta generación
En 1982 un grupo de investigadores japoneses empezó
a trabajar en un proyecto en el que se utilizaba Prolog (un lenguaje de
programación basado en un modelo de programación declarativa que describiremos
más adelante). Algunos expertos clasificaron al Prolog y otros lenguajes
declarativos como lenguajes de quinta generación; otros no están de acuerdo con
esta clasificación, pues para ellos los lenguajes de quinta generación son los
que permiten que los programadores utilicen herramientas gráficas o visuales para
construir programas, en lugar de escribir líneas de código.
Unos lenguajes de programación soportan un solo
paradigma mientras que otros (llamados lenguajes multiparadigma) soportan más
de un paradigma; etr el siguiente cuadro se aprecia una breve descripción de los paradigmas de-
programación más populares en la actualidad
Lenguajes De
Programación Populares
Cuando se trata de escribir un programa para
resolver una determinada tarea, es necesario que seleccionemos el lenguaje de
programación apropiado para la aplicación que vayamos a desarrollar y
considerar que el lenguaje elegido cuente con las características necesarias
para programar la tarea propuesta y además de que podamos recurrir a alguna
persona con experiencia en dicho lenguaje. No podemos decir que exista un
lenguaje mejor que otro, ya que cada uno cuenta con características propias que
le dan ventajas sobre los demás para determinado tipo de aplicación. A
continuación presentamos una lista de los lenguajes más populares en la actualidad
BASIC y Visual Basic
BASIC y Visual Basic son actualmente los lenguajes
de programación más populares, pues son fáciles de utilizar y hay versiones
disponibles para distintos tipos de computadoras. Beginner's all-pinpose
symíwíic insínictioii code (BASIC por sus siglas en inglés) se creó como un
lenguaje de alto nivel basado en procedimientos. Las primeras versiones eran
demasiado limitadas como
para producir software comercial sofisticado; en
cambio. Visual Basic surgió como un lenguaje completo y poderoso que puede
utilizarse para proyectos de programación profesionales, y es muy útil para
crear programas guiados por eventos con interfaz gráfica para el usuario. La
versión más reciente, llamada Visual Basic.NET, incorpora la capacidad
orientada a objetos y soporte para
datos XML; además, Visual Basic para Aplicaciones
(VBA por sus siglas en inglés) es una parle de Visual Basic que puede
utilizarse para automatizar tareas de algunas aplicaciones como Microsoft Word,
Excel, Access y Power point
Es un lenguaje basado en procedimientos en y en
compilador que proporciona comandos de alto nivel y también de bajo nivel para
accesar al hardware. Esta dualidad ofrece bastante flexibilidad a los
programadores para escribir sus programas.
Como resultado, programadores experimentados de C pueden hacer sus
programas rápida y eficazmente; sin embargo, esta flexibilidad puede hacer que los
programas en C resulten difíciles de entender, rastrear y mantener.
C+ +
C + + es una versión orientada a objetos del lenguaje C.
Muchos expertos opinan que la naturaleza de la orientación a objetos del C +
+ hace que los programadores sean más productivos. Definitivamente, para
programar en un lenguaje orientado a objetos se necesita una perspectiva
totalmente diferente a la de la programación basada en procedimientos, por lo
que a los programadores
de C se les dificulta incorporar a sus programas la
orientación a objetos que incluye el C++.
C#{C Sharp)
C# (C Sharp) es un lenguaje desarrollado por Microsoft
y que se deriva del C+ +. Incluye las características de orientación a objetos
de C+ + y pemite desarrollar programas confiables para Internet, Los programas
escritos en este lenguaje se compilan dejando instrucciones intermedias (no son
maquinales atan) que se graban en un archivo, después otro módulo llamado common
¡anguage mntime
(CLR por sus siglas en inglés) compila rápidamente
estas instrucciones, lo que da por resultado instrucciones maquinales para la
ejecución del programa. Los compiladores de los lenguajes Visual Basic.NET,
Microsoft C + + y C# producen el mismo código intermedio y utilizan el mismo
CLR para que los programadores puedan escribir a Sí en cualquier lenguaje y
producir el mismo resultado.
Además, estos tres lenguajes se encuentran
integrados en Microsoft Visual Studio, el cual es un ambiente de programación
que permite a los programadores efectuar sus programas en forma visual, lo que
facilita la programación con una interfaz gráfica.
COBOL
COBOL es una abreviatura de common business oriented
language. Este lenguaje de alto nivel basado en procedimientos se
desarrolló en 1958 para resolver problemas en los negocios, pues los
lenguajes que existían (maquinal, ensamblador y FORTRAN) no eran los adecuados
para las aplicaciones de
Negocios . Un esfuerzo conjunto de profesionales de
la computación, fabricantes de hardware y el gobierno estadounidense
permitieron la introducción de este lenguaje, el cual utilizaron como su
lenguaje principal más de dos tercios de los usuarios de mainframes en
el mundo. Hoy día, COBOL pocas veces se utiliza para desarrollar nuevos
programas; los programadores se enfocan más bien en el mantenimiento de los
programas antiguos.
FORTRAN
FORTRAN es una abreviatura de formula translator.
Este lenguaje es el superviviente más antiguo de los lenguajes de alto
nivel; se diseñó originalmente en 1954 para resolver problemas
científicos, matemáticos y de ingeniería que exigían cálculos numéricos
repetitivos y fórmulas complejas, y pronto se popularizó por su eficiencia,
rapidez y utilización de memoria. También ofrecía una librería de subrutinas
reprogramadas que los usuarios podían incorporar en sus propios programas; por
estas razones hay un amplio grupo de científicos, matemáticos e ingenieros que
aún lo utilizan para el manejo de números.
JAVAyJ+ +
JAVA y 1 + + s(5n lenguajes de alto nivel,
orientados a objetos y basados en C + + , pero optimizados para el desarrollo
de aplicaciones de Internet. Los programadores utilizan estos lenguajes para
crear aplicaciones complejas y también pequeños programas llamados applets. Java
es un lenguaje muy
popular entre estudiantes de ciencias
computacionales. la diferencia entre Java y j + + es que Java no depende de la
plataforma, lo que significa que los programas en Java pueden ejecutarse en
diíe-
JavaScript
JavaSaipt no debe confundirse con Java, aunque
ofrece un subconjunto de características de Java. Este código se encuentra
dentro de un documento HTML que el navegador interpreta al recibir la página Web,
Este lenguaje se utiliza principalmente para crear páginas Web de naturaleza
interactiva.
LISP
LISP (abreviatura de List processor) es un
lenguaje que se desarrolló en 1958 en el MIT; de ser un lenguaje para
científicos teóricos, ha llegado a convertirse en una herramienta importante
que se utiliza para construir programas de inteligencia artificial. Se basa en
la premisa de que las deducciones lógicas pueden presentarse y manejarse por
medio de listas. LISP se emplea actualmente en sistemas expertos y programas de
lenguaje natural.
Prolog
Prolog es un lenguaje de programación declarativo
que se utiliza para propósitos de inteligencia artificial. Como sucede con los
lenguajes de cuarta generación, este lenguaje no se basa en procedimientos.
Pasca!
pascal se diseñó en 1971 para ayudar a los estudiantes a aprender
a programar computadoras. Se trata de un lenguaje de alto nivel, basado en
procedimientos y compilado; aunque se enfoca en la programación estructurada,
no se ha adoptado para aplicaciones profesionales y comerciales.
SQL
Slructiaed quay ¡ang}iage (SQL por sus siglas en inglés) se desarrolló con la
finalidad de proporcionar un lenguaje estándar para la definición y el manejo
de bases de datos. Es de alto nivel, declarativo, el cual permite que
programadores y usuarios describan el tipo de información que desean obtener de
la base de datos. Aunque la base de datos también puede manejarse por medio de
algún lenguaje basado en procedimientos como
COBOL, se considera que SQL es más efectivo, ya que sus comandos se
basan en actividades de bases de datos.
CARACTERÍSTICAS DE LOS LENGUAJES DE PROGRAMACIÓN
De 1950 a la fecha se han creado cientos de
lenguajes para programar computadoras; algunos se han ideado con el propósito
de facilitar el proceso de programación, otros con la finalidad de proporcionar
un conjunto de comandos (órdenes para la computadora) efectivos para cierto
tipo de aplicación
(de negocios o científica), y otros más se
desarrollaron como herramientas para la enseñanza de la programación. A
continuación se mencionan las características que describen el funcionamiento de
los lenguajes y las tareas para las cuales es apropiado utilizar determinado
lenguaje.
Lenguajes basados
en procedimientos
En estos lenguajes las instrucciones le indican a la computadora exactamente qué
debe hacer; por ejemplo, si deseamos calcular el sueldo de u n empleado,
tenemos que indicarle a la computadora que presente un mensaje en pantalla
pidiendo al usuario que introduzca las horas que trabajó el empleado;
que otro mensaje en pantalla pida al usuario que
introduzca el sueldo que percibe el empleado por hora y si el empleado trabajó
menos de 48 horas, que multiplique el sueldo por las horas trabajadas para
obtener el ingreso del empleado, pero si trabajó más de 48 horas, que calcule
las horas extra y las multiplique por 2 (para pagar el doble); después que
muestre otro mensaje pidiendo al usuario la que reste las deducciones del
sueldo bruto, y por último que muestre el sueldo neto asi empleado en pantalla
Como se aprecia, estos lenguajes son útiles para programas que siguen un algo ritmo de
estructura lineal gradual, es decir, tienen un punto inicial y un punto de
terminación. El flujo de la ejecución del principio al final del programa es
esencialmente lineal; esto quiere decir que la computadora inicia con la
primera instrucción y continúa la ejecución de las instrucciones una tras otra
hasta llegar al final del programa.
Lenguajes orientados a objetos
Los lenguajes orientados a objetos se basan en u n
modelo de la programación que u t i l i z a objetos. Un objeto es una entidad o
elemento que un programa manipula. Por ejemplo, un botón en la pantalla es un
objeto; no todos los objetos se representan como botones o gráficos en
pantalla. Es decir, u n programa orientado a objetos útil para el registro de
estudiantes en un curso puede incluir
Cursos, alumnos y maestros a manera de objetos. Los
objetos se agrupan por clase. Una clase es la definición de sus objetos, así,
la clase estudiante puede contener objetos denominados Juan Pérez, Julia Reyes,
etc. El programador define una clase como una lista de atributos y métodos. U n
atributo es una simple característica de la clase; por ejemplo, la clase
estudiante tiene atributos como número de estudiante, nombre, carrera,
dirección, saldo, etc. El método es cualquier comportamiento que un objeto
desempeña. El método Registrar Alumno se ocupa de relacionar al alumno con el
curso y el maestro del curso registrado, y el método PagarCurso se ocupa
de modificar el saldo del estudiante para restar el pago efectuado.
Lenguajes declarativos ^
Un lenguaje declarativo permite que el programador
escriba un programa mediante la especificación de un conjunto de estatutos y
reglas que definen las condiciones para resolver el problema. Estos lenguajes
incluyen un mecanismo que trabaja con las reglas para determinar una solución.
El hecho de describir un problema y las reglas que conllevan a una solución
hace hincapié en palabras
y no en fórmulas matemáticas; por esta razón, los
lenguajes declarativos son útiles para programas que manejan ideas y conceptos
en lugar de números. A diferencia de u n programa elaborado con un lenguaje
basado en procedimientos, un programa elaborado con un lenguaje declarativo no
le indica a la computadora cómo resolver el problema, sino que describe el
problema.
Lenguajes HTML
Normalmente HTML se clasifica como un lenguaje de
marcas (markup languagé). Éste se compone de "etiquetas"
especiales que se insertan entre el texto; por ejemplo, insertamos etiquetas
HTML como <C> y <\C> en u n documento para especificar que el
bloque de texto que se encuentra entre dichas etiquetas deberá centrarse en el
momento en que se muestre la página en el navegador.
Lenguaje de guiones
El lenguaje de guiones (o scñpts) define una
tarea en forma de guión. Los guiones exigen que se ejecute una aplicación
huésped, pues éstos no pueden ejecutarse como una aplicación independiente Los
lenguajes de guiones como Visual Basic Applications (VBA) y JavaScript se encuentran
disponibles para muchas aplicaciones de software entre las que se hallan
procesadores de texto, hojas de
cálculo y bases de datos; también se pueden utilizar
para automatizar tareas y crear macros dentro de las aplicaciones. Estos
lenguajes son más fáciles de utilizar que otros lenguajes de programación, pero
tienen menores capacidades y opciones de control. Son una buena opción para
quienes no son programadores, o para programadores novatos que desean
automatizar algunas tareas que desempeña
su aplicación de software.
Lenguajes de bajo nivel
Estos lenguajes exigen que el programador escriba
las instrucciones para el nivel más bajo del hardware de la computadora, es
decir, para los elementos específicos del hardware como el procesador, Necesita
manejar directamente lo que suceda en nivel de hardware utilizan estos
lenguajes para escribir software de sistemas como compiladores sistemas
operativos y controladores de dispositivos. El lenguaje maquinal es un lenguaje
de bajo nivel que el procesador ejecuta directamente, ya que sus instrucciones
se representan por medio de combinaciones de los dígitos 1 y 0. Los lenguajes
maquinales son muy difíciles de entender y manejar, y varían mucho de un
procesador a otro. Los programadores los utilizaban en las primeras
computadoras cuando todavía no se ha desarrollado otros lenguajes.
Un lenguaje ensamblador es otro tipo de lenguaje de
bajo nivel que utiliza comandos simples como LDA y S7A en lugar de I. y 0. Cada
instrucción de un lenguaje de bajo nivel corresponde a una sola instrucción
para el procesador, por ejemplo, una instrucción en un lenguaje ensamblador de
bajo nivel como MMR MJ REGI le indica a la computadora que mueva un numero
desde una localidad de la memoria RAM hacia un registro. Al codificar un
lenguaje de bajo nivel es necesario proporciona varias instrucciones para indicarle
a la computadora la forma en que debe desempeñar una simple operación como la
suma de 2 números. La siguiente sección de programa, está escrita en lenguaje
ensamblador y le indica a la computadora que sume 2 números:
Lenguajes de alto nivel
Un lenguaje de alto nivel permite que el programador
utilice instrucciones más parecidas al lenguaje humano. Por ejemplo, para sumar
dos números y dejar el resultado en la variable Total, en el lenguaje COBOL se
utiliza la instrucción "ADD 2 TO 3 GIVING Total" en lugar de las seis
instrucciones del lenguaje ensamblador que
se aprecian en la tabla anterior Cuando se crearon los lenguajes de alto
nivel en los ai"!0s cincuenta, los científicos pensaban que se eliminarían
los errores de programación, pero esto no sucedió, pues también ocurren errores
de lógica y durante la ejecución; sin embargo, los lenguajes de alto nivel
reducen significativamente los errores de programación, lo que permite escribir
programas en un tiempo menor que con los lenguajes de bajo nivel. Los programas
escritos
en lenguajes de alto nivel deben traducirse a
instrucciones que la computadora pueda ejecutar; en consecuencia, la computadora
debe "compilarlos" o "interpretarlos".
Lenguajes
compilados
Un compilador traduce u n programa escrito en un
lenguaje de alto nivel en instrucciones de bajo nivel para que el programa
pueda ejecutarse. Los comandos que escribimos en un lenguaje de alto nivel se
denominan código fuente; las instrucciones de bajo nivel que resultan de la compilación
del código fuente se conocen como código objeto. Algunos compiladores producen archivos
ejecutables que contienen instrucciones de código maquinal; otros producen
archivos que contienen instrucciones de código intermedio
Lenguajes
intermedios
Un lenguaje intermedio es un conjunto de
instrucciones de bajo nivel que pueden recompilarse fácil y rápidamente en
lenguaje maquinal; por ejemplo, cuando se compila el código fuente.
Byte code. Es le código se distribuye después a los
propietarios de computadoras compatibles con PC o con Macintosh; luego el
código (byte code) se compila en lenguaje maquinal por m e d i o de un software
llamado máquina virtual de Java (IVM por sus siglas en inglés) cuando el
programa se vaya a ejecutar La máquina virtual JVM de una PC compila el código
bytecode en instrucciones de lenguaje
maquinal que puedan funcionar en un procesador
Pentium. La máquina virtual J V M de una Macintosh contiene el código bytecode
en lenguaje maquinal para procesadores Power PC.
Los programadores normalmente utilizan lenguajes compilados para escribir programas
que necesiten una buena velocidad de ejecución, entre los que se hallan
aplicaciones, sistemas operativos y utilerías. La mayor parte de los lenguajes
basados en procedimientos y orientados a objetos se compilan.
Lenguajes interpretados
Un lenguaje interpretado utiliza un interpretador en
lugar de un compilador para crear el código que la computadora ejecutará.
Cuando corremos un programa que se encuentra escrito en un lenguaje de este
tipo, el interpretador del lenguaje lee una tras otra las instrucciones, las
convierte en lenguaje maquinal y las ejecuta. Casi todos los lenguajes
declarativos y de guiones utilizan un
interpretador en lugar de compilador Con el lenguaje
interpretado no es necesario esperar a que se compile el programa, por lo que
el proceso de pruebas exige menos tiempo, pero la ejecución de los programas
escritos en estos lenguajes
se lleva más tiempo que en los programas compilados,
porque la computadora debe traducir cada
instrucción conforme va ejecutando un
programa con muchos ciclos es particularmente ineficaz en un lenguaje interpretado
porque las instrucciones que se encuentran en el ciclo tienen que traducirse
cada vez que se ejecuta el ciclo.
Lenguajes dirigidos por eventos
un evento de un programa es una acción a la que el
programa debe responder (por ejemplo, un clic del ratón o la presión de alguna
tecla). Un lenguaje dirigido por eventos les facilita a los programadores la
creación de programas que verifican y responden constantemente a u n conjunto
de eventos. La mayor parte de los programas que utilizan interfaz gráfica son
dirigidos por eventos, ya
que muestran controles en pantalla como los menúes y
realizan una acción determinada cuando el usuario activa alguno de los
controles.
Para crear u
n programa dirigido por eventos las líneas del código del programa se agregan a
objetos gráficos como botones o iconos. Los usuarios manipulan el objeto para
generar u n evento, como por ejemplo hacer clic en el botón
"Aceptar"; el evento de clic hace c[ue se ejecuten las
instrucciones que se agregaron a ese
objeto (botón "Aceptar").
Componentes
En la
práctica, los programas orientados a objetos y dirigidos por eventos contienen
muchos objetos que creó el diseñador del programa, pero también otros que se
adquirieron posteriormente. Un componente es un objeto o módulo previamente
escrito que los programadores pueden adaptar y agregar a
sus propios programas. Existen componentes para casi
todos los lenguajes populares en la actualidad; por lo general, se denomina
programación por componentes a aquella que utiliza componentes.
Muchos
componentes actúan como una "caja negra" porque el código del
programa se encuentra compilado y por lo tanto, "oculto" a los
programadores y también a los usuarios. A los programadores se les permite
manipular las propiedades de un componente Una propiedad es cualquier
característica de un componente que describe la forma en que éste aparecerá en
pantalla, la forma
en que responderá a la actividad del ratón y lo que
puede hacer con la salida. Como sucede con un
programa orientado a objetos, un componente acepta la entrada a manera
de "mensajes" y utiliza estos mensajes para "efectuar esta
actividad" mediante la elaboración de una tarea, como sería efectuar
un cálculo o desplegar un menú en pantalla.
Como ejemplo, supongamos que deseamos escribir u n
software que dé seguimiento a la proporción de alumnos de primaria, secundaria
y preparatoria de una escuela, ya que el director desea generar gráficos que
comparen periódicamente la población de alumnos de cada nivel.
CATEGORÍAS DE
SOFTWARE
Los programas que se han rechazado pata distintos
propósitos pueden clasificarse en dos categorías; software de sistema y
software de aplicación.
Software de sistema
Este software controla y coordina la operación del
equipo que existe en un sistema computacional, lo que quiere decir que su
principal propósito es ayudar al sistema de cómputo a monitorearse para
funcionar eficazmente. El tipo de software de sistema más importante es un
conjunto de programas llamado sistema operativo; se trata del nucleo de
cualquier sistema de computación El .sistema operativo supervisa y controla
todas las actividades de entrada, salida y procesamiento de un sistema de
cómputo; además, e! hardware )• el software del sistema se controlan por medio
del sistema operativo.
Software de aplicación
una vez que a un sistema computacional se le ha
instalado el software de sistema, se le puede agregar el software de
aplicación, mismo que nos permite utilizar la computadora para resolver un
determinado problema o desempeñar una tarea específica. En la actualidad,
además de las herramientas de productividad como los procesadores de palabras,
las hojas de cálculo y los programas
de bases de dalos, se dispone de miles de
aplicaciones de distintos tipos para resolver diversos problemas y tareas
rutinarias en ámbitos como negocios,
gobierno, ciencia, medicina, ingeniería, leyes, educación, etcétera.
Sistemas
operativos populares
Entre los sistemas operativos mas populares se
hallan Microsoft Windows y Mac OS; Microsoft Windows CE y Palm OS controlan la
mayor parle de las computadoras de mano o handheld. Los sistemas operativos
más populares en computadoras que actúan como servidores son Linux y UNIX. Windows
es el sistema operativo que se utiliza en forma más generalizada en
computadoras personales; su interfaz muestra mensajes en pantalla y controles
que se han diseñado para controlarse con el ratón.
El software para Windows es cualquier tipo de
paquete de aplicación que se ha diseñado para que corta en computadoras que
utilizan el sistema operativo Windows; por ejemplo, el programa Microsoft Word
para Windows es un programa de procesamiento de palabras (o de aplicación) que se
conoce como software para Windows.
Compatibilidad en
sistemas operativos
Decimos que las computadoras que operan de la misma
manera son "compatibles"; dos de los factores más importantes que
influyen en la compatibilidad y definen la plataforma computacional son el
microprocesador y el sistema operativo. Actualmente dos de las plataformas
computacionales más populares para computadoras personales son PC y MAC.
La plataforma llamada PC se basa en el diseño de una
de las primeras computadoras personales, la IBM PC, que fue muy destacada; las
computadoras descendientes de la IBM PC son las que se utilizan en la
actualidad. Hay diversos fabricantes, como IBM, Hewlet-Packard, Toshiba, Dell,
Gateway y Compaq, que ofrecen una amplia gama de modelos de estas computadoras.
El sistema
operativo Windows se diseñó específicamente para
estas computadoras personales y, por lo tanto, la plataforma PC se conoce como
"plataforma de Windows". Por otro lado, la plataforma MAC se basa en
el diseño que desarrolló Macintosh para sus propias computadoras personales;
este sistema operativo se creó casi exclusivamente por Apple Computer
Suscribirse a:
Entradas (Atom)