¿Qué son los tipados?
Clase 4 de 21 • Curso Profesional de Python
Contenido del curso
Clase 4 de 21 • Curso Profesional de Python
Contenido del curso
Alfonso Morán
Reinaldo Mendoza
David Pedroza Segoviano
David Betancourt
Jose Manuel Rivas Márquez
Jonathan Steven Cardozo Toro
Kevin Mejia
Omar Rodríguez Aldama
Nicolas Von Muhlinen
Román Ripari
Gabriel Missael Barco
María Jimena Rodríguez Contreras
Carol Liliana Castañeda
Isay Humberto Lucas Hernandez
marco antonio
Alexander Moreno Córdoba
Miguel Angel Reyes Moreno
Mauricio Gonzalez Falcon
David Campos
Carlos Esteban Lara Gil
Daniel Alejandro Calderon Virgen
Reinaldo Mendoza
Carlos José Tun Pinzón
Emmanuel Corral Marco
Juan Pablo Cuenca Ludeña
Arturo Iván Chávez Gómez
Juan Pablo Cuenca Ludeña
Marcos Gomez
Sura Naileth Cedeño Lopez
Carlos Nassif Trejo Garcia
Mauricio Gonzalez Falcon
Sebastián Andrade
Pedro Alvarado Garcia
Olga Lucia Céspedes
Luis Dotto
Wilfred Vásquez
¿Qué son los tipados?
💻 Los tipados es una clasificación de los lenguajes de programación, tenemos cuatro tipos:
El tipado del lenguaje depende de cómo trata a los tipos de datos.
El tipado estático es el que levanta un error en el tiempo de compilación, ejemplo en JAVA:
String str = "Hello" // Variable tipo String str = 5 // ERROR: no se puede convertir un tipo de dato en otro de esta forma.
El tipado dinámico levantan el error en tiempo de ejecución, ejemplo en Python:
str = "Hello" # Variable tipo String str = 5 # La variable ahora es de tipo Entero, no hay error ## TIPADO FUERTE x = 1 y = "2" z = x + y # ERROR: no podemos hacer estas operaciones con tipos de datos distintos entre sí
El tipado débil es el que hace un cambio en un tipo de dato para poder operar con el, como lo hace JavaScript y PHP.
🐍 Python es un lenguaje de tipado 👾 Dinámico y 💪 Fuerte.
Excelente resumen
Que estrés que haya elegido la palabra str para definir su variable, se puede pero es una palabra reservada de python :x Buenos apuntes jeje
el mejor comentario LOL
Cuando dice que "El tipado dinámico es peligroso, y para poder atacar este peligro te invito a pasar a la siguiente clase" .
jajajaja 😂
jsjajajja
Mini resumen:
Estático →→ Detectan los errores en tiempo de compilación. No se ejecuta hasta corregir. Por ej, Java
Dinámico →→ Detectan el error en tiempo de ejecución. Nos dice el error cuando llega a la línea del código. Por ej, Python
Strong →→ Más severidad con los tipos de datos. Sumar un número + una letra arrojará error.
Weak →→ Menos severidad con los tipos de datos. Si quiero sumar número y letra, las concatenaría como strings. Castea tipos de datos automáticamente. Por ej, PHP
¿Qué son los tipados?
Tenemos tipos de datos primitivos (arreglos, números, strings, booleanos, etc). La manera en que un lenguaje trata a los tipos es el tipado. Tenemos 4 clasificaciones:
gracias
cómo se hacen estás tareas
Hola a todos, aquí un poco sobre la discusión de Strong static vs Weak static referente a C/C++.
Aquí :)
Static Typing
¿Qué son los tipados?
Un lenguaje va a tener un tipado diferente dependiendo de cómo trate a los tipos.
Estático:
// java String str = "hello"; str = 5; // Error
Dinámico:
# python str = "Hello" str = 5 # No hay problema :)
# python x = 1 y = "2" z = x + y # Error
// javascript const x = 1 const y = "2" const z = x + y // "12" - JS es raro 😅
<?php $str = 5 + "5"; //10 - PHP es raro 😅 (hace lo contrario a JS) ?>
Nota: El tipado dinámico es peligroso.
Buen resumen!
¿Qué son los tipados? (resumen)
Hay 4 clasificaciones
Estático, dinámico, débil y fuerte.
Un tipado entra en el concepto de tipo,datos primitivos: string, arreglos, booleanos números
Lenguajes de tipado estáticos
Son los que levantan los errores de tipos en tiempo de compilación.
Lenguaje de tipado dinámico
Levantan los errores en tiempos de ejecución. En Python el lenguaje es interpretado, por eso primero se pasa a bytecode(no se muestra el error de tipo) y luego cuando el lenguaje está funcioando es cuando lanza error
tipado fuerte vs débil
El lenguaje de tipado fuerte tratan con más severidad los errores de tipo mientras los de lenguaje débil son más flexibles
Yo empecé a programar en Java y siempre pensé que la programación era muy estricta por su tipo de tipado. Pero luego fui aprendiendo más y conociendo varias cosas curiosas y para mi gusto rara como por ejemplo en Android Studio hay componentes en los que no se le puede poner como texto un numero directamente, pero si le agregas una cadena vacía funciona, cuando aprendí eso me exploto la cabeza jaja ya que solía hacer un parseo antes. Ej :
int num = 16; TextView tv = findViewById(R.id.tv); tv.setText(num); // Daria un error ya que el método setText espera un String
pero si agregamos la cadena vacía, nos ahorramos la conversión
int num = 16; TextView tv = findViewById(R.id.tv); tv.setText(num+"");
Me gusta mas el estilo de java porque de esa manera se evitan algunas cosas raras que pueden pasar cuando el lenguaje decide que hacer con el tipo de la variable
¿Qué son los tipados?
Los tipados es una clasificación de los lenguajes de programación, tenemos cuatro tipos:
El tipado del lenguaje depende de cómo trata a los tipos de datos o datos primitivos (Números, Arreglos, Booleanos, Strings).
What are types?
A type is a classification of language. It refers how each language maganes the data type, like we saw in previous courses, integer, string, booleans.
Bellow the list of types:
Laguages Classification:
| Types | Languages |
|---|---|
| Strong-Static | Java, C# |
| Weak-Static | C, C++ |
| Weak-Dynamic | php, JS |
| Strong-Dynamic | Python, Ruby |
Mi resumen:
Qué buen aporte, ¿en dónde haces este tipo de apuntes?
Hola Arturo, en Notion (Esquema de Notas de Cornell)
Hola, alguien sabe si hay algún curso de Platzi, que profundice mas en el tema de los lenguajes de alto o bajo nivel., el tiempo de compilación, el tiempo de ejecución, si el lenguaje es statico o dinámico etc.
Hola :wave: puedes ver estos: Curso de Introducción al Desarrollo de Lenguajes de Programación Curso de Creación de Lenguajes de Programación: Intérpretes
¿Java no es interpretado tambien? Como tiene una maquina virtual "JVM"
El lenguaje Java es a la vez compilado e interpretado. Con el compilador se convierte el código fuente que reside en archivos cuya extensión es . java, a un conjunto de instrucciones que recibe el nombre de bytecodes que se guardan en un archivo cuya extensión es .
Tal como dices Java sí es un lenguaje interpretado debido a su maquina virtual, pero al traducir el código a un bytecode especial, también es compilado.
Al menos eso pude entender durante lo que investigue. Saludos!
Entonces puedo decir que un lenguaje es de tipado estatico o dinamico dependiendo de si pide declarar el tipo de dato de la variable al definirla o no, y en fuerte o debil dependiendo si el lenguaje mismo convierte un tipo de dato a otro para poder realizar una operacion que queremos realizar??
Sí, es una buena forma de clasificarlo, pero también hay más variables para tomar en cuenta. Como por ejemplo los errores, en un lenguaje dinámico los errores se muestran en tiempo de ejecución. En un lenguaje estático los errores se muestran en tiempo de compilación.
Este curso esta muy interesante pero se supone que en el resumen del curso interpreta que de lo que se va a hablar es sobre python avanzado pero se esta enfocando mas en la teoria y estructura de python sin demostrar temas avanzados del lenguaje.
Tipos de tipados: