La MAGIA de los COMPILADORES
HTML-код
- Опубликовано: 21 сен 2024
- Conviértete en miembro de este canal para disfrutar de ventajas:
/ @bettatech
👾 Redes sociales 👾
► Twitter: / bettatech
► Instagram: / betta_tech
► Canal Secundario: / @forkdebettatech
► Discord: / discord
👨🏼🏫 MIS CURSOS 👨🏼🏫
👽 Curso de iniciación a la programación con JavaScript:
► bit.ly/3kr4bTc
👽 Curso de desarrollo backend con NodeJS y Express:
► bit.ly/3n4sirS
👕 MERCHANDISING DEL CANAL:
► Tienda RUclips: / bettatech
► Tienda Teespring: teespring.com/...
⭐️ AFILIADOS ⭐️
🎵 TODA la música es de EpidemicSound:
► www.epidemicso...
✉️ CONTACTO PROFESIONAL:
► Respuesta no garantizada:
bettatechyt@gmail.com
📚 LIBROS 📚
Design Patterns
► amzn.to/39XuQlq
Head First Design Patterns
► amzn.to/2uq6XUq
Refactoring
► amzn.to/2SQnf2c
Clean Architecture
► amzn.to/3bZVonJ
Clean Code
► amzn.to/32WVKq3
Introduction to Algorithms
► amzn.to/34SyVFP
Cracking the Coding Interview
► amzn.to/2QkdwC6
Si os interesa profundizar algo más y ver herramientas para crear lenguajes, echarle un ojo a Antlr4, que compila gramáticas incontextuales a programas que navegan su AST! github.com/antlr/antlr4
Llevo dos materias que son sobre crear un compilador.
En la primera materia se hace la gramática, analizador léxico y analizador sintáctico.
En la segunda materia se hace el analizador semántico, generador de código ensamblador y generador de código máquina.
Estas dos materias han hecho que les tenga mucho respeto a las personas que desarrollan los lenguajes de programación.
Estoy estudiando las materias de los primeros años de ing en sistemas, muchas veces estudio cosas que no tengo ni idea para que me van a servir ni si va a servir. Ver tu video, ayuda a darle propósito a ese conocimiento.
Me encanta! lamentablemente es dificil encontrar contenido tan técnico en español asi que se agradece!
Muchas gracias!!!!
Hay muchos recursos buenos ahi fuera para seguir adelante (crafting interpreters, compiler explorer, etc.). Si de verdad os gusta este campo meteros mas a fondo. Y agradeced a bettatech de haberos introducido al tema XD. De todas formas, yo llevo un par de años ya metido en este campo y he de decir que cada dia me parece mas interesante.
@XiKLeR no había oído hablar de esa charla... Luego igual me la veo, gracias!
hola amigo, tengo un proyecto personal (pero también serio) de crear un lenguaje de programación y necesito saber cómo empezar. Tengo conocimientos de python y C. Pero digamos que no encuentro un "manual" para aprender a hacerlo, sólo encuentro puros consejos aislados como conocer sobre compiladores, árboles, parsers, etc. Pero no una guía de aprendizaje como sí existe como por ejemplo para aprender C o Python. Qué me recomiendas?
@@AragamiMusic A veces puede ser complicado saber por donde empezar. El primer paso es diseñar el lenguaje. Es decir, elaborar una sintaxis y asegurarte de que no sea ambigua; decidir si será interpretado, JIT o compilado a nativo, etc. ; decidir si será de tipado estático (te lo recomiendo si es tu primer lenguaje), dinámico (mas dificil de implementar pero no mucho) o híbrido (no recomendado para principiantes, porque tiene lo de ambas partes y tendrás que escribir mucho). Hay muchas cosas que decidir, y te recomiendo que pienses bien todo esto antes de empezar a implementarlo. ¿Tendrá statements de alto nivel o será todo encapsulado en funciones? Te diría incluso que este es el paso mas complicado pero importante.
Luego, también te recomiendo que tengas un poco de experiencia en organización de proyectos. Va a ser un proyecto grande, que puede perfectamente llegar a 10.000 líneas de código. Si no esta bien organizado desde el principio, bajará tu rendimiento escribiendo código.
De todas formas una respuesta en un comentario en YT no te puede ayudar mucho. Mejor hablame por alguno de estos sitios y yo te voy ayudando si quieres:
Matrix: arnau478:matrix.org
Twitter (MD): @Arnau478
Y mucha suerte ;)
Muy interesante! Es un tema que siempre me ha llamado la atención pero no sabía como investigarlo. Creo que este video es un gran punto de entrada
Uy gracias, justamente estoy metido en esto de los compiladores y análisis léxico. Gracias por hacer un poquito de luz en el ámbito de la computación como siempre como divulgador!!!!
Me recuerda la materia que llevé en la uni sobre lenguajes formales y autómatas y la verdad es que es de las materias más complejas a nivel analítico que considero, gracias por compartir tu conocimiento 💻
Tuve un ramo llamado teoría de la computación, dónde aprendimos de gramática, autómatas de pila, máquinas de Turing, etc. Lo cual es la base para los lenguajes de programación
Recuerdo que llevé este tema en el curso de "Teoría de lenguajes de programación y métodos de traducción" donde usamos flex y Bison. Fue interesante el curso.
Excelente explicación, sería interesante un ejemplo en ANTLR o similar de los gramar, lexer, parser, etc... Muchas veces se puede utilizar este tipo de soluciones para intérpretes de algo dentro de nuestras soluciones.
ahora veo el mundo de otra manera. ultimamente me ha llamado la atencion aprender todo lo que hay bajo nivel. que no es magia, es tecnologia. porque eso se le agradece que hiciera mas videos asi. ayuda mucho a abrir el contexto. aunque uno sea programador debe entender todo esto para mejorar.
gracias por este video, esta precioso y ademas comentas algo que nunca habia ni escuchado, qué interesante!
La industria del software es aceleradísima,
seguir a Betatech me tranquiliza!
Estaria genial que explicaras el lenguaje de ensamblador... Me cuesta mucho entenderlo. ¡Un saludo y gran video!
Exactamente estoy trabajando en un proyecto de la universidad, un interprete de Rust xd
Con python y PLY
Buenas! Podrías hacer un tutorial para programar los pagos a plazos de PayPal. Al parecer permite al vendedor recibir el pago completo y el comprador lo va pagando a plazos.
Fabián Romero. El concepto de recursividad esta implícito en el diccionario de gramática.
El libro del minuto 6:52 es Compiladores: principios, técnicas y herramientas (2da edición) 😀
Desempolvando los apuntes de la carrera ehh xDD
Este video , me acaba de llegar en el mejor momento 🤗 gracias!!
excelente video muchas gracias!! Sería genial un video "haciendo un nano lenguaje de programación"
Disculpen me pueden ayudar con la diferencia entre ING en informática y ING en software para saber cuál estudiar en la universidad
Entendí lo que es un compliador e interpretador. Pero falta el otro traductor que es el ensamblador "assembler".
Sería muy bueno detallar las diferencias con los 3.
El ensamblador como tal es un lenguaje (existen varios lenguajes ensamblador, depende de la máquina específica). Entonces, el compilador lo que hace es traducir el código de alto nivel a código ensamblador que la CPU es capaz de ejecutar
Para los que dicen que nunca usaran los algoritmos de árbol de las entrevistas, aquí está su respuesta 🤣
Faltan menos de 20 días para entrar a la Uni y este 7mo semestre me ensañarán a crear un lenguaje de programación xd
Gracias por el video master!
Si no es muy complicado ni te toma mucho tiempo, y si quieres claro, podrias hacer una serie de videos creando tu propio lenguaje
Parecido a javascript
Es un dolor. Yo tuve que hacerlo para la asignatura compiladores y es tan doloroso como orgulloso te sientes tras hacerlo jejd
@@JonGonzalezGarrido ¿Usaste Ensamblador para hacer el lenguaje?
@@Nakahara04 usábamos Java creo recordar para hacer el compilador. Las reglas del lenguaje estaban descritas por el enunciado de la práctica, tendría que recuperarlo y subirlo a git
@@JonGonzalezGarrido Si lo pudieras compartir te lo agradecería mucho hermano
Ahora entiendo el por qué de la alopecia 😟
Oí que se podía compilar un programa de Windows a Android, pero no he podido comprobar si las apps de pago o gratuitas son fiables las que prometen hacerlo automáticamente, que opinas?
Excelente contenido!
Un tutorial para crear mi propio lenguaje de programación desde cero a experto. Gracias....
En qué programa se hacen los programas para programar programas? 🤩
en cualquier lenguaje, por ejemplo , si no me engaño el php fue hecho en C
@@jjcchh creo que cuando dicen eso, es porque el nuevo lenguaje está basado en la estructura interna del anterior, ya que si se crean nuevas funciones directas de otro lenguaje, en segundo sería más lento.
Hola, saludos desde Bolivia, una pregunta, como puedo introducirme mas a profundidad, para conocer y crear compiladores e interpretes, recomiendas algun tema o fuente bibliografica, yo deseo aprender mas sobre el interprete de Python y el compilador de c++. Me encanta tu contenido y tus cursos, saludos
Para crear compiladores/interpretes, mirate antlr4!
@@BettaTech muchas gracias,ídolo, un saludo.
Me acabo de regresar a la universidad cuando te hacían hacer eso con C
Para cuando el curso de type script
Dijo AST y me acordé de Programación ATS :')
ne explota la cabezash
Te han dicho que te pareces a vsauce?
Jajaja si!!
Un lenguaje de programación nace cuando un programador decide que ninguno de los 700 que existen lo satisface y decide crear uno propio con juegos de azar y mujerzuelas
👍👍 por no pronunciar "Noam Chomsky" en todo el vídeo
Hola
Hola!!!