Programación en C y Java

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 11

Fundamentos de Programación

[1.1] ¿Cómo estudiar este tema?

[1.2] Fundamentos de programación.

[1.3] Introducción al lenguaje de programación “C”

[1.4] Introducción al lenguaje de programación “JAVA”

0
TEMA
Esquema
FUNDAMENTOS
DE
PROGRAMACIÓN

Fundamentos de Introducción al Introducción al


Programación Lenguaje de lenguaje de
Programación “C” Programación
“Java”
Ideas clave

1.1. ¿Cómo estudiar este tema?

El objetivo del presente tema es introducir al alumno en los principales fundamentos

de programación que se consideran necesarios para obtener un mejor aprovechamiento

de conceptos a estudiar en las asignaturas de “Seguridad del Software” y “Análisis de

Vulnerabilidades”.

1.2. Fundamentos de programación


Un lenguaje de programación define un formato para diseñar un conjunto ordenado de
instrucciones a ser ejecutadas por un ordenador o máquina de proceso. Los lenguajes
de programación se pueden clasificar en tres categorías:

• Idiomas interpretados.
• Idiomas compilados
• Idiomas de máquina.

De todos estos tipos, solo los lenguajes de máquina son los únicos que pueden ser
entendidos directamente por ordenador o máquina de proceso.

Un lenguaje de máquina es un conjunto de instrucciones que entiende la CPU (unidad


central de proceso) de un ordenador o máquina de proceso. Todas las instrucciones y
datos están representadas por números; muy rápido para computadoras, muy difícil de
leer o escribir para el cerebro humano. Para facilitar la tarea de la programación de
computadoras, las personas crearon lenguajes más sencillos de comprender llamados:
lenguaje ensamblador. Un lenguaje de este tipo proporciona nombres de texto para los
códigos de operación disponibles del lenguaje de máquina. Luego, este código se le pasa
a un software ensamblador que lo traduce al lenguaje de máquina de la CPU.

El uso de lenguaje de ensamblador se extendió muy rápido, llegaron a conocerse como


"lenguajes de segunda generación", pero todavía había dos problemas con este
tipo de lenguajes:
• En primer lugar, cada comando solo hace una tarea muy básica, como agregar
dos números o cargar un valor de la memoria. Usar estos pequeños comandos
es bastante tedioso.
• El segundo problema es que los programas escritos en un lenguaje ensamblador
están vinculados a un tipo particular de CPU. Cada CPU tiene su propio
lenguaje de máquina y, por lo tanto, su propio lenguaje ensamblador.

El siguiente avance fue, por tanto, el diseñar un lenguaje que pudiera traducirse al
lenguaje de máquina de muchas CPU. Estos nuevos lenguajes independientes de
máquina eran conocidos como lenguajes de "tercera generación" o "de alto
nivel" llamados “compilados”. Diseñados para ser fáciles de leer, estos lenguajes
estaban formados por palabras, símbolos matemáticos básicos y algunos caracteres de
puntuación, este es el caso por ejemplo del lenguaje “C”.

Para introduciros en la programación en los fundamentos de programación” leer los


apartados 1.1 a 1.2 del Capítulo I del texto “Programación orientada a objetos
C++ y Java: un acercamiento interdisciplinario” de José Luis López Goytia.

Accede al documento desde la biblioteca virtual de la UNIR

1.3. Introducción al lenguaje de programación “C”


“C” es un lenguaje diseñado originalmente por Dennis Ritchie, que se puede considerar
como uno de los lenguajes informáticos más ampliamente escritos en el mundo. El
éxito de este lenguaje se debe a una serie de factores, ninguno de ellos clave, pero todos
ellos importantes. Quizás el más significativo de todos es que fue desarrollado por
profesionales reales de la programación y diseñado para el uso práctico en el día a día.

