Вы находитесь на странице: 1из 16

Introducción

La programación de computadoras es el desarrollo de programas que no es más


que la codificación en un lenguaje de programación de un algoritmo que soluciona
un problema de la realidad.

Se necesita conocer los lenguajes de programación, las reglas sintácticas del


mismo para implementar las instrucciones que se ejecutarán en el computador,
otra cuestión importante relacionada es el paradigma con el que se codifica, que
determina la forma lógica de organizar el código de tal manera que sea eficiente,
de fácil entendimiento y mantenimiento.
5.1. ¿Qué es lenguaje de programación?

Un lenguaje de programación es un lenguaje artificial compuesto de un conjunto


de reglas sintácticas y semánticas que permite controlar el comportamiento de un
ordenador luego que éste interpreta las instrucciones que permiten resolver
problemas de la realidad.

Los leguajes de programación nos permiten implementaron conjunto de


instrucciones para realizar operaciones de entrada y salida de datos, cálculos
numéricos, manejo de cadena de caracteres, comparación, almacenamiento y
recuperación de datos.

Los lenguajes de programación se clasifican en:

Lenguaje Maquina: Es aquel lenguaje cuyas instrucciones son entendibles


directamente por el ordenador y no necesitan traducción posterior para que el
CPU pueda ejecutar el programa. Las instrucciones en lenguaje maquina se
expresan en términos de la unidad de memoria más pequeña el bit (dígito binario 0
ó 1), formando cadenas binarias.

Cada instrucción se representa por una secuencia de bits y está dividida en


campos, donde están todos los elementos que necesita para su ejecución.

Se llama formato de instrucción a la forma como la instrucciones ordenada en


campos y bits como se muestra en el siguiente formato de instrucción sencillo de
16 bits.

El CPU debe ser capaz de extraer los datos de los distintos campos de la
instrucción para realizar la operación requerida.

La siguiente figura muestra una instrucción en lenguaje máquina de 32 bits, donde


se puede observar el código binario de operación suma, y los binarios de los
operandos (números uno y dos en equivalente decimal) y también la dirección de
memoria (memoria principal o registros del procesador) donde se almacenará el
resultado.
Lenguaje de Bajo Nivel (Ensamblador): En este lenguaje las instrucciones se
escriben en códigos alfabéticos conocidos como mnemotécnicos para las
operaciones y direcciones de memoria simbólicas, estos códigos facilitan la
escritura de las instrucciones porque ya no es necesario la escritura en formato
binario.

Por ejemplo el siguiente código es está escrito en lenguaje C, y establece 2


instrucciones

Traduciendo a lenguaje ensamblador debemos asignar las variables a registros y usar las
instrucciones de suma y resta enteras:

El programa ensamblador

El programa ensamblador es la herramienta que realiza la traducción de un


archivo que contiene instrucciones en lenguaje ensamblador (con nemónicos
comomov, add, sub, etc) a su equivalente instrucción en formato binario como
vimos en el apartado "Leguaje de maquina". El programa sabe cómo codificar
todas las operaciones posibles que el procesador puede interpretar y ejecutar en
formato binario.
Lenguaje de Alto Nivel

Se llama así porque las instrucciones o sentencias enviadas a la computadora son


escritas con palabras similares a los lenguajes humanos, facilitando la escritura y
comprensión del programa por parte del programador, teniendo posibilidad de
codificar a mayor velocidad, con más eficiencia y a mayor complejidad.

Son los lenguajes más utilizados por los programador es porque es posible
expresar los algoritmos de una manera adecuada a la capacidad cognitiva
humana desarrollando una lógica de programación, también genera un código
fuente más sencillo y comprensible, válido para diversas máquinas y sistemas
operativos.
Por ejemplo, en Java se pueden usar palabras tales como: case, if, for, while,
etc. para construir con ellas instrucciones como:

Traducido al español sería: Si la variable "numero" contiene un número mayor que


cero, entonces, mostrar por pantalla el mensaje: "el número es positivo", de lo
contrario mostrar "el número es cero o negativo".

Ventajas del lenguaje de alto nivel.- podemos destacar algunas de las más
importantes:

a) Los programadores pueden aprender en poco tiempo.

b) Al reducirse la complejidad y el tiempo para la codificación entonces se reduce


el costo de los programas.

c) La escritura de programas está basada en reglas sintácticas parecido a los


lenguajes humanos, por ejemplo las instrucciones tienen nombres como:Printf,
System.out.println, if, loop, for, case, etc.

d) Las modificaciones y optimización de los programas son más fáciles de realizar,


porque genera un código más sencillo y comprensible

e) Es posible transportar el código fuente modificarla y ejecutarla en otro


ordenador.

f) El código escrito puede ser válido para diversas máquinas y posiblemente,


sistemas operativos.

Desventajas del lenguaje de alto nivel.-

a) No se aprovechan al máximo los recursos internos del ordenador, lo que si


sucede en lenguajes máquina y ensambladores, donde se tiene acceso directo a
dichos recursos.
b) Se necesita más tiempo para poner a punto un programa por qué se necesita
diferentes traducciones del programa fuente para conseguir el programa definitivo.

c) El uso de memoria se incrementa debido a que es necesario utilizar recursos


adicionales.

d) La ejecución de los programas necesitan de más tiempo, debido a que se


necesita realizar la interpretación o compilación necesaria.

Existen muchos lenguajes de alto nivel, describiremos algunos de los más


importantes.

Lenguajes de alto nivel I

Existen muchos lenguajes de alto nivel, describiremos algunos de los más


importantes.

Lenguaje C.-Fue desarrollado por Dennis Ritchie en los Laboratorios Bell en 1972
e implementado utilizando el sistema operativo UNIX. Es un lenguaje de propósito
general que facilita la programación y la realización de muchas de las tareas
anteriormente reservadas al lenguaje ensamblador, tiene mucha cercanía con
dicho lenguaje.

El lenguaje C se conoce como un lenguaje compilado, que convierten el código


fuente en un fichero objeto y éste en un fichero ejecutable.

Ventajas del lenguaje C:

 Posee características de alto nivel pero que conserva características de bajo nivel
cercano al lenguaje ensamblador.
 La ejecución de programas desarrollados en este lenguaje es muy veloz y potente.
 Permite desarrollar programas con un paradigma estructurada o modular.
 Es un lenguaje compilado
Lenguaje C++.- Es un lenguaje de programación creado en los años ochenta, no
es más que la extensión del lenguaje C, pero con características de un lenguaje
orientado a objetos, por lo que se le considera un lenguaje hibrido por la
capacidad de soportar también la programación estructurada.

Los compiladores de C++ generan código nativo con alta calidad de optimización
en uso de memoria y velocidad, lo que lo convierte en uno de los lenguajes más
eficientes en cuanto a uso de los recursos de hardware heredado de su antecesor
lenguaje C.

En C++ un programa consta de objetos que son tipos de datos abstractos definido
por el programador con un conjunto de operaciones que se pueden realizar sobre
sus atributos definidos con los tipos nativos comoint, char y doublé u otros objetos.
Lenguaje Pyton.- Es de propósito general y orientado a objetos, que también
puede utilizarse para el desarrollo web, que posee las siguientes características:

 Multiplataforma.- Si existe un intérprete programado para el sistema


operativo entonces es compatible con él.
 Interpretado.- El código fuente no necesita ser compilar antes de su
ejecución. La compilación se realiza de manera transparente para el
programador.
 Orientado a Objetos.- Ofrece de manera sencilla crear programas con
componentes reutilizables bajo este paradigma.
 Sintaxis clara.- Tiene reglas sintácticas sencillas y muy visuales, gracias a
una notación con márgenes obligatorios. En muchos lenguajes para separar
porciones de código, se utilizan elementos como las llaves o palabras
reservadas BEGIN y END pero en Python se debe tabular hacia dentro,
esto ayuda a que todos los programadores tengan un código ordenado de
aspecto muy similar.
Lenguaje PHP (Hipertext Preprocessor).- Es un lenguaje de script interpretado
en el lado del servidor utilizado para la generación de páginas Web dinámicas.

