SlideShare una empresa de Scribd logo
INTRODUCCIÓN
En sus inicios las computadoras interpretaban solo instrucciones
en un lenguaje específico, del más bajo nivel, conocido como código
máquina, siendo éste excesivamente complicado para programar. De
hecho, solo consiste en cadenas de números 1 y 0 (sistema binario). Para
facilitar el trabajo de programación, los primeros científicos, que trabajaban
en el área, decidieron reemplazar las instrucciones, secuencias de unos y
ceros, por palabras o abreviaturas provenientes del inglés; las codificaron y
crearon así un lenguaje de mayor nivel, que se conoce como Assembly o
lenguaje ensamblador.
Acosta Atahualpa
Ole-Johan Dahl fue un científico de la computación noruego considerado uno
de los padres del lenguaje de programación Simula, y de la programación orientada a
objetos, junto con Kristen Nygaard.
Produjo las primeras ideas sobre programación orientada a objetos en los
años 1960 en el Centro Noruego de Cómputo (NCC), como parte de los lenguajes de
programación para simulación Simula I.
Dahl y Nygaard fueron los primeros en desarrollar los conceptos de objeto,
clase, herencia, creación dinámica de objetos, etc., todos importantes aspectos del
paradigma de la POO.
HISTORIA DE LA PROGRAMACION
Acosta Atahualpa
Programación es el proceso a través del cual un programa o
aplicación informática es desarrollado.
Se conoce como programación en ciencias de la computación a
los pasos que se abordan para crear el código fuente de un programa
informático. De acuerdo con estos pasos, el código se escribe, se prueba y
se perfecciona.
¿QUÉ ES LA PROGRAMACION?
Acosta Atahualpa
Es un lenguaje diseñado para describir el conjunto de acciones
consecutivas que un equipo debe ejecutar. Por lo tanto, un lenguaje de
programación es un modo práctico para que los seres humanos puedan dar
instrucciones a un equipo.
Los lenguajes de programación son aquellos elementos dentro de la
informática que nos permiten crear programas mediante un conjunto de
instrucciones, operadores y reglas de sintaxis; que pone a disposición del
programador para que este pueda comunicarse con los dispositivos hardware y
software existentes.
¿QUÉ ES UN LENGUAJE DE PROGRAMACION?
Acosta Atahualpa
Los datos son el soporte de la información, y la información es
el corazón de cualquier programa.
¿ QUE SON DATOS?
Acosta Atahualpa
LOS DATOS EN LOS LENGUAJES DE PROGRAMACIÓN
Los lenguajes de programación utilizan las variables como
contenedores de datos, para manipularlos y almacenarlos en una amplia
variedad de maneras. Está claro que los datos tienen distintos tipos. Los
distintos lenguajes de programación tienen en cuenta esta particularidad
de los datos, y por lo tanto, todos tienen alguna forma de distinción entre
los tipos de datos.
LENGUAJES DE PROGRAMACION
De maquina
Bajo nivel: ensamblador
De alto nivel: C, Java, C++, Python
Acosta Atahualpa
Un sistema de tipo dota a los lenguajes de la capacidad de
restringir los objetos que pueden ser asignados a las variables esto
permite una cierta potencia a la hora de detectar errores y mejorar la
comprensión del código.
El objetivo de un sistema de tipos es asegurar estáticamente, es
decir antes de la ejecución del programa que ciertos errores nunca
ocurren en tiempo de ejecución. ¿Cuáles son estos errores? Típicamente,
se trata de errores “simples” como aplicar una operación primitiva a
valores inadecuados, como lo es multiplicar dos valores que no son
numéricos.
De maquina
SISTEMAS DE TIPOS
Carmona Ramón
De maquina
SISTEMAS DE TIPOS
Carmona Ramón
fuertes
debiles
tipos
Un lenguaje de programación es fuertemente tipado si no
se permiten violaciones de los tipos de datos, es decir, dado el valor
de una variable de un tipo concreto, no se puede usar como si fuera
de otro tipo distinto a menos que se haga una conversión.
LENGUAJES TIPADOS
Carmona Ramón
Se puede considerar que el lenguaje está muy
fuertemente tipado si sólo permitiese llamadas o
invocaciones a esa función o método pasándole como
parámetro un dato.
Los lenguajes de programación no tipados o débilmente
tipados no controlan los tipos de las variables que declaran, de este
modo, es posible usar variables de cualquier tipo en un mismo
escenario. Por ejemplo, una función puede recibir como parámetro
un valor entero, cadena de caracteres, flotante, etc.
LENGUAJES NO TIPADOS
Carmona Ramón
Un lenguaje débilmente tipado, en general,
permite conversiones implícitas inseguras. Es su
filosofía... que el programador se encargue de
programar, y el lenguaje se encargará de hacer todo lo
posible para que el programa ejecute, liberando al
programador de llevar también la cuenta de posibles
conversiones de tipos.
TIPOS FUERTES VS TIPOS DEBILES
Tipo débil Tipo fuerte
•Permite que un valor de un tipo
pueda ser tratado como de otro
tipo
•Permite un gran número de
conversaciones de tipo
implícitas.
• Puede ocultar errores de
programación.
•Cualquier intento de llevar una
operación sobre el tipo
equivocado, causa un error
•No permite un gran número de
conversaciones
Ejemplo: Javascript Ejemplo: C
Carmona Ramón
TIPOS FUERTES VS TIPOS DEBILES
Carmona Ramón
Lenguaje fuerteme
tipado
Lenguaje debilmente tipado
float Calculo(float
ingreso)
{
ingreso = ingreso +
0.75;
return ingreso;
}
a = 2 //a es un entero
cad = "prueba de texto" //cad es una cadena de
caracteres
resultado = cad + a //resultado es una cadena de
caracteres (las conversiones dependen del
lenguaje)
CONCLUSIÓN
Carmona Ramón
Un gran numero de lengujaes modernos otorgan alguna forma de
manejo de tipos.
Los lenguajes que contiene tipos fuertes se le llama tipo seguro.
Los lenguajes tipados por lo general son relacionado con los lenguajes
estáticos y los lenguajes no tipados con los lenguajes dinámicos
Todos lenguaje de programación define ciertas variables
GRACIAS
POR SU
ATENCION