Desde el principio este lenguaje ha sido asociado con el sistema operativo UNIX o
LINUX y se ha beneficiado de popularidad de estos sistemas. Aunque no es la primera
opción obvia para escribir grandes aplicaciones, C tiene la gran ventaja de estar
siempre disponible en implementaciones comerciales de este sistema operativo. UNIX
y LINUX están escritos en C, por lo que cada vez que se implementa UNIX o LINUX en
un nuevo tipo de hardware, la primera tarea es obtener un compilador de C para ese
sistema.
El lenguaje “C” también ha ganado sustancialmente en uso y disponibilidad debido a la
expansión explosiva del mercado de los ordenadores personales (PC), los
desarrolladores obtienen no solo la legibilidad y productividad de un lenguaje de alto
nivel, sino también el poder de aprovechar al máximo el PC.

Para introduciros en la programación en los fundamentos de programación” leer los


apartados 1.3 a 1.7 del Capítulo I y el Capitulo II completo del texto “Programación
orientada a objetos C++ y Java: un acercamiento interdisciplinario” de José
Luis López Goytia.

Accede al documento desde la biblioteca virtual de la UNIR

1.4. Introducción al lenguaje de programación “JAVA”


“Java” es un lenguaje de programación derivado del lenguaje “C”, por lo que sus reglas
de sintaxis se parecen mucho a las de este último. Por ejemplo, los bloques de código se
modularizan en métodos y se delimitan mediante llaves { }, y las variables se declaran
antes de que se utilicen.

Estructuralmente, el lenguaje Java comienza con paquetes. Un paquete es el


mecanismo del espacio de nombres del lenguaje Java. Dentro de los paquetes hay
clases, y dentro de las clases hay métodos, variables, constantes y más.

La tecnología Java se utiliza para desarrollar aplicaciones para una amplia gama de
entornos, desde dispositivos de consumo hasta sistemas empresariales heterogéneos.
Para ello hay desarrollada una plataforma de JAVA que en las interfaces de
programación de aplicaciones Java (API) y la máquina virtual Java (JVM).

Las API de Java son bibliotecas de código compilado que se puede usar cuando se
realiza un programa. Permiten agregar una funcionalidad lista para usar y
personalizable, lo que permite ahorrar tiempo de programación.

Los programas en Java se ejecutan (o interpretan, este tipo de lenguajes se


denominan “Interpretados”) por otro programa llamado JVM. En lugar de
ejecutar directamente en el sistema operativo nativo, JVM interpreta el programa para
el sistema operativo nativo. Esto significa que cualquier sistema de computadora con
JVM instalado puede ejecutar programas Java independientemente del sistema
operativo en el que se desarrollaron originalmente las aplicaciones.
Por ejemplo, un programa Java desarrollado en una computadora personal (PC) con el
sistema operativo Windows debería funcionar igualmente bien sin modificaciones en
una estación de trabajo Sun con el sistema operativo Solaris, y viceversa.

La plataforma de Java dispone de los siguientes componentes:

• Lenguaje Java. Como cualquier lenguaje de programación, el lenguaje Java


tiene su propia estructura, reglas de sintaxis y paradigma de programación. El
paradigma de programación del lenguaje Java se basa en el concepto de
Orientación a Objetos.

• El compilador de Java. Es una herramienta informática, que ayuda a escribir el


código fuente en archivos .java y compilarlos. El compilador verifica el código
escrito contra las reglas de sintaxis del idioma y l genera unos bytecode en
archivos .class. Bytecode es un conjunto de instrucciones destinadas a ejecutarse
en una JVM.

• JVM. En tiempo de ejecución, la JVM lee e interpreta archivos .class y ejecuta


las instrucciones del programa en la plataforma hardware nativa para la que se
escribió la JVM. La JVM interpreta el bytecode del mismo modo que una CPU
interpreta las instrucciones en lenguaje ensamblador. La diferencia es que la
JVM es una pieza de software escrita específicamente para una plataforma en
particular. Su código puede ejecutarse en cualquier CPU para los que esté
disponible una implementación adecuada de la JVM. Las JVM están disponibles
para plataformas importantes como Linux y Windows, y se han implementado
subconjuntos del lenguaje Java en JVM para teléfonos móviles.

• El garbaje colector. Es un mecanismo de la plataforma Java para la


administración de la memoria de forma inmediata. Cuando su aplicación Java
crea una instancia de objeto en tiempo de ejecución, la JVM asigna
automáticamente el espacio de memoria para ese objeto en el Heap, zona de
memoria dinámica del procesador.
• El kit de desarrollo de Java. El Java Development Kit (JDK) se compone del
compilador y una biblioteca de clases completa de utilidades preconstruidas que
ayudan a realizar las tareas de desarrollo de aplicaciones más comunes.

