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

Комментарии • 59

  • @BettaTech
    @BettaTech  2 года назад +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 10 месяцев назад +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 2 года назад +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.

  • @maty3536
    @maty3536 2 года назад +13

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

    • @BettaTech
      @BettaTech  2 года назад +1

      Muchas gracias!!!!

  • @Arnau478
    @Arnau478 2 года назад +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 2 года назад +2

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

    • @AragamiMusic
      @AragamiMusic 2 года назад +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 2 года назад

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

  • @nachoraymond9510
    @nachoraymond9510 2 года назад +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

  • @1985stout
    @1985stout 2 года назад +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!!!!

  • @GeekCyan
    @GeekCyan 2 года назад +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 💻

  • @fabianandrespachecozelada4208
    @fabianandrespachecozelada4208 2 года назад +1

    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

  • @christianrk304
    @christianrk304 2 года назад +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 2 года назад +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.

  • @anomd3v
    @anomd3v Год назад +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.

  • @fabianromero1660
    @fabianromero1660 2 года назад +1

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

  • @CppExpedition
    @CppExpedition 2 года назад +1

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

  • @Ing.taniaRguez
    @Ing.taniaRguez 2 года назад +2

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

  • @kevinraulpozuelosestrada8624
    @kevinraulpozuelosestrada8624 2 года назад +1

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

  • @loborguez5800
    @loborguez5800 2 года назад +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 2 года назад +1

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

  • @santiagomiguelriera8708
    @santiagomiguelriera8708 2 года назад +2

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

  • @FarchopCode
    @FarchopCode Год назад +1

    Desempolvando los apuntes de la carrera ehh xDD

  • @Jessie_A2
    @Jessie_A2 2 года назад +2

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

  • @javierquirozgalindo664
    @javierquirozgalindo664 2 года назад +1

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

  • @josuegalarza4092
    @josuegalarza4092 2 года назад +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

  • @mautrunk
    @mautrunk Год назад +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  Год назад

      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

  • @gaboloquendero
    @gaboloquendero 2 года назад +2

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

  • @Nakahara04
    @Nakahara04 2 года назад +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!

  • @Zumito
    @Zumito 2 года назад +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 2 года назад

      Parecido a javascript

    • @JonGonzalezGarrido
      @JonGonzalezGarrido 2 года назад +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 2 года назад

      @@JonGonzalezGarrido ¿Usaste Ensamblador para hacer el lenguaje?

    • @JonGonzalezGarrido
      @JonGonzalezGarrido 2 года назад +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 2 года назад

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

  • @imaginecodes7321
    @imaginecodes7321 2 года назад +1

    Ahora entiendo el por qué de la alopecia 😟

  • @eduardoherraiz1560
    @eduardoherraiz1560 Год назад +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?

  • @germancocca958
    @germancocca958 2 года назад +1

    Excelente contenido!

  • @aliberspilberg1
    @aliberspilberg1 2 года назад +1

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

  • @acm8082
    @acm8082 2 года назад +5

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

    • @jjcchh
      @jjcchh 2 года назад

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

    • @acm8082
      @acm8082 2 года назад

      @@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 2 года назад +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  2 года назад +3

      Para crear compiladores/interpretes, mirate antlr4!

    • @hugoandres5480
      @hugoandres5480 2 года назад

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

  • @alex.graywolf
    @alex.graywolf 2 года назад +1

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

  • @Nyko-op6ph
    @Nyko-op6ph 2 года назад +1

    Para cuando el curso de type script

  • @anacastillo9632
    @anacastillo9632 2 года назад +1

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

  • @maximilianojavierjulio5148
    @maximilianojavierjulio5148 3 месяца назад

    ne explota la cabezash

  • @luiggymacias5735
    @luiggymacias5735 2 года назад +1

    Te han dicho que te pareces a vsauce?

  • @maelhagel
    @maelhagel 2 года назад

    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 2 года назад

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

  • @eduardotort5715
    @eduardotort5715 2 года назад

    Hola