Informática
Lenguajes de programación
República Bolivariana de Venezuela
Ministerio de Educación Superior
Universidad Nacional Experimentar de Guayana
UNEG
Puerto Ordaz 31 de marzo de 2007
PRUFAI
Programación I
(Lenguaje de Programación y Software Propietario)
Facilitador: Ing. William Mercado.
INTRODUCCIÓN
La Informática puede considerarse como un fenómeno real, social, excepcional, necesario, dinámico y de acción permanente en la vida de los seres humanos; este complejo acontecimiento, está condicionado por factores de variada naturaleza, antecedentes históricos, fundamentos culturales, corrientes filosóficas, concepciones de la vida, el mundo y el universo, progreso científico - tecnológico, situaciones sociales y políticas, todo esto determina la enorme cantidad de posiciones, doctrinas e interpretaciones diferentes, y algunas veces contrapuestas, que pueda tener una persona.
Como todo proceso evolutivo, el desarrollo de las tecnologías y el avance de la ciencias aplicadas a nuestro entrono, hacen necesario un puente que hace posible la comunicación entre el hombre y las maquinas, este lenguaje puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora mediante un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente el programador puede definir los parámetros de funcionamiento de las computadoras.
En este trabajo se hace referencia de los conceptos y principios fundamentales del lenguaje de programación, lenguaje de programación propietario y el impacto que tiene en el ámbito de la computación como en la concepción, diseño y desarrollo de los programas, tomando en cuenta, los términos de código fuente, licencias de uso, Software restringido y software Semilibre
Conceptos Básicos
Programa
Es un conjunto de instrucciones escritas en un lenguaje de programación que, traducidas a lenguaje de máquina, desempeñan una tarea determinada.
Software
Se denomina software, programática, equipamiento lógico o soporte lógico a todos los componentes intangibles de un ordenador o computadora, es decir, al conjunto de programas y procedimientos necesarios para hacer posible la realización de una tarea específica, esto incluye aplicaciones informáticas tales como un procesador de textos, que permite al usuario realizar una tarea, y software de sistema como un sistema operativo, que permite al resto de programas funcionar adecuadamente, facilitando la interacción con los componentes físicos y el resto de aplicaciones.
Hardware
En la Informática se denomina hardware o soporte físico al conjunto de elementos materiales que componen un ordenador. Hardware también son los componentes físicos de una computadora tales como el disco duro, CD-ROM, disquetera (floppy), etc... En dicho conjunto se incluyen los dispositivos electrónicos y electromecánicos, circuitos, cables, tarjetas, armarios o cajas, periféricos de todo tipo y otros elementos físicos.
Compilador
Un compilador es un programa que, a su vez, traduce un programa escrito en un lenguaje de programación a otro lenguaje de programación, generando un programa equivalente. Usualmente el segundo lenguaje es código de máquina, pero también puede ser simplemente texto. Este
proceso de traducción se conoce como compilación, la razón principal para querer usar un compilador es querer traducir un programa de un lenguaje de alto nivel, a otro lenguaje de nivel inferior (típicamente lenguaje de máquina). De esta manera un programador puede diseñar un programa en un lenguaje mucho más cercano a como piensa un ser humano, para luego compilarlo a un programa más manejable por una computadora, en resumen, es un programa que traduce código fuente a código objeto, donde código fuente es un programa escrito en un lenguaje de programación y código objeto es un programa escrito en lenguaje de máquina.
Compilación
Es el proceso por el cual se traducen programas en código fuente a programas en código objeto. El programa que realiza esta traducción se llama compilador. El archivo de código objeto que se obtiene con la compilación está representado normalmente en código de máquina, aunque también puede ser un código intermedio binario multiplataforma (bytecode).
Código objeto
Se llama código objeto en programación al código resultante de la compilación del código fuente. Consiste en lenguaje máquina ó bytecode y se distribuye en varios archivos que corresponden a cada código fuente compilado.
Instrucción
Es una expresión que consulta o transforma la memoria. Se define como un conjunto de caracteres que realiza una o varias operaciones, asociadas o no, con una o más direcciones de memoria. Una vez decodificada produce el inicio de un proceso determinado en la máquina. Se compone de una parte operativa, que indica la operación a realizar y n longitudes denominadas.
Algoritmo
Es la especificación formal de un procedimiento paso a paso para resolver un problema propuesto. Las instrucciones representan la estructura del proceso y su orden la secuencia de ejecución.
Lenguaje de Programación
Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora, consiste en un conjunto de reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos, respectivamente.
Un lenguaje de programación permite a un programador especificar de manera precisa: sobre qué datos una computadora debe operar, cómo deben ser estos almacenados y transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural, tal como sucede con el lenguaje Léxico.
Los procesadores usados en las computadoras son capaces de entender y actuar según lo indican programas escritos en un lenguaje fijo llamado lenguaje de máquina. Todo programa escrito en otro lenguaje puede ser ejecutado de dos maneras:
Mediante un programa que va adaptando las instrucciones conforme son encontradas. A este proceso se lo llama interpretar y a los programas que lo hacen se los conoce como intérpretes.
Traduciendo este programa al programa equivalente escrito en lenguaje de máquina. A ese proceso se lo llama compilar y al traductor se lo conoce como compilador.
Clasificación de los lenguajes de programación
Los lenguajes de programación se determinan según el nivel de abstracción, según la forma de ejecución y según el paradigma de programación que poseen cada uno de ellos y esos pueden ser:
Lenguajes de bajo nivel
Los lenguajes de bajo nivel son lenguajes de programación que se acercan al funcionamiento de una computadora, el lenguaje de más bajo nivel es, por excelencia, el código máquina. A éste le sigue el lenguaje ensamblador, ya que al programar en ensamblador se trabajan con los registros de memoria de la computadora de forma directa.
Lenguajes de medio nivel
Hay lenguajes de programación que son considerados por algunos expertos como lenguajes de medio nivel (como es el caso del lenguaje C) al tener ciertas características que los acercan a los lenguajes de bajo nivel pero teniendo, al mismo tiempo, ciertas cualidades que lo hacen un lenguaje más cercano al humano y, por tanto, de alto nivel.
Lenguajes de alto nivel
Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados por elementos de lenguajes naturales, como el inglés. En BASIC, el lenguaje de alto nivel más conocido, los comandos como "IF CONTADOR = 10 THEN STOP" pueden utilizarse para pedir a la computadora que pare si CONTADOR es igual a 10. Por desgracia para muchas personas esta forma de trabajar es un poco frustrante, dado que a pesar de que las computadoras parecen comprender un lenguaje natural, lo hacen en realidad de una forma rígida y sistemática.
Según la forma de ejecución
Lenguajes compilados
Naturalmente, un programa que se escribe en un lenguaje de alto nivel también tiene que traducirse a un código que pueda utilizar la máquina. Los programas traductores que pueden realizar esta operación se llaman compiladores. Éstos, como los programas ensambladores avanzados, pueden generar muchas líneas de código de máquina por cada proposición del programa fuente. Se requiere una corrida de compilación antes de procesar los datos de un problema.
Lenguajes interpretados
Se puede también utilizar una alternativa diferente de los compiladores para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el código objeto que se produce durante la corrida de compilación para utilizarlo en una corrida de producción futura, el programador sólo carga el programa fuente en la computadora junto con los datos que se van a procesar. A continuación, un programa intérprete, almacenado en el sistema operativo del disco, o incluido de manera permanente dentro de la máquina, convierte cada proposición del programa fuente en lenguaje de máquina conforme vaya siendo necesario durante el proceso de los datos. No se graba el código objeto para utilizarlo posteriormente.
La siguiente vez que se utilice una instrucción, se le debe interpretar otra vez y traducir a lenguaje máquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de un ciclo, cada instrucción del ciclo tendrá que volver a ser interpretado cada vez que se ejecute el ciclo, lo cual hace que el programa sea más lento en tiempo de ejecución (porque se va revisando el código en tiempo de ejecución) pero más rápido en tiempo de diseño (porque no se tiene que estar compilando a cada momento el código completo). El intérprete elimina la necesidad de realizar una corrida de compilación después de cada modificación del programa cuando se quiere agregar funciones o corregir errores; pero es obvio que un programa objeto compilado con antelación deberá ejecutarse con mucha mayor rapidez que uno que se debe interpretar a cada paso durante una corrida de producción.
Según el paradigma de programación
-
Lenguajes imperativos
-
Lenguajes declarativos
-
Funcionales
-
Lógicos
Lenguajes orientados a objetos
En la Programación Orientada a Objetos (POO u OOP según siglas en inglés) se definen los programas en términos de "clases de objetos", objetos que son entidades que combinan estado (es decir, datos) comportamiento (esto es, procedimientos o métodos) e identidad (propiedad del objeto que lo diferencia del resto). La programación orientada a objetos expresa un programa como un conjunto de estos objetos, que colaboran entre ellos para realizar tareas. Esto permite hacer los programas módulos más fáciles de escribir, mantener y reutilizar.
Software Propietario
El software propietario (también llamado software no libre, software privativo, software privado, software con propietario o software de propiedad) se refiere a cualquier programa informático en el que los usuarios tienen limitadas las posibilidades de usarlo, modificarlo o redistribuirlo (con o sin modificaciones), o cuyo código fuente no está disponible o el acceso a éste se encuentra restringido.
Para la Fundación para el Software Libre (FSF) este concepto se aplica a cualquier software que no es libre o que sólo lo es parcialmente (semilibre: categoría de programas informáticos que no son libres, pero que vienen con autorización de uso, copia, modificación y redistribución (incluso de versiones modificadas) sin fines de lucro), sea porque su uso, redistribución o modificación está prohibida, o requiere permiso expreso del titular del software.
En el software propietario una persona física o jurídica (compañía, corporación, fundación, etc.) posee los derechos de autor sobre un software negando o no otorgando, al mismo tiempo, los derechos de usar el programa con cualquier propósito; de estudiar cómo funciona el
programa y adaptarlo a las propias necesidades (donde el acceso al código fuente es una condición previa); de distribuir copias; o de mejorar el programa y hacer públicas las mejoras (para esto el acceso al código fuente es un requisito previo).
De esta manera, un software sigue siendo no libre aún si el código fuente es hecho público, cuando se mantiene la reserva de derechos sobre el uso, modificación o distribución (por ejemplo, la versión comercial de SSH o el programa de licencias shared source de Microsoft).
“Aclaración: El término "propietario" es una mala traducción del vocablo inglés "proprietary", siendo el término correcto, en castellano, "privativo". .”
Software propietario para programación ambiente grafico Microsoft Visual Studio (Visual Basic)
Microsoft Visual Studio es una suite comercial de programación para el sistema operativo Microsoft Windows. Conformada por varios lenguajes de programación, entre ellos Visual C++, C# y Visual Basic.' y Visual C++ que es la implementación de este lenguaje dentro del ambiente .NET, al que se refieren como "managed code" o "código gestionado" en la terminología de MS Windows, aunque también se pueden generar aplicaciones nativas de C++.
Visual Basic
Visual Basic es un lenguaje de programación desarrollado por Alan Cooper para Microsoft. El lenguaje de programación es un dialecto de BASIC, con importantes añadidos. Su primera versión fue presentada en 1991 con la intención de simplificar la programación utilizando un ambiente de desarrollo completamente gráfico que facilitara la creación de interfaces gráficas y en cierta medida también la programación misma.
Es un lenguaje de fácil aprendizaje pensado tanto para programadores principiantes como expertos, guiado por eventos, y centrado en un motor de formularios que facilita el rápido desarrollo de aplicaciones gráficas. Su sintaxis, derivada del antiguo BASIC, ha sido ampliada con el tiempo al agregarse las características típicas de los lenguajes estructurados modernos. Se ha agregado una implementación limitada de la programación orientada a objetos (los propios formularios y controles son objetos), aunque sí admite el polimorfismo mediante el uso de los Interfaces, no admite la herencia.
Visual Basic brinda un sistema completo para el desarrollo de aplicaciones para el sistema operativo Microsoft Windows, escribir, editar, y probar aplicaciones de Microsoft Windows. En adición, VB incluye herramientas que se pueden utilizar para escribir y compilar archivos de ayuda, controles ActiveX, y otras aplicaciones para el sistema operativo citado.
Código fuente
El código fuente puede definirse como, un conjunto de líneas que conforman un bloque de texto, escrito según las reglas sintácticas de algún lenguaje de programación destinado a ser legible por humanos ó un Programa en su forma original, tal y como fue escrito por el programador, no es ejecutable directamente por el computador, debe convertirse en lenguaje de maquina mediante compiladores, ensambladores o intérpretes.
Normalmente está destinado a ser traducido a otro código, llamado código objeto, ya sea lenguaje máquina nativo para ser ejecutado por una computadora o bytecode para ser ejecutado por un intérprete.
Este proceso se denomina compilación y permite la realización de programas, el proceso de formateado del código fuente para ayudar a su legibilidad se denomina estilo de programación.
A continuación se presentan dos códigos fuentes básicos
Arrastrar una imagen ( Drag sobre un control image ) y copiar la imagen mediante OLE
Ejemplo en Visual Basic se muestra como podemos arrastrar un Control Imagen (que tiene cargado una imagen) por el formulario, y cuando soltemos el mouse se realizará una copia de la imagen.
Si queremos moverla en cambio de copiarla, hay que cambiar una constante en el evento Form_OLEDragDrop de la variable Effect, por el valor vbDropEffectMove
Colocar un Control Image1 y cargarle una imagen:
Código fuente en el Formulario:
Option Explicit
'***************************************************************************
'* Colocar un control Image con una imagen y luego arrastrar y soltar el gráfico
'***************************************************************************
Dim Boton As Integer
Private Sub Form_Load()
' Permitimos al control image una operacion de arrastre
Image1.OLEDragMod = 1
Me.OLEDropMode = 1
End Sub
Private Sub Form_OLEDragOver(data As DataObject, Effect As Long, _
Button As Integer, Shift As Integer, _
X As Single, Y As Single, State As Integer)
'Establecemos en esta variable el botón _
presionado, es decir el izquierdo o el derecho
Boton = Button
End Sub
' Evento que se ejecuta al soltar la imagen en el formulario
Private Sub Form_OLEDragDrop(data As DataObject, Effect As Long, _
Button As Integer, Shift As Integer, _
X As Single, Y As Single)
On Error Resume Next
'Le decimos que sea una copia de lo que vamos a arrastrar _
' si queres mover el objeto, establece la variable effect _
en vbDropEffectMove
Effect = vbDropEffectCopy
If Boton = vbLeftButton Then
'Pintamos la imagen en el formualrio a partir del parámetro Data _
el 2 significa el formato de los datos, en este caso una imagen
'x e y corresponden a la posición del mouse cuando finaliza el arrastre _
para que la imagen se dibuje en la ubicación del puntero del Mouse
Me.PaintPicture data.GetData(2), X, Y
End If
End Sub
Otro ejemplo de código fuente:
Hacer un efecto de gravedad y rebote de un objeto en vb
Este simple ejemplo en Visual Basic muestra como hacer un efecto de gravedad de un objeto, como una pelota que rebota utilizando un control Timer y un control Image Colocar un control Timer con interval en 10 y un control Image llamado Objeto cargado con una imagen, como por ejemplo:
Nota: Modificando las variables Fuerza y Velocidad se puede cambiar el efecto de rebote
Código en un formulario
'Variables para la animación
Dim Fuerza As Double
Dim Velocidad As Double
Private Sub Form_Load()
'Posicionamos el picture o el control image en el form
Objeto.Top = 10: Objeto.Left = 10
Me.WindowState = 2
'Establecemos un valor al Timer y lo activamos
Timer1.Enabled = True
Timer1.Interval = 10
'Establecemos valores a las variables _
para el efecto de rebote
Fuerza = 1.7
Velocidad = 0
End Sub
Private Sub Timer1_Timer()
If Objeto.Top > 4000 Then
Objeto.Top = 4000
Velocidad = Velocidad * -0.6
End If
Velocidad = Velocidad + Fuerza
Objeto.Top = Objeto.Top + Velocidad
End Sub
ANEXOS
Etapas en la compilación:
CONCLUSIÒN
Para que una computadora pueda actuar inteligentemente es preciso que siga un conjunto ordenado de instrucciones, lo que se llama un programa. Dichas instrucciones tienen que estar, además, expresadas en lenguajes especiales comprensibles para la computadora. El conjunto inmaterial de símbolos, palabras, lenguajes y programas que se utilizan en computación recibe el nombre de SOFTWARE , palabra inglesa que se traduce “ MERCANCÍA LIGERA”, mientras que la parte material de la computadora, formada por la unidad central, los sistemas de almacenamiento y los dispositivos periféricos recibe el nombre de HARDWARE, que se traduce como “MERCANCÍA PESADA”. Entre la gran variedad de lenguajes de programación de computadoras existentes, cito: el C, Clipper, Pascal, Lisp, Logo y Basic. Actualmente disponemos de multitud de programas que podemos utilizar en nuestra computadora y que han sido elaborados por equipos de expertos en computación usando uno de estos lenguajes de programación.
Los programas más utilizados son los llamados procesadores de textos, que nos facilitan la tarea de escribir. También es muy frecuente el uso de bases de datos o programas que permiten grabar grandes cantidades de información de una manera organizada y consultarla con rapidez. Otro tipo de programas son las llamadas hojas de cálculo, que permiten efectuar con rapidez complicadas operaciones matemáticas en las que intervienen multitud de datos. Estos tres tipos de programas se utilizan actualmente en todas las oficinas dotadas de computadoras.
Descargar
Enviado por: | Neys Rodriguez |
Idioma: | castellano |
País: | Venezuela |