Logo Studenta

Tema 4 Programación y desarrollo SW

¡Este material tiene más páginas!

Vista previa del material en texto

Tema 4
Programación y desarrollo de SW
Dictino Chaos García
dchaos@dia.uned.es
http://creativecommons.org/licenses/by-nc-nd/4.0
http://creativecommons.org/licenses/by-nc-nd/4.0
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Máquinas programables
• Algunas máquinas sólo hacen una cosa (por ejemplo una 
tostadora) y siempre lo mismo.
• Muchos tipos de máquina
– No automática  se maneja a mano
– Automática  hace cosas por si sola siempre igual
– Programable  hace “lo que le pidas”)
• El ordenador se puede programar (como muchas otras cosas)
– Lo importante es la máquina + el programa
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Ordenador o Computador
• Computador: Computo=cálculo
• Ordenador: Ordenar=clasificar información
• Ambos son correctos el ordenador se usa para 
ambas cosas…
• Programas distintos funcionalidad diferente
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Programas de computador
• Un programa es un conjunto de instrucciones.
• Hay varias formas de decirle al ordenador lo que debe 
hacer lenguaje
• Unos son más fáciles que otros:
– Ej: Lenguaje máquina (todo son números, bajo nivel)
1738 // carga en el acumulador la posición 738 de memoria
6739 // resta al acumulador la posición 739 de memoria
2740 // guarda el acumulador en la posición 740 de memoria
– EJ: C es un lenguaje más “humano” (mayor nivel)
#include <stdio.h>
int main()
{
int a, b, fact = 1;
printf("Escribe un numero para calcular su factorial\n");
scanf("%d", &a);
for (b = a; b > 1; b--){
fact = fact * b;
}
printf("El factorial de %d = %d\n", a, fact);
return 0;
}
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Compilador o intérprete
• La máquina sólo entiende los números (encima en binario…). Y 
encima cada ordenador usa instrucciones distintas
• Los lenguajes de mayor nivel funcionan en cualquier máquina
• Hay que “traducir” de un lenguaje a otro  se necesita un 
compilador o intérprete por cada máquina en la que se pueda 
ejecutar el programa.
– Compilador: Toma un programa escrito en un lenguaje y lo traduce a 
otro (normalmente máquina)
– Intérprete: Es un programa que va leyendo las instrucciones y 
ejecutándolas sobre la marcha (simulando un computador con 
instrucciones de más alto nivel)
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Evolución de los lenguajes
• Cada vez se hacen más cómodos para el ser 
humano
• Primera generación: Ensamblador
– Se traduce casi directamente a instrucciones de 
máquina
– Básicamente asigna nemotécnicos a los números
• Más fácil recordar mov (mover) que 0001 o add para 
sumar que 1111.
– También asigna nombres a las posiciones de 
memoria
• Más fácil recordar x que la posición 174587 de la 
memoria.
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Ejemplo ensamblador
1. .model small
2. .stack
3. .data
4. valor db ?
5. .code
6. .startup
7. mov ah, 01h ;Leer carácter desde el teclado
8. int 21h ;Leer primer carácter
9. sub al, 30h ;Restar 30H (48Dec) para obtener el número
10. mov valor, al ;Guardar en variable valor
11. mov ah, 01h ;Leer carácter desde el teclado
12. int 21h ;Leer el segundo carácter
13. sub al, 30h ;Restar 30H (48Dec) para obtener segundo valor
14. add al, valor ;Realizar la suma de los dos valores
15. mov dl, al ;Poner en dl el número a imprimir
16. add dl, 30h ;Agregar 30 (48Dec) para obtener el carácter
17. mov ah, 02h ;Función para imprimir un carácter en pantalla
18. int 21h
19. .exit
20. end
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Segunda generación
• Durante los años 50
• Se crean elemento abstractos (no dependen de la 
máquina concreta)
– Variables
– Listas
– Estructuras
• EJ: FORTRAN, COBOL, ALGOL y BASIC.
• Simplificaron mucho el desarrollo
• Tenían muchos GOTO (equivalente a los saltos 
jmp del ensamblador) código espagueti, se 
necesitaba más orden
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Tercera generación
• 60-70: Lenguajes que se usan en la actualidad
• Usan programación estructurada (bucles, 
selección… los veremos luego)
• El programa es más legible de arriba hacia 
abajo (Sin saltos espaqueti)
• PASCAL, MODULA-2, ADA y C.
• Más tarde aparecen la programación 
orientada a objetos con C++, SMALLTALK, Java 
(80 y 90) 
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Cuarta generación
• Lenguajes orientados para aplicaciones 
concretas
• NATURAL, SQL y PROLOG
• Mayor nivel pero menor flexibilidad
• Algunos no son de propósito general
– No se puede hacer cualquier aplicación con ellos
– Son buenos para tareas concretas ej SQL para 
leer/escribir en bases de datos
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
IDE
• Para hacer un programa hay que:
– Editar el código: el texto que escribe el programador)
– Compilarlo (o llamar al intérprete para que lo ejecute)
– Montar el programa: uniéndolo con otros archivos y elementos 
externos, librerías…
– Depurarlo.
• Hacerlo a mano es difícil, por eso hay entornos de 
desarrollo IDE. 
– El IDE tiene el editor, compilador/intérprete, montador y 
depurador integrados. EJ: Pulsas un botón y compila el 
programa.
– También añade un gestor de proyectos para 
agrupar/compilar/montar todos los ficheros de forma sencilla
– Suele ayudar resaltando la sintaxis y avisando de los errores 
sintácticos que encuentra.
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Ejemplo de IDE
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Programación estructurada
• Propósito: Organizar los programas para ser legibles y entendibles
• Descomposición de tareas: Se puede dividir el problema en partes, hacer 
un sub-programa que resuelva cada parte y usarlo para resolver el 
problema completo
• Tomamos como ejemplo el lenguaje C (pero se aplica a muchos otros)
• Introduce los siguientes elementos:
– Constantes (con o sin nombre)
– Expresiones aritméticas
– Tipos de datos
– Variables
– Comentarios
– Operaciones E/S
– Control de flujo
• Secuencia
• Selección 
• Condicional
• Iteración
• Supbrogramas
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Elementos
• Constantes
– valores enteros........... 2,23,456,-34,-34569,
– valores reales..............3.4, -1.2, -34356.454, 23.8E-12
– valores caracteres..........’f’ ’t’ ’l’ ’L’ ’?’ ’&’
– valores cadenas.............."hola, esto es una cadena”
• Expresiones aritméticas
– 2+5 (valor implícito 7)
– 2.5*2.0 (valor implícito 5.0)
– 5.0/2.0 (valor implícito 2.5)
– 7 DIV 2 (valor implícito 3)
– 7 % 2 (valor implícito 1)
– (5+4)*2 (valor implícito 18)
– 5+4+2+1 (valor implícito 12)
– 5+4+ (expresión incorrecta)
– El valor es implícito por que no se ve, para mostrarlo hay que usar E/S 
como printf("%d",2+5);
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Más elementos
• Tipos de datos
– Un dato es algo almacenado en una posición de la 
memoria, para usarlo el compilador tiene que 
saber
• Cuanto ocupa
• Qué representa (que operaciones se le pueden aplicar)
– Eso es el tipo de dato:
• 5, 4, -2 (valores del tipo int)
• 3.5, -2.08, (valores del tipo float)
• ’t’, ’p’ (valores del tipo char)
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Nombres
• Definiendo una constante con nombre
– const float Pi=3.141592;
– const float radio=34.5;
• Podemos hacer 2*Pi*radio:
– 2.0*Pi*radio  2.0*3.141592*34.5  valor 216,76984
• Variables
• int altura;
• float base;
• char inicial;
– A diferencia de las constantes se pueden cambiar
• altura=12;
• base=23.5;
• inicial=’R’;
– OJO el = es una asignación no una ecuación, si pones:
• X=3; A X le asignas 3
• X=X+1; suma 1 a lo que valiera X y lo guarda en X (osea asigna 4 a X)
Fundamentos de la Informática Dictino Chaos GarcíaTema4: Programación
Ejemplo completo y comentado
/* esto es un comentario */
const Pi=3.141592; /*declaración de constante Pi*/
const radio=3.0; /*déclaration de la constante 
radio*/
int area; /*declaración de la variable área*/
area=Pi*radio*radio; /*asignación a la variable 
área*/
• El compilador ignora todo lo que hay entre /**/ o lo que 
resta de línea después de //
• Los comentarios ayudan a entender el cogido (pero 
tampoco hay que abusar…)
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Entrada/Salida
• Hacer cálculos está bien, pero ¿Cómo introduzco los datos y obtengo los 
resultados? E/S
• Salida: printf
– printf(" Valor entero, %d en una cadena ", 77);
– Se pasa una cadena de texto con el formato y los argumentos que 
queremos imprimir (%)
– %d se reemplaza por el parámetro que se pasa al final considerado como un 
número decimal (d) y se imprime. En este caso se imprime Valor entero, 
77 en una cadena 
• Entrada scanf
float dato;
int area;
char inicial;
printf("así se leen del teclado un valores");
scanf("%f", &dato);
scanf("%d", &area);
scanf("%c", &inicial);
Dependiendo del tipo de dato se pone una letra distinta tras el % (Igual que con 
printf) y se indica la dirección donde hay que dejar el dato por eso va antes el &
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Flujo de un programa
• Un programa no siempre se ejecuta en 
secuencia
– Si no siempre haría lo mismo
• Los bloques de instrucciones (acciones) del 
programa pueden ejecutarse por un camino u 
otro “flujo” dependiendo de una condición
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Tipos de flujo
• Secuencia (lo normal), 
se hace A y luego B.
• Basta con escribir A 
primero y B después.
• Es lo que hemos hecho 
siempre hasta ahora
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Selección
• Para seleccionar se necesita una condición
• Instrucciones condicionales
– Su valor es cierto o falso (1 o 0 o si/no)
• 5>4 (valor implícito cierto) 
• 4>5 (valor implícito falso)
• 5>=4 (valor implícito cierto) 
• 5<=4 (valor implícito falso)
• 5==5 (valor implícito cierto) 
• 5!=4 (valor implícito cierto)
• 5>4 && 4>2 (Conjunción lógica, cierto)
• 5>4 || 4<2 (Disyunción lógica, cierto)
• !(5>4 && 4>2) (Negación lógica, valor implícito falso)
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Condición If-else
if (condicion)
{ /* acciones 1 a realizar en 
caso de que la condición sea 
cierta */}
else
{ /* acciones 2 y 3 a 
realizar en caso de que la 
condición sea falsa */}
• Else es opcional y 
• Los bloques de 
instrucciones se 
delimitan con {}
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Ejemplos if-else
int main()
{
int valorA,valorB,maximo;
valorA=3; 
valorB=4; 
if(valorA>valorB)
{
maximo=valorA;
}
else
{
maximo=valorB;
}
printf("el maximo es %d",maximo);
}
El programa “se lee” así
• Si (if) valorA es mayor que valorB
entonces el máximo es el valorA
• Si no (else) máximo es el valorB
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Ejemplos if-else
int main()
{
int valorA,valorB,maximo;
valorA=3; 
valorB=4; 
if(valorA>valorB)
{
maximo=valorA;
}
else
{
maximo=valorB;
}
printf("el maximo es %d",maximo);
}
“Identar”: alinear los bloques de código con espacios
en blanco no es necesario, pero ayuda a leer el programa 
El programa “se lee” así
• Si (if) valorA es mayor que valorB
entonces el máximo es el valorA
• Si no (else) máximo es el valorB
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Iteración
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Iteración
• ¿Cómo hago una tarea repetitiva?
– Usando una iteración
while (condicion)
{ /* acciones a realizar mientras la 
condición sea cierta */
}
• Para que funcione bien
– La condición ha de ser cierta al 
principio
– La condición ha de ser falsa alguna 
vez
• En caso contrario no acaba (como el 
día de la marmota)  bucle infinito
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Ejemplo
• Imprimir todos los números del uno al 100
– Solución “tonta”
printf("%d\n",1);  \n es un salto de línea
printf("%d\n",2);
… ya me he cansado…
Printf("%d\n",100)
• Mejor usar un bucle
int main()
{
int contador;
contador=1;
while(contador<=100)
{
printf("%d\n",contador);
contador=contador+1;
}
}
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Estructuras anidadas
• ¿Por que no poner una estructura dentro de 
otra?
• Suena exótico pero es muy “normal”
while(contador<=100)
{
if (contador > 50) 
{
printf("%d\n",contador);
}
contador=contador+1;
}
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Supbrogramas
• La idea es “divide y 
vencerás”
– Para resolver un problema 
complejo se divide en tareas 
más simples (subprogramas)
– Se usan los subprogramas 
para hacer una tarea más 
compleja
– Ya hemos usado 
subprogramas, printf es un 
sumprograma, scanf otro, 
solo que no lo hemos escrito 
nosotros…
#include <iostream.h>
void imprimirdel_1_al_n(int veces)
{
int contador;
contador=1;
while(contador<=veces){
printf("%d\n",contador);
contador=contador+1;
}
}
int main()
{
imprimirdel_1_al_n(100);
imprimirdel_1_al_n(70);
imprimirdel_1_al_n(1000);
}
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Mis tipos de dato
• Puedo definir tipos para necesidades concretas
– Redefiniendo lo ya existente
typedef int MiTipoEntero;
MiTipoEntero contador, acumulador;
• Componiendo otros tipos (datos estructurados)
– Formación o array
typedef int tipovect[3]; 
tipovect vector={5,6,7};
Se accede con un índice 
vector[0]5,vector[1]6,vector[2]7
• O Con varios (matriz)
typedef float tipomat[100][100];
tipomat M1;
M1[23][45]=14.5;
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Más tipos de datos
• Registro (o estructura)
typedef struct tiporeg{
int a;
float b;
};
tiporeg R1;
• Acceso al campo del registro:
R1.a=7;
R1.b=12.3;
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Más tipos de datos
• Tabla: Array de estructuras
typedef struct tiporeg{
int a;
float b;
};
typedef tiporeg tipotabla[10];
• Para acceder a cada uno de los registros de la tabla se 
hará como con las formaciones, utilizando un índice y 
para acceder a los campos se usan los identificadores:
tipotabla tabla1;
tabla1[2].a=12;
tabla1[2].b=34.5;
• Hay muchas más combinaciones posibles…
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Programación orientada a objetos
• La idea es asociar (automáticamente) los tipos 
de datos con las operaciones sobre ellos, 
definiendo los datos y los métodos 
conjuntamente.
• Clase=definición abstracta de datos y métodos 
que actúan sobre ellos (ej. clase de los coches)
• Objeto=Una instancia concreta de la clase (un 
seat 600 con matrícula 1454WM)
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Ejemplo clases (C++)
• Clase
• Atributos
• Métodos
– Declaración
– Implementación
– Invocación del método
• Ámbito (publico 
protegido o privado)
• Objeto
– Cada instancia de la clase
#include <stdio.h>
class punto{
public:
int coordenadax,coordenaday,coordenadaz;
void EstablecerValor(int dx,int dy,int dz);
void MostrarValor();
}
void punto::EstablecerValor(int dx,int dy,int dz){
coordenadax=dx;
coordenaday=dy;
coordenadaz=dz;
}
void punto::MostrarValor(){
printf( " la coordenadas del punto son 
(%d,%d,%d) “ coordenadax,coordenaday, coordenadaz);
}
int main() {
punto p1,p2;
p1.EstablecerValor(4,5,5);
p2.EstablecerValor(3,7,2);
p2.MostrarValor();
p1.MostrarValor();
return 0;
}
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Ejemplo clases (C++)
• Clase
• Atributos
• Métodos– Declaración
– Implementación
– Invocación del método
• Ámbito (publico 
protegido o privado)
• Objeto
– Cada instancia de la clase
#include <stdio.h>
class punto{
public:
int coordenadax,coordenaday,coordenadaz;
void EstablecerValor(int dx,int dy,int dz);
void MostrarValor();
}
void punto::EstablecerValor(int dx,int dy,int dz){
coordenadax=dx;
coordenaday=dy;
coordenadaz=dz;
}
void punto::MostrarValor(){
printf( " la coordenadas del punto son 
(%d,%d,%d) “ coordenadax,coordenaday, coordenadaz);
}
int main() {
punto p1,p2;
p1.EstablecerValor(4,5,5);
p2.EstablecerValor(3,7,2);
p2.MostrarValor();
p1.MostrarValor();
return 0;
}
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Ejemplo clases (C++)
• Clase
• Atributos
• Métodos
– Declaración
– Implementación
– Invocación del método
• Ámbito (publico 
protegido o privado)
• Objeto
– Cada instancia de la clase
#include <stdio.h>
class punto{
public:
int coordenadax,coordenaday,coordenadaz;
void EstablecerValor(int dx,int dy,int dz);
void MostrarValor();
}
void punto::EstablecerValor(int dx,int dy,int dz){
coordenadax=dx;
coordenaday=dy;
coordenadaz=dz;
}
void punto::MostrarValor(){
printf( " la coordenadas del punto son 
(%d,%d,%d) “ coordenadax,coordenaday, coordenadaz);
}
int main() {
punto p1,p2;
p1.EstablecerValor(4,5,5);
p2.EstablecerValor(3,7,2);
p2.MostrarValor();
p1.MostrarValor();
return 0;
}
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Ejemplo clases (C++)
• Clase
• Atributos
• Métodos
– Declaración
– Implementación
– Invocación del método
• Ámbito (publico 
protegido o privado)
• Objeto
– Cada instancia de la clase
#include <stdio.h>
class punto{
public:
int coordenadax,coordenaday,coordenadaz;
void EstablecerValor(int dx,int dy,int dz);
void MostrarValor();
}
void punto::EstablecerValor(int dx,int dy,int dz){
coordenadax=dx;
coordenaday=dy;
coordenadaz=dz;
}
void punto::MostrarValor(){
printf( " la coordenadas del punto son 
(%d,%d,%d) “ coordenadax,coordenaday, coordenadaz);
}
int main() {
punto p1,p2;
p1.EstablecerValor(4,5,5);
p2.EstablecerValor(3,7,2);
p2.MostrarValor();
p1.MostrarValor();
return 0;
}
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Ejemplo clases (C++)
• Clase
• Atributos
• Métodos
– Declaración
– Implementación
– Invocación del método
• Ámbito (publico 
protegido o privado)
• Objeto
– Cada instancia de la clase
#include <stdio.h>
class punto{
public:
int coordenadax,coordenaday,coordenadaz;
void EstablecerValor(int dx,int dy,int dz);
void MostrarValor();
}
void punto::EstablecerValor(int dx,int dy,int dz){
coordenadax=dx;
coordenaday=dy;
coordenadaz=dz;
}
void punto::MostrarValor(){
printf( " la coordenadas del punto son 
(%d,%d,%d) “ coordenadax,coordenaday, coordenadaz);
}
int main() {
punto p1,p2;
p1.EstablecerValor(4,5,5);
p2.EstablecerValor(3,7,2);
p2.MostrarValor();
p1.MostrarValor();
return 0;
}
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Ejemplo clases (C++)
• Clase
• Atributos
• Métodos
– Declaración
– Implementación
– Invocación del método
• Ámbito (publico 
protegido o privado)
• Objeto
– Cada instancia de la clase
#include <stdio.h>
class punto{
public:
int coordenadax,coordenaday,coordenadaz;
void EstablecerValor(int dx,int dy,int dz);
void MostrarValor();
}
void punto::EstablecerValor(int dx,int dy,int dz){
coordenadax=dx;
coordenaday=dy;
coordenadaz=dz;
}
void punto::MostrarValor(){
printf( " la coordenadas del punto son 
(%d,%d,%d) “ coordenadax,coordenaday, coordenadaz);
}
int main() {
punto p1,p2;
p1.EstablecerValor(4,5,5);
p2.EstablecerValor(3,7,2);
p2.MostrarValor();
p1.MostrarValor();
return 0;
}
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
La herencia
• Una cosa buena de un objeto es extender otro 
ya existente se hereda lo que el otro objeto 
tenía
class puntocaliente:public punto{
public:
int tempertura;
void EstablecerTemperatura(int temp);
void MostrarTemperatura()
}
int main(){
puntocaliente pc1;
pc1.EstablecerValor(1,4,25); //MÉTODO HEREDADO
pc1.EstablecerTemperatura(17);//MÉTODO PROPIO
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Desarrollo del SW
• El SW es algo importante
• Cuando crece hay que usar metodologías para poder 
mantenerlo bien
• El SW como cualquier producto tiene un ciclo de vida:
– Análisis ¿Qué quiero que haga?
– Diseño ¿Cómo lo voy a hacer?
– Codificación  A escribir
– Integración  unir todos los elementos (incluso con otro 
WS ya existente)
– Explotación (para algo lo hemos hecho…)
– Mantenimiento
• Es importante poner el análisis por escrito 
(especificación) si no el cliente siempre quiere más…
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
• ¿Os parece 
lógico esto?
• ¡¡¡Con el SW 
pasa!!!
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Para que no nos pase lo de antes
• Igual que una casa tiene planos el SW tiene 
documentos
– Requisitos (el papel que ponía “algo como marina 
D’Or” )
– Documento de diseño (el plano)
– Código fuente (el programa escrito)
– El sistema SW (lo que se ejecutará)
– Documentos de cambios (para el seguimiento de 
las modificaciones)
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Estado actual
• C Muy antiguo y permite el manejo de la 
memoria a bajo nivel (SO por ejemplo). Muy 
usado pero fácil tener errores
– Perdida de memoria, desbordamiento 
estructuras…
– “un gran poder exige una gran responsabilidad”
• C++ Añade orientación a objetos (bueno para 
estructurar proyectos grandes) Pero se sigue 
pudiendo programar “a la C”
• Java totalmente orientado a objetos. Usa 
una MV Código portable
Fundamentos de la Informática Dictino Chaos GarcíaTema 4: Programación
Más estado actual
• JavaScript (no tiene nada que ver con java)
– Interpretado por los navegadores
• C# Lenguaje para la máquina virtual .net como 
una mejora de C++
• Phython: Interpretado y busca la facilidad de 
lectura (ej: ideación obligatoria, no hay {})
• PHP: Se usa mucho en servidores web como 
lenguaje de script (generar páginas web 
dinámicas)
• Perl: Muy usado para análisis de textos (patrones, 
expresiones regulares…)
• Y mucho más….

Continuar navegando