PHP se ejecuta en el servidor por lo tanto no es necesario que el navegador lo


soporte, por lo tanto es independiente del navegador, para que los scripts de la
página PHP funcionen el servidor donde están alojadas debe soportar PHP, es
decir debe tener instalado el intérprete de PHP.

Tiene soporte para una gran cantidad de bases de datos entre ellos tenemos,
MysSQL, PostgreSQL, Oracle, Microsoft SQL Server, SybasemSQL, Informix, etc.

Lenguajes de alto Nivel II

Lenguaje Visual Basic .NET.- Es un lenguaje de programación orientado a


objetos, evolucionado de las aplicaciones ejecutables independientes que residían
en el disco duro del usuario hasta una aplicación distribuida proporcionada por un
servidor Web a través de Internet, este lenguaje ha sido desarrollado por Microsoft
cuyo nuevo modelo es .NET Framework, diseñado para permitir a los
programadores escribir e implementar fácilmente aplicaciones Web complejas.
¿Qué es el framework?

Es un conjunto de clases base que interactúan en forma cooperativa para dar


solución a una determinada necesidad.

A diferencia de los elementos físicos el software representa conceptos o


abstracciones, que se materializan en ejecución en la memoria del computador.
Así que en términos simples el framework es un conjunto de elementos o piezas
de software que pueden ser reutilizadas para la construcción de otras piezas de
software o programas de computadora.
Microsoft .NET es el conjunto de nuevas tecnologías en las que Microsoft ha
estado trabajando durante los últimos años con el objetivo de obtener una
plataforma sencilla y potente para distribuir software en forma de servicios que
pueda ser suministrados remotamente y que puedan comunicarse y combinarse
unos con otros de manera totalmente independiente de la plataforma, lenguaje de
programación y modelo de componentes con los que hayan sido desarrollados.
Esta es la llamada plataforma .NET.

.NET Framework es una plataforma de desarrollo, la cual está compuesta por:

 Un entorno de ejecución (Runtime)


 Biblioteca de funcionalidad
 Librería de clases base
 Lenguajes de programación (Visual, C#, J#, etc.)
 Compiladores

.NET Framework, no es un sistema operativo, no es un lenguaje de programación,


no es un entorno de desarrollo, no es un servidor de aplicaciones.

El gráfico siguiente muestra como es administrado el código fuente de este


lenguaje, cada lenguaje que soporta NET tiene su propio compilador que convierte
a un código MSIL o código intermedio, este código es ejecutado por el compilador
JIT que convierte en código nativo para el sistema operativo donde se desea
ejecutar. Este nuevo modelo propuesto por Microsoft permite la ejecución de los
programas de manera independiente a los sistemas operativos.

Lenguaje JAVA.- Fue creado en 1991 por sunmicrosystems, inicialmente se


denominó Oak. Como lenguaje de programación es posible crear todo tipo de
aplicaciones, como entorno de desarrollo provee un gran número de herramientas:
 Compilador (javac)
 Interprete (java)
 Generador de documentación (javadoc)
 Una herramienta para empaquetar los .class (jar)

Las aplicaciones desarrolladas con JAVA son generalmente programas de uso


general que funcionan en cualquier ordenador donde Java RutimeEnviroment
(JRE) esté instalado.

Existen dos entornos de ejecución principales:

El JRE proveído por Java Software Developer Kit (SDK) que contiene un conjunto
completo de clases.

La otra se encuentra en el navegador web. La mayoría de los navegadores


proveen un intérprete para la tecnología Java u entorno de ejecución.

Características de JAVA

 Tiene desarrollado una máquina virtual para cada sistema operativo.


 Es interoperable en todas las plataformas.
 Tiene diseñado un recolector de basura para optimizar el uso de la memoria
 Es orientado a objetos.
 Es seguro
 Es de ejecución multi-hilo

La máquina virtual de JAVA conocido como JVM, emula un ordenador en una


maquina real, y es capaz de interpretar el código Bytecode que se genera en la
compilación y que es ejecutado sobre el JVM, convirtiéndolo en código
independiente de la plataforma, significa que si se desarrolla y compila un
programa éste puede ejecutarse en sistemas operativos Windows, Linux, Solaris,
etc. bajo el lema "Escríbelo una vez y ejecútalo en todos lados", se genera a partir
del código fuente (.java) un código intermedio (Byecode) almacenado en un
archivo con extensión .CLASS
Código de lenguaje JAVA

5.2. Paradigmas de programación

Los paradigmas de programación son los acuerdos o convenios que los


desarrolladores establecen, la forma de cómo se organizará el código y su
interacción, éstos forman los métodos y herramientas que un programador usa en
el desarrollo de un programa.

Existen muchos paradigmas de programación, cada uno de ellos tiene sus propias
particularidades desde diferentes aspectos y filosofías para el desarrollo de
software. Revisemos a algunos paradigmas de programación más populares.

a) Programación Imperativa.- En este paradigma se formula como debe


solucionarse un problema especificando con una secuencia de acciones a través
de uno o más procedimientos.

Dentro de esta categoría se considera la programación estructurada, la


programación modular y la programación orientada a objetos.
b) Programación estructurada.-Esta forma de programar se basa en un famoso
teorema, desarrollado por Edsger Dijkstra, que demuestra que todo programa
puede escribirse utilizando únicamente las tres estructuras básicas de control
siguientes:

 Secuencia: instrucciones ejecutadas sucesivamente, una detrás de otra.


 Selección: Condicional con doble alternativa, de la forma "SI condición
ENTONCES instrucción1 SINO instrucción2".
 Iteración: Ejecuta la instrucción repetidamente mientras la condición se
cumpla.

Los programas que utilizan sólo estas tres instrucciones de control básicas se
llaman estructuradas.

c) Programación orientada a objetos.-

La programación orientada a objetos se amoldarse al modo de pensar humano y


no al de la máquina como en la programación estructurada. Organiza los
programas de manera que representen un modelo de la interacción de las cosas
del mundo real.

Un programa consta de un número de objetos que representan elementos del


mundo real y es de mucho interés saber que hacen los objetos, porque de allí se
generan la funcionalidad que soluciona los problemas del mundo real.

La POO (programación orientada a objetos) proporciona una forma de pensar más


natural sobre el problema, no sobre funciones y procedimientos secuenciales,
también permite la reusabilidad de código y soporta modificaciones o
extensibilidad de los requerimientos.

Cada objeto es responsable de una o más tareas, y los objetos interactúan entre si
por medio de mensajes, cada objeto pertenece a una clase.

La POO ofrece los siguientes mecanismos:

 Encapsulación
 Herencia
 Abstracción
 Polimorfismo

Que son los pilares sobre la que se sostiene este paradigma de programación.

d) Programación Declarativa.- En este paradigma declarativo no es necesario


definir algoritmos puesto que se detalla la solución del problema en lugar de como
llegar a esa solución, y al solución se genera a partir de inferencias de una base
de hechos y reglas establecidas para dichos hechos.
En la programación declarativa solo se describe el problema pero no los pasos
necesarios para llegar a su solución, la cual es hallada mediante mecanismos
internos de inferencia de información a partir de la descripción del problema.

Los lenguajes de programación que soportan este tipo de programación son:

 Haskell (Programación funcional)


 Lisp (Programación funcional)
 Prolog (Programación Lógica)
 F-Prolog (Programación Lógica Difusa)
 SQL

Conclusiones

 En esta semana de estudio se presentó la programación de computadoras


desde los tipos de lenguajes maquina hasta lo de alto nivel, para tener una
comprensión de lo que significa la codificación de un programa desarrollado
en cualquier lenguaje de programación.
 También se sabe que la tendencia actual para desarrollar software está en
el uso de la programación orientada a objetos que facilita la generación de
soluciones rápidas y eficientes, debido a la abstracción sencilla del mundo
real en término de clases, objetos y sus relaciones.
 Existen muchos lenguajes para desarrollar software de acuerdo a lo que se
necesite solucionar, existen herramientas potentes y disponibles en cada
uno de los lenguajes muchos de ellos combinan la generación para entorno
de escritorio, entorno web con programas compilados e interpretado.

Вам также может понравиться