• El entorno de ejecución de Java. Java Runtime Environment (JRE) incluye la


JVM, las bibliotecas de códigos y los componentes que son necesarios para
ejecutar programas que están escritos en el lenguaje Java.

Para introduciros en la programación en los fundamentos de programación” leer los


Capítulos IV y V completos del texto “Programación orientada a objetos C++ y
Java: un acercamiento interdisciplinario” de José Luis López Goytia.

Accede al documento desde la biblioteca virtual de la UNIR


Lo + recomendado

No dejes de leer…
Fundamentos de programación en Lenguaje C.

Felipe Rolando Menchaca García. Fundamentos de programación en Lenguaje C.


Instituto Politécnico Nacional. ISBN 9789701822210

Accede al documento a través de la Biblioteca Virtual de la UNIR

Curso de Java.

Natividad Prieto Saez and Assumpció Casanova Faus. Curso de Java. Desde cero hasta
conexiones con bases de datos MySQL. Training and Consulting.

Accede al documento desde el aula virtual o a través de la siguiente dirección web:


http://www.cursodejava.com.mx/descargas/CursoJava.pdf
No dejes de ver…

Tutorial Programacion en C nº1 : Descargando y Teoria

Serie de tutoriales de programación en lenguaje “C” que ayudan al aprendizaje del


mismo.

Accede al vídeo desde el aula virtual o a través de la siguiente dirección


web:https://www.youtube.com/watch?v=LZoS_iKLi-c&list=PL78386798B27755B9&index=3

Bloque Java 1.1: Empezando el Curso de Java

Primer video del Curso de Java en el que se explica en que va a consistir y se explica
cómo instalar los programas necesarios para empezar a programar en Java. Se
recomienda el visionar más videos de este curso.

Accede al vídeo desde el aula virtual o a través de la siguiente dirección web:


https://www.youtube.com/watch?v=QgSeDCmB-qQ&list=PLw8RQJQ8K1yQDqPyDRzt-h8YlBj96OwMP
+ Información

A fondo

Programación en Java 2

Jesús Sánchez Allende, Gabriel Huecas Fernández-Toribio, and Pilar Moreno Díaz.
Programación en Java 2 (2005). McGraw-Hill España .

Accede al documento la biblioteca virtual de la UNIR

Java for Dummies


Barry A. Burd. Java for Dummies (2017). John Wiley & Sons, Incorporated. ISBN de
libro impreso 9781119235552.

Accede al documento la biblioteca virtual de la UNIR

C++ for Dummies


Stephen R. Davis (2014). C++ for Dummies. John Wiley & Sons, Incorporated. ISBN
de libro impreso 9781118823774.

Accede al documento la biblioteca virtual de la UNIR

TEMA 1 – Test
Bibliografía

Felipe Rolando Menchaca García. Fundamentos de programación en Lenguaje C.


Instituto Politécnico Nacional 2010. ISBN 9789701822210.

Morgan Mike. Descubre Java 1.2. Editorial Prentice Hall 1999.

Richard E. Crandall. Aplicaciones de Pascal en Ciencias. Serie Instrucción Programada


Editorial Limusa.

Aaron M. Tenenbaum- Yedidyah Langam. Estructura de Datos en C. editorial Prentice


Hall 1993.

César Liza Avila. Algoritmos y su codificación C++, Grupo Creadores (Motivando tu


naturaleza Creatividad).

Osvaldo Cairó-Silvia Guardati. Estructura de datos. McGrawHill Tercera Edición 2006.

Walter Lazo Aguirre. Programación Estructurada en C. Problemas resueltos,

Bruce Eckel, President. Pensando en java. Prentice Hall, segunda edición 2005

Steven Holzner. Java 2. Anaya Multimedia 2005 Segunda Edición 2004.

Francisco Javier Cevallos. Java 2 Curso de Programación. Editorial Ra-MA 2005.

Jorge Sánchez. Java 2. Año 2004.

TEMA 1 – Test

También podría gustarte