La MAGIA de los COMPILADORES

Sdílet
Vložit
  • čas přidán 3. 08. 2022
  • 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 CZcams: / bettatech
    ► Tienda Teespring: teespring.com/stores/bettatec...
    ⭐️ AFILIADOS ⭐️
    🎵 TODA la música es de EpidemicSound:
    ► www.epidemicsound.com/referra...
    ✉️ 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
  • Věda a technologie

Komentáře • 59

  • @BettaTech
    @BettaTech  Před rokem +21

    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

  • @pixelatedlava
    @pixelatedlava Před 8 měsíci +5

    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.

  • @Insanee12
    @Insanee12 Před rokem +3

    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.

  • @Arnau478
    @Arnau478 Před rokem +27

    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.

    • @Arnau478
      @Arnau478 Před rokem +2

      @XiKLeR no había oído hablar de esa charla... Luego igual me la veo, gracias!

    • @AragamiMusic
      @AragamiMusic Před rokem +2

      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?

    • @Arnau478
      @Arnau478 Před rokem

      @@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 ;)

  • @maty3536
    @maty3536 Před rokem +13

    Me encanta! lamentablemente es dificil encontrar contenido tan técnico en español asi que se agradece!

  • @1985stout
    @1985stout Před rokem +5

    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!!!!

  • @nachoraymond9510
    @nachoraymond9510 Před rokem +10

    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

  • @GeekCyan
    @GeekCyan Před rokem +2

    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 💻

  • @santiagomiguelriera8708
    @santiagomiguelriera8708 Před rokem +2

    El libro del minuto 6:52 es Compiladores: principios, técnicas y herramientas (2da edición) 😀

  • @FarchopCode
    @FarchopCode Před rokem +1

    Desempolvando los apuntes de la carrera ehh xDD

  • @anomd3v
    @anomd3v Před rokem +1

    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.

  • @CppExpedition
    @CppExpedition Před rokem +1

    La industria del software es aceleradísima,
    seguir a Betatech me tranquiliza!

  • @loborguez5800
    @loborguez5800 Před rokem +1

    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.

  • @moisesguerrero741
    @moisesguerrero741 Před rokem +1

    Fabián Romero. El concepto de recursividad esta implícito en el diccionario de gramática.

  • @christianrk304
    @christianrk304 Před rokem +2

    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.

  • @DiegoSanchez-dq5nr
    @DiegoSanchez-dq5nr Před rokem +3

    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.

  • @fabianandrespachecozelada4208

    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

  • @Ing.taniaRguez
    @Ing.taniaRguez Před rokem +2

    Estaria genial que explicaras el lenguaje de ensamblador... Me cuesta mucho entenderlo. ¡Un saludo y gran video!

  • @fabianromero1660
    @fabianromero1660 Před rokem +1

    gracias por este video, esta precioso y ademas comentas algo que nunca habia ni escuchado, qué interesante!

  • @kevinraulpozuelosestrada8624

    Exactamente estoy trabajando en un proyecto de la universidad, un interprete de Rust xd
    Con python y PLY

  • @javierquirozgalindo664
    @javierquirozgalindo664 Před rokem +1

    excelente video muchas gracias!! Sería genial un video "haciendo un nano lenguaje de programación"

  • @Jessie_A2
    @Jessie_A2 Před rokem +2

    Este video , me acaba de llegar en el mejor momento 🤗 gracias!!

  • @germancocca958
    @germancocca958 Před rokem +1

    Excelente contenido!

  • @gaboloquendero
    @gaboloquendero Před rokem +2

    Para los que dicen que nunca usaran los algoritmos de árbol de las entrevistas, aquí está su respuesta 🤣

  • @josuegalarza4092
    @josuegalarza4092 Před rokem +1

    Disculpen me pueden ayudar con la diferencia entre ING en informática y ING en software para saber cuál estudiar en la universidad

  • @imaginecodes7321
    @imaginecodes7321 Před rokem +1

    Ahora entiendo el por qué de la alopecia 😟

  • @Zumito
    @Zumito Před rokem +9

    Si no es muy complicado ni te toma mucho tiempo, y si quieres claro, podrias hacer una serie de videos creando tu propio lenguaje

    • @mrloldev5243
      @mrloldev5243 Před rokem

      Parecido a javascript

    • @JonGonzalezGarrido
      @JonGonzalezGarrido Před rokem +7

      Es un dolor. Yo tuve que hacerlo para la asignatura compiladores y es tan doloroso como orgulloso te sientes tras hacerlo jejd

    • @Nakahara04
      @Nakahara04 Před rokem

      @@JonGonzalezGarrido ¿Usaste Ensamblador para hacer el lenguaje?

    • @JonGonzalezGarrido
      @JonGonzalezGarrido Před rokem +3

      @@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

    • @Nakahara04
      @Nakahara04 Před rokem

      @@JonGonzalezGarrido Si lo pudieras compartir te lo agradecería mucho hermano

  • @Nakahara04
    @Nakahara04 Před rokem +2

    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!

  • @eduardoherraiz1560
    @eduardoherraiz1560 Před rokem +1

    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?

  • @mautrunk
    @mautrunk Před rokem +1

    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.

    • @BettaTech
      @BettaTech  Před rokem

      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

  • @aliberspilberg1
    @aliberspilberg1 Před rokem +1

    Un tutorial para crear mi propio lenguaje de programación desde cero a experto. Gracias....

  • @alex.graywolf
    @alex.graywolf Před rokem +1

    Me acabo de regresar a la universidad cuando te hacían hacer eso con C

  • @anacastillo9632
    @anacastillo9632 Před rokem +1

    Dijo AST y me acordé de Programación ATS :')

  • @Nyko-op6ph
    @Nyko-op6ph Před rokem +1

    Para cuando el curso de type script

  • @acm8082
    @acm8082 Před rokem +5

    En qué programa se hacen los programas para programar programas? 🤩

    • @jjcchh
      @jjcchh Před rokem

      en cualquier lenguaje, por ejemplo , si no me engaño el php fue hecho en C

    • @acm8082
      @acm8082 Před rokem

      @@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.

  • @hugoandres5480
    @hugoandres5480 Před rokem +4

    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

    • @BettaTech
      @BettaTech  Před rokem +3

      Para crear compiladores/interpretes, mirate antlr4!

    • @hugoandres5480
      @hugoandres5480 Před rokem

      @@BettaTech muchas gracias,ídolo, un saludo.

  • @maximilianojavierjulio5148
    @maximilianojavierjulio5148 Před měsícem

    ne explota la cabezash

  • @luiggymacias5735
    @luiggymacias5735 Před rokem +1

    Te han dicho que te pareces a vsauce?

  • @maelhagel
    @maelhagel Před rokem

    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

  • @Chixpy
    @Chixpy Před rokem

    👍👍 por no pronunciar "Noam Chomsky" en todo el vídeo

  • @eduardotort5715
    @eduardotort5715 Před rokem

    Hola