Más contenido relacionado

La actualidad más candente

Lenguajes De Programacion
Lenguajes De ProgramacionLenguajes De Programacion
Lenguajes De Programacion
carlos
 
Programación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación EstructuradaProgramación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación Estructurada
Michael de la Cruz
 
Tabla comparativa de paradigmas de programacion
Tabla comparativa de paradigmas de programacionTabla comparativa de paradigmas de programacion
Tabla comparativa de paradigmas de programacion
MarioS1093
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
May Ibarra
 
Actividad 3 cuadro comparativo de lenguajes
Actividad 3 cuadro comparativo de lenguajesActividad 3 cuadro comparativo de lenguajes
Actividad 3 cuadro comparativo de lenguajes
Sergio Muñiz
 

La actualidad más candente (20)

Lenguajes De Programacion
Lenguajes De ProgramacionLenguajes De Programacion
Lenguajes De Programacion
 
Paradigmas de programacion
Paradigmas de programacionParadigmas de programacion
Paradigmas de programacion
 
Programación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación EstructuradaProgramación Orientada a Objetos vs Programación Estructurada
Programación Orientada a Objetos vs Programación Estructurada
 
Tabla comparativa de paradigmas de programacion
Tabla comparativa de paradigmas de programacionTabla comparativa de paradigmas de programacion
Tabla comparativa de paradigmas de programacion
 
Metodologia Incremental
Metodologia IncrementalMetodologia Incremental
Metodologia Incremental
 
Paradigmas de la programación
Paradigmas de la programación Paradigmas de la programación
Paradigmas de la programación
 
Ensamblador y lenguaje c
Ensamblador y lenguaje cEnsamblador y lenguaje c
Ensamblador y lenguaje c
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
Exposición de Lenguajes de Programación
Exposición de Lenguajes de ProgramaciónExposición de Lenguajes de Programación
Exposición de Lenguajes de Programación
 
ENSAYO SOBRE EL LENGUAJE C
ENSAYO SOBRE EL LENGUAJE C ENSAYO SOBRE EL LENGUAJE C
ENSAYO SOBRE EL LENGUAJE C
 
Herramientas case
Herramientas caseHerramientas case
Herramientas case
 
Tabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetosTabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetos
 
Paradigmas de programación
Paradigmas de programaciónParadigmas de programación
Paradigmas de programación
 
Actividad 3 cuadro comparativo de lenguajes
Actividad 3 cuadro comparativo de lenguajesActividad 3 cuadro comparativo de lenguajes
Actividad 3 cuadro comparativo de lenguajes
 
Lenguajes de programación.ppt
Lenguajes de programación.pptLenguajes de programación.ppt
Lenguajes de programación.ppt
 
Metodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliudMetodologia xp cortesserranoeliud
Metodologia xp cortesserranoeliud
 
03 java poo_parte_2
03 java poo_parte_203 java poo_parte_2
03 java poo_parte_2
 
Calidad De Software
Calidad De SoftwareCalidad De Software
Calidad De Software
 
Compiladores
CompiladoresCompiladores
Compiladores
 

Similar a Contratos fuertes y debiles presentacion final

Cuestionario2
Cuestionario2Cuestionario2
Cuestionario2
hoppii
 
Lenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolonLenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolon
alejandritasalva
 
Babel, el lenguaje de la tecnologia
Babel, el lenguaje de la tecnologiaBabel, el lenguaje de la tecnologia
Babel, el lenguaje de la tecnologia
IvnMariano
 

Similar a Contratos fuertes y debiles presentacion final (20)

Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
TIPOS DE LENGUAJES DE PROGRAMACION
TIPOS DE LENGUAJES DE PROGRAMACIONTIPOS DE LENGUAJES DE PROGRAMACION
TIPOS DE LENGUAJES DE PROGRAMACION
 
Introducción a lenguajes de programación
Introducción a lenguajes de programaciónIntroducción a lenguajes de programación
Introducción a lenguajes de programación
 
Practica1 lenguajes de programacion. clasificacion.
Practica1 lenguajes de programacion. clasificacion.Practica1 lenguajes de programacion. clasificacion.
Practica1 lenguajes de programacion. clasificacion.
 
Tipos de lenguaje de programacion
Tipos de lenguaje de programacionTipos de lenguaje de programacion
Tipos de lenguaje de programacion
 
LENGUAJES DE PROGRAMACIÓN
LENGUAJES DE PROGRAMACIÓN LENGUAJES DE PROGRAMACIÓN
LENGUAJES DE PROGRAMACIÓN
 
Cuestionario2
Cuestionario2Cuestionario2
Cuestionario2
 
Cuestionario2
Cuestionario2Cuestionario2
Cuestionario2
 
Lenguajes de-programacion-clase
Lenguajes de-programacion-claseLenguajes de-programacion-clase
Lenguajes de-programacion-clase
 
Lenguajes de-programacion-clase
Lenguajes de-programacion-claseLenguajes de-programacion-clase
Lenguajes de-programacion-clase
 
Tipos de lenguaje
Tipos de lenguajeTipos de lenguaje
Tipos de lenguaje
 
Programacion evolucion
Programacion evolucionProgramacion evolucion
Programacion evolucion
 
Herramientas computacionales
Herramientas computacionales Herramientas computacionales
Herramientas computacionales
 
CLASIFICACION DE LENGUAJES DE PROGRAMACION
CLASIFICACION DE LENGUAJES DE PROGRAMACION CLASIFICACION DE LENGUAJES DE PROGRAMACION
CLASIFICACION DE LENGUAJES DE PROGRAMACION
 
Evolución de la Programación
Evolución de la ProgramaciónEvolución de la Programación
Evolución de la Programación
 
Lenguaje de programacion fernando hernandez
Lenguaje de programacion fernando hernandezLenguaje de programacion fernando hernandez
Lenguaje de programacion fernando hernandez
 
Lenguajes de programación.
Lenguajes de programación.Lenguajes de programación.
Lenguajes de programación.
 
Lenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolonLenguajes de programacion alejandra salvador bartolon
Lenguajes de programacion alejandra salvador bartolon
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Babel, el lenguaje de la tecnologia
Babel, el lenguaje de la tecnologiaBabel, el lenguaje de la tecnologia
Babel, el lenguaje de la tecnologia
 

Más de Atahualpa Acosta (7)

Equivalencia de automatas finitos determinista
Equivalencia de automatas finitos deterministaEquivalencia de automatas finitos determinista
Equivalencia de automatas finitos determinista
 
Demostraciones inductivas
Demostraciones inductivasDemostraciones inductivas
Demostraciones inductivas
 
Cualidades y elementos de un buen patron de diseño
Cualidades y elementos de un buen patron de diseñoCualidades y elementos de un buen patron de diseño
Cualidades y elementos de un buen patron de diseño
 
Plantear agentes a traves de la regla de reaccion condicion modelo 2
Plantear agentes a traves de la regla de reaccion   condicion modelo 2Plantear agentes a traves de la regla de reaccion   condicion modelo 2
Plantear agentes a traves de la regla de reaccion condicion modelo 2
 
Testeo unitario
Testeo unitarioTesteo unitario
Testeo unitario
 
Atahualpa work
Atahualpa workAtahualpa work
Atahualpa work
 
Logica computacional
Logica computacional Logica computacional
Logica computacional
 

Último

Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
sandradianelly
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
Martín Ramírez
 
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
MaribelGaitanRamosRa
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Demetrio Ccesa Rayme
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Monseespinoza6
 
diagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestasdiagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestas
ansomora123
 

Último (20)

Escrito-Contestacion-Demanda-Filiacion.pdf
Escrito-Contestacion-Demanda-Filiacion.pdfEscrito-Contestacion-Demanda-Filiacion.pdf
Escrito-Contestacion-Demanda-Filiacion.pdf
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
 
PROYECTO INTEGRADOR ARCHIDUQUE. presentacion
PROYECTO INTEGRADOR ARCHIDUQUE. presentacionPROYECTO INTEGRADOR ARCHIDUQUE. presentacion
PROYECTO INTEGRADOR ARCHIDUQUE. presentacion
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
 
Material-de-Apoyo-Escuela-Sabatica-02-2-2024.pptx.ppt
Material-de-Apoyo-Escuela-Sabatica-02-2-2024.pptx.pptMaterial-de-Apoyo-Escuela-Sabatica-02-2-2024.pptx.ppt
Material-de-Apoyo-Escuela-Sabatica-02-2-2024.pptx.ppt
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 
6.Deícticos Dos_Enfermería_EspanolAcademico
6.Deícticos Dos_Enfermería_EspanolAcademico6.Deícticos Dos_Enfermería_EspanolAcademico
6.Deícticos Dos_Enfermería_EspanolAcademico
 
Proceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de PamplonaProceso de admisiones en escuelas infantiles de Pamplona
Proceso de admisiones en escuelas infantiles de Pamplona
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
 
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
 
5.Deicticos Uno_Enfermería_EspanolAcademico
5.Deicticos Uno_Enfermería_EspanolAcademico5.Deicticos Uno_Enfermería_EspanolAcademico
5.Deicticos Uno_Enfermería_EspanolAcademico
 
Diagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de BarbacoasDiagnostico del corregimiento de Junin del municipio de Barbacoas
Diagnostico del corregimiento de Junin del municipio de Barbacoas
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
 
32 LECTURAS CORTAS PARA NIÑOS.pdf · versión 1.pdf
32 LECTURAS CORTAS PARA NIÑOS.pdf · versión 1.pdf32 LECTURAS CORTAS PARA NIÑOS.pdf · versión 1.pdf
32 LECTURAS CORTAS PARA NIÑOS.pdf · versión 1.pdf
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
 
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCIONCAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
 
2º conclusiones descriptivas educacion fisica (1).docx
2º conclusiones descriptivas educacion fisica (1).docx2º conclusiones descriptivas educacion fisica (1).docx
2º conclusiones descriptivas educacion fisica (1).docx
 
3.Conectores uno_Enfermería_EspAcademico
3.Conectores uno_Enfermería_EspAcademico3.Conectores uno_Enfermería_EspAcademico
3.Conectores uno_Enfermería_EspAcademico
 
diagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestasdiagnostico final (1). analisis - encuestas
diagnostico final (1). analisis - encuestas
 
Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...
Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...
Presentación Propuesta de Proyecto Social Colorido y Juvenil Multicolor y Neg...
 

Contratos fuertes y debiles presentacion final

  • 1.
  • 2.
  • 3. INTRODUCCIÓN En sus inicios las computadoras interpretaban solo instrucciones en un lenguaje específico, del más bajo nivel, conocido como código máquina, siendo éste excesivamente complicado para programar. De hecho, solo consiste en cadenas de números 1 y 0 (sistema binario). Para facilitar el trabajo de programación, los primeros científicos, que trabajaban en el área, decidieron reemplazar las instrucciones, secuencias de unos y ceros, por palabras o abreviaturas provenientes del inglés; las codificaron y crearon así un lenguaje de mayor nivel, que se conoce como Assembly o lenguaje ensamblador. Acosta Atahualpa
  • 4. Ole-Johan Dahl fue un científico de la computación noruego considerado uno de los padres del lenguaje de programación Simula, y de la programación orientada a objetos, junto con Kristen Nygaard. Produjo las primeras ideas sobre programación orientada a objetos en los años 1960 en el Centro Noruego de Cómputo (NCC), como parte de los lenguajes de programación para simulación Simula I. Dahl y Nygaard fueron los primeros en desarrollar los conceptos de objeto, clase, herencia, creación dinámica de objetos, etc., todos importantes aspectos del paradigma de la POO. HISTORIA DE LA PROGRAMACION Acosta Atahualpa
  • 5. Programación es el proceso a través del cual un programa o aplicación informática es desarrollado. Se conoce como programación en ciencias de la computación a los pasos que se abordan para crear el código fuente de un programa informático. De acuerdo con estos pasos, el código se escribe, se prueba y se perfecciona. ¿QUÉ ES LA PROGRAMACION? Acosta Atahualpa
  • 6. Es un lenguaje diseñado para describir el conjunto de acciones consecutivas que un equipo debe ejecutar. Por lo tanto, un lenguaje de programación es un modo práctico para que los seres humanos puedan dar instrucciones a un equipo. Los lenguajes de programación son aquellos elementos dentro de la informática que nos permiten crear programas mediante un conjunto de instrucciones, operadores y reglas de sintaxis; que pone a disposición del programador para que este pueda comunicarse con los dispositivos hardware y software existentes. ¿QUÉ ES UN LENGUAJE DE PROGRAMACION? Acosta Atahualpa
  • 7. Los datos son el soporte de la información, y la información es el corazón de cualquier programa. ¿ QUE SON DATOS? Acosta Atahualpa LOS DATOS EN LOS LENGUAJES DE PROGRAMACIÓN Los lenguajes de programación utilizan las variables como contenedores de datos, para manipularlos y almacenarlos en una amplia variedad de maneras. Está claro que los datos tienen distintos tipos. Los distintos lenguajes de programación tienen en cuenta esta particularidad de los datos, y por lo tanto, todos tienen alguna forma de distinción entre los tipos de datos.
  • 8. LENGUAJES DE PROGRAMACION De maquina Bajo nivel: ensamblador De alto nivel: C, Java, C++, Python Acosta Atahualpa
  • 9. Un sistema de tipo dota a los lenguajes de la capacidad de restringir los objetos que pueden ser asignados a las variables esto permite una cierta potencia a la hora de detectar errores y mejorar la comprensión del código. El objetivo de un sistema de tipos es asegurar estáticamente, es decir antes de la ejecución del programa que ciertos errores nunca ocurren en tiempo de ejecución. ¿Cuáles son estos errores? Típicamente, se trata de errores “simples” como aplicar una operación primitiva a valores inadecuados, como lo es multiplicar dos valores que no son numéricos. De maquina SISTEMAS DE TIPOS Carmona Ramón
  • 10. De maquina SISTEMAS DE TIPOS Carmona Ramón fuertes debiles tipos
  • 11. Un lenguaje de programación es fuertemente tipado si no se permiten violaciones de los tipos de datos, es decir, dado el valor de una variable de un tipo concreto, no se puede usar como si fuera de otro tipo distinto a menos que se haga una conversión. LENGUAJES TIPADOS Carmona Ramón Se puede considerar que el lenguaje está muy fuertemente tipado si sólo permitiese llamadas o invocaciones a esa función o método pasándole como parámetro un dato.
  • 12. Los lenguajes de programación no tipados o débilmente tipados no controlan los tipos de las variables que declaran, de este modo, es posible usar variables de cualquier tipo en un mismo escenario. Por ejemplo, una función puede recibir como parámetro un valor entero, cadena de caracteres, flotante, etc. LENGUAJES NO TIPADOS Carmona Ramón Un lenguaje débilmente tipado, en general, permite conversiones implícitas inseguras. Es su filosofía... que el programador se encargue de programar, y el lenguaje se encargará de hacer todo lo posible para que el programa ejecute, liberando al programador de llevar también la cuenta de posibles conversiones de tipos.
  • 13. TIPOS FUERTES VS TIPOS DEBILES Tipo débil Tipo fuerte •Permite que un valor de un tipo pueda ser tratado como de otro tipo •Permite un gran número de conversaciones de tipo implícitas. • Puede ocultar errores de programación. •Cualquier intento de llevar una operación sobre el tipo equivocado, causa un error •No permite un gran número de conversaciones Ejemplo: Javascript Ejemplo: C Carmona Ramón
  • 14. TIPOS FUERTES VS TIPOS DEBILES Carmona Ramón Lenguaje fuerteme tipado Lenguaje debilmente tipado float Calculo(float ingreso) { ingreso = ingreso + 0.75; return ingreso; } a = 2 //a es un entero cad = "prueba de texto" //cad es una cadena de caracteres resultado = cad + a //resultado es una cadena de caracteres (las conversiones dependen del lenguaje)
  • 15. CONCLUSIÓN Carmona Ramón Un gran numero de lengujaes modernos otorgan alguna forma de manejo de tipos. Los lenguajes que contiene tipos fuertes se le llama tipo seguro. Los lenguajes tipados por lo general son relacionado con los lenguajes estáticos y los lenguajes no tipados con los lenguajes dinámicos Todos lenguaje de programación define ciertas variables