Rust vs C: Efecto de Fuego | El reto de la programación gráfica a mano

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ธ.ค. 2024

ความคิดเห็น • 76

  • @aesthezel
    @aesthezel ปีที่แล้ว +6

    Raylib es una tremenda libreria, me alegra que lo hayan usado en esta sesión. Muy recomendable para empezar todo lo que han hablado.

  • @alfredo1964
    @alfredo1964 ปีที่แล้ว +4

    Maginifico video. Me ha encantado Rust, es como el dicho de carpinteria, mide dos veces y corta solo una

  • @Sapop3rro
    @Sapop3rro ปีที่แล้ว +1

    Que buen lugar he encontrado! Muy bueno el video.

  • @felixinit
    @felixinit ปีที่แล้ว +2

    Excelente metodología de enseñanza! Me encanta! Aprendo dos lenguajes al mismo tiempo, es lo máximo!
    Excelente las explicaciones y el detalle en dejar claro cada proceso y lo que ocurre de fondo en cada momento!
    Felicidades, Suscrito!

  • @andresmata8859
    @andresmata8859 ปีที่แล้ว +42

    Aún recuerdo con mis 15 añitos intentando entender este efecto siguiendo un tutorial del grupo "Asphyxia" que explicaba cómo hacerlo para MSDOS usando Turbo Pascal y rutinas en ensamblador para dibujar directamente en la VGA y manejar la paleta de colores. No entendía mucho lo que hacía, pero cuando vi el fuego en mi pantalla de tubo de 14 pulgadas me quedé con la boca abierta. Qué época los 90s...

    • @juanvicentefernandez3220
      @juanvicentefernandez3220 ปีที่แล้ว +6

      Creo recordar ese tutorial aunque creo que el efecto original fue creado por Javier Arévalo (JARE), incorporado en la demo de su grupo Iguana llamada Inconexia quemando las letras de los créditos, cuyo código, completo en ensamblador, con los modos X de la VGA es toda una delicia (aún se puede encontrar por ahí en internet)

    • @carlosalejandropedrozarive2601
      @carlosalejandropedrozarive2601 ปีที่แล้ว +3

      Esos tiempos de turbo C y como habilitar el modo grafico vga y los tutoriales de como dibujar lineas pixel a pixel era casi como magia, una vez encontré un ejemplo pero de agua, donde hacías click se hacían ondas de agua y podías arrastrarlo.

  • @matihaspert4040
    @matihaspert4040 ปีที่แล้ว +2

    Grande profe, explicas de una manera muy correcta..

  • @logiquesystems
    @logiquesystems ปีที่แล้ว +14

    Ojala pronto hagas un curso de Rust 😊; fue una muy buena comparativa entre C y Rust, gracias.👍

  • @tomjx9
    @tomjx9 ปีที่แล้ว +3

    este tipo de videos está genial e interesante, hace tiempo que no me topaba con un contenido así. Muy completo además en cada detalle. Excelente!

  • @jordi9679
    @jordi9679 ปีที่แล้ว +2

    Genial directo y muy didáctico, como siempre. Muchas gracias a los dos!

  • @theirsoft
    @theirsoft ปีที่แล้ว +2

    Muy buen video, he aprendido de Rust en este video mas que en otros que son mas específicos de Rust. Gracias.

  • @juandanilochamorroperez5558
    @juandanilochamorroperez5558 ปีที่แล้ว +4

    Este directo me gustó mucho porque estuvieron explicando todo lo que hacía y también por fin se configurar cmake a un nivel básico

  • @joseeduardovasquez5064
    @joseeduardovasquez5064 ปีที่แล้ว +2

    en el minuto 3:02:17 debio inicializar el arreglo con valores en 0 unsigned char fire_buffer[400 * 300] = {}, por eso cuando rellena solo una fila del arreglo las demas filas tambien tienen valores y eso hace que se pinten en pantalla otros pixeles

  • @Kytk7
    @Kytk7 ปีที่แล้ว +4

    Interesante crear estos enfrentamietos ❤ de lenguajes de programación

  • @dayum8057
    @dayum8057 ปีที่แล้ว +1

    Maravillosa explicación gracias 😌

  • @s3pt1m0d1a
    @s3pt1m0d1a ปีที่แล้ว +2

    Me a encantado este episodio. Algo se aprende día a día.

  • @miguelsarmiento9268
    @miguelsarmiento9268 ปีที่แล้ว +2

    grandes muchachos son increibles ambos por su dedicación.

  • @immersion27
    @immersion27 ปีที่แล้ว +4

    Excelente directo. Da gusto aprender Rust con este tipo de ejercicios. Saludos!

  • @alexiarodriguez1170
    @alexiarodriguez1170 ปีที่แล้ว +1

    "Ahí hay un pixel rojo" JAJAJAJAJA épico xD Muy genial.

  • @danielalbertobrunoreyna12
    @danielalbertobrunoreyna12 ปีที่แล้ว +4

    Profesor, para cuando su curso de RUST :) lo espero con ansias..

  • @michaelespinoza4562
    @michaelespinoza4562 ปีที่แล้ว +12

    Esto va a ser epico papus. No le voy a mentir, soy tremendo fan de C, ojala se muestre que con un diseño minimalista puedes crear maravillas.

  • @Javierdecaracas
    @Javierdecaracas ปีที่แล้ว +2

    profesor eres un crack

  • @germanEa
    @germanEa ปีที่แล้ว +2

    Gracias por los vídeos
    Aunque no me dedico a la programación de vídeos juego eh aprendido mucho y sacado varias ideas.
    Espero mas vídeos de c y assembler. Particular mente C dado que C23 esta a la vuelta de la esquina.
    No se si estoy viejo o que pero los lenguajes modernos cambian demasiado rápido y lo que tenes andando un año ya no funciona al otro. Esto solo sirve para las empresas que no pagan por soft estable sino por tener a alguien sentado escribiendo linea si saber.....
    Ya me vi todos los videos y seguramente los vuelva a muchas veces mas.
    Saludos desde la Argentina

  • @sergio.sabater
    @sergio.sabater ปีที่แล้ว +5

    Genial comparativa! Estaría muy bien hacer más VS como por ejemplo Java vs Kotlin, Javascript vs PHP, Rust vs Python... etc

  • @davidmanuelmamanih.6027
    @davidmanuelmamanih.6027 ปีที่แล้ว +3

    Tremendo biceps el de fran

  • @conpdepab
    @conpdepab ปีที่แล้ว +1

    Que chulo Rust, es como poner todas las buenas práticas que intenamos seguir en C/C++ e incluirlas en el lenguaje.
    Además, aprender comparando, paso a paso con un viejo (C)onocido como es C, pues se agradece.
    Para el Team C, lo que hace Héctor con el cast de C: `(Color){.r=255}` ¿Sería un equivalente de C de un cast a una lista inicializadora (de C++)?
    Y para el siguiente vídeo, aunque no llevarlo al extremo, molaría ver comparativas de tiempos un poco, por ver cuanta es la diferancia entre usar un lenguaje u otro, aunque no se optimice el código hasta el extremo, que esto siempre gusta, y pica a la gente.
    Muy buen directo a los dos, un saludito.

  • @Uri.Sab.
    @Uri.Sab. ปีที่แล้ว +1

    Como alguien que aprendió a programar en C y que se dedica a IT es un placer ver este tipo de videos 🙌✨

  • @NicolasLamilla-uu3ox
    @NicolasLamilla-uu3ox ปีที่แล้ว +1

    En C++ siempre que se necesite programar una aplicación gráfica se requiere una librería gráfica, como se puede por ejemplo manipular pixels sin usar una. en el efecto fuego solo se manipulan pixeles, no quiero depender de librerías externas si se puede hacer directamente en C++, por lo menos como en este caso en aplicaciones sencillas.

    • @ProfesorRetroman
      @ProfesorRetroman  ปีที่แล้ว +1

      Las librerías no son código mágico: en general son código hecho también en C++. La librería no se requiere para pintar píxeles, sino para que nos dé ya hecho el trabajo de bajo nivel, que suele consistir en este caso en hablar con el Sistema Operativo y con la API gráfica. Pero nada te impide a ti hacer un programa que le pida al Sistema Operativo que abra una ventana y cree un contexto OpenGL en la GPU en el que tú escribas píxeles. La librería sólo es código de otra persona que hace esto: lo mismo lo puedes hacer tú. Por ejemplo, en la serie de vídeos de 2019, utilizo tinyPTC que es una librería supersencilla que tiene nada más lo necesario para abrir la ventana y actualizar los pixeles. Esa librería, que está enlazada en mis videos, son unos pocos cientos de líneas en C. Sólo tienes que abrir los ficheros y leer el código y verás que no es nada especial: sólo pedirle al SO que cree una ventana, crear un contexto y actualizarlo. No hay nada que hagan las librerías que tú no puedas hacer: no son mágicas, sólo son código hecho por otra persona.

  • @hugoandres5480
    @hugoandres5480 ปีที่แล้ว

    Profe excelente video, vale oro, Que libros recomendable para aprender Rust, saludos desde Bolivia.

  • @Metaconta
    @Metaconta ปีที่แล้ว +4

    En resumen. C/C++ por delante del Rust. Mi preferido sigue siendo C#, impresionante.

  • @andresmata8859
    @andresmata8859 ปีที่แล้ว +2

    ¿Dónde/cómo podemos compartir nuestras versiones? De momento tengo completado el efecto tal y como lo habéis enseñado tanto en C como en Rust. El próximo finde a ver si me pongo con diferentes variaciones.

    • @ProfesorRetroman
      @ProfesorRetroman  ปีที่แล้ว +1

      Pues fácilmente podéis poner un comentario aquí en TH-cam con el link, y así lo puede ver todo el mundo. Creo que es lo más sencillo, aunque si preferís otras opciones siempre podéis proponer y lo vemos :)

  • @dariohimo
    @dariohimo ปีที่แล้ว +2

    que distribución utilizan de gnu-linux.?

    • @ProfesorRetroman
      @ProfesorRetroman  ปีที่แล้ว +1

      Utilizamos Linux Manjaro, que es una distribución de Arch Linux pero fácil de administrar. En la descripción del video tienes tanto los detalles concretos de la distribución, como los links por si quieres descargarla. Además, tienes un enlace a la Máquina Virtual de VirtualBox que usamos en el directo. Así, si quieres reproducir exactamente lo que hacemos, puedes hacerlo en las mismas condiciones exactas :)

  • @hugoandres5480
    @hugoandres5480 ปีที่แล้ว

    Cuántos lenguajes de programación sabe profesor??? Algún consejo para aprender varios lenguajes?

  • @antoniosobrino2687
    @antoniosobrino2687 ปีที่แล้ว +4

    Y yo programando en Java, que envidia me dais. ¿Algún consejo para salir Del Pozo?

    • @ProfesorRetroman
      @ProfesorRetroman  ปีที่แล้ว +6

      Claro. Primero busca un trabajo que te gustaría hacer. Asegúrate de que te gustaría de verdad. Después ponte en contacto con las personas que lo están haciendo, la o las empresas o instituciones donde te gustaría estar. Conoce a las personas y el trabajo e interesante por qué habilidades hacen falta. Después traza un plan para obtener las habilidades y ponte a aprender. Mantén el contacto con las personas y entidades donde querrías estar. Colabora con ellos si hay oportunidades, aprovechando para aprender. Si tienes claro lo que hace falta aprender y te pones con ello, antes de lo que creas podrás estar en condiciones de trabajar en lo que te gusta. Si además estableces relaciones con las personas que lo hacen, será más fácil después que te conozcan y acepten.
      Por supuesto, todo esto requiere esfuerzo y dedicación pero, si de verdad has identificado bien lo que quieres, y te motiva hacerlo, no veo por qué no ibas a poder :).
      Ánimo y suerte

  • @hawkbirdtree3660
    @hawkbirdtree3660 ปีที่แล้ว

    Gracias por esto. No pude encontrar tutoriales en ningum sitio.

  • @jpick8245
    @jpick8245 ปีที่แล้ว

    Hola Profesor! Entré en el mundo de la programación a traves de un grado superior de Diseño web pero desde que descubrí tu canal me siento muy atraido por C, pero por lo que veo en las listas del canal me parece que son temas muy avanzados. Habia pensado en empezar con un libro introductorio de C de la serie headfirst. Aunque quedaria muy agradecido si pudiera nombrarme algun otro libro o recurso para aprender los entresijos de C. Gracias de antemano!

  • @MarcosFelipe-lz5xv
    @MarcosFelipe-lz5xv ปีที่แล้ว +1

    Me quedé al video, entre otros, debido a como explica

  • @Henry.38
    @Henry.38 ปีที่แล้ว +1

    Cuando me imagino un senior me imagino este tipo de personas.

  • @crisswalt2
    @crisswalt2 ปีที่แล้ว +2

    😅"problemas entre la pantalla y la silla". Yo lo conocía como error 600 (entre el teclado y el asiento) 🤣

  • @hugoandres5480
    @hugoandres5480 ปีที่แล้ว +1

    Esos musculos profe jaja

    • @Eiravxe
      @Eiravxe ปีที่แล้ว

      😳

  • @msodev
    @msodev ปีที่แล้ว +1

    No sabía que Paco León programaba en C.

  • @xxjim091xx
    @xxjim091xx ปีที่แล้ว

    y ahi esta el problema de no tener dos expertos, puts es para imprimir solo cadenas de caracteres(strings)y además automáticamente le da un salto de lineal al final y printf es para dar formato a lo que vas a imprimir y te toca darle
    si quieres un salto de linea pero ademas de eso puedes imprimir variables etc... en pocas palabras tienes mas control y mas opciones con printf.

  • @Anonymous-nn5wn
    @Anonymous-nn5wn ปีที่แล้ว

    Seria de interes hacer el mismo reto pero con librwrias graficas propias de rust en vez de utilizar una de C, porque la gente que no entiende vera que en rust pra hacer lo mismo que em C te complicas mucho mas pero el único motivo de hacer todo lo que haces es pprque estas utilizando una libreria en C.

  • @ejmolinac
    @ejmolinac ปีที่แล้ว +21

    No conocía Rust y, mientras avanzaba el vídeo, pensaba "es un coñazo, pero parece ideal para programar orientado a no meter la pata y se pierde mucho menos tiempo con ese coñazo de reforzarlo todo que luego en lenguajes mucho más flexibles depurando dónde has metido la pata". Y, al final, ha quedado un ejemplo práctico de esto mismo. Pero vaya turra de lenguaje, yo lo hubiera llamado TOC.

  • @MrGneige
    @MrGneige ปีที่แล้ว +1

    Bueno, pero en sistemas embebidos como un medio de pago, el debuguer es imposible, es necesario si o si, usar un logger, el cual capturas desde un syslog. Al menos que sepas de alguna alternativa.

    • @ProfesorRetroman
      @ProfesorRetroman  ปีที่แล้ว +1

      Claro, cada sistema tiene sus particularidades. En el vídeo no tenemos en cuenta sistema embebidos. De ser así, casi tendríamos que hacer otra serie de vídeos totalmente distinta :).
      Aunque nosotros no vayamos a tener en cuenta los sistemas embebidos, es una muy buena puntualización. Gracias :).

    • @MrGneige
      @MrGneige ปีที่แล้ว

      @@ProfesorRetroman dale, estaría interesante esa clase de video, me toca tener que trabajar con los medios de pagos, usar C, y usar un logger para tracer los errores y es un cancer.

  • @edw1998emr
    @edw1998emr 11 หลายเดือนก่อน +1

    pero quién ganó? rust o c?

    • @ProfesorRetroman
      @ProfesorRetroman  8 หลายเดือนก่อน

      Diría que ganamos todos, con lo mucho que aprendimos sobre ambos lenguajes ;).

  • @Oscar-td5sl
    @Oscar-td5sl ปีที่แล้ว +2

    Tomando este video como tutorial he intentado(con alguna fortuna ) replicar este efecto en c#/MonoGame. Me ha resultado muy útil para entender un poco mas esto de la programación(aunque sea en otro lenguaje).
    th-cam.com/users/shortsmTsqADkIWkc

    • @ProfesorRetroman
      @ProfesorRetroman  ปีที่แล้ว

      ¿Puede que el short al que enlazas esté privado? De hecho, parece un enlace a youtube studio, no al vídeo. Da error al intentar verlo y pide autenticación si intentas verlo en una ventana de incógnito.

    • @Oscar-td5sl
      @Oscar-td5sl ปีที่แล้ว +1

      @@ProfesorRetroman Hola Fran. Estoy buscando el fallo, pero no consigo dar con el. El video está como público y el enlace que he dejado es el que me da TH-cam. De echo, me he enviado a mis mismo el enlace por WhatsApp y me lleva al video. ¿Puede ser que aún TH-cam no diera el visto bueno al video cuando accediste a el?

    • @ProfesorRetroman
      @ProfesorRetroman  ปีที่แล้ว

      @@Oscar-td5sl ahora sí funciona. Antes no iba, pero ahora va sin problema 🙂

  • @mikehurtado4772
    @mikehurtado4772 ปีที่แล้ว +1

    Team JS

    • @ProfesorRetroman
      @ProfesorRetroman  ปีที่แล้ว

      En el mundo de los lenguajes, siempre hay para todos los gustos :)

  • @vulcanobyte
    @vulcanobyte ปีที่แล้ว

    The Primeagen

  • @xxjim091xx
    @xxjim091xx ปีที่แล้ว

    una convolución no es un filtro y no esta cerca de serlo te aseguro que si ves como se hace una convolución con dos ecuaciones de transferencia discretizadas y te darás cuenta que no es un filtro XD

  • @hugoandres5480
    @hugoandres5480 10 หลายเดือนก่อน +1

    Mi opinion sincera, rust es un lenguaje moderno, con la capacidad de c, pero aun asi rust depende de c, por lo que en usabilidad y eficiencia rust, pero en todo lo demas sigue en pie c. C siendo un mal necesario jajaj saludos.

    • @ProfesorRetroman
      @ProfesorRetroman  8 หลายเดือนก่อน

      Correcto, pero eso sólo es "por ahora". La comunidad de Rust está reescribiendo todo el código de C en Rust y, a medio plazo, Rust será completamente independiente de C. El hecho de que se usen librerías estándar de C es, simplemente, porque reescribirlas todas se lleva años de trabajo. Mientras eso se hace, se usa lo que se tiene, como es lógico :).

  • @jsfd-tuts
    @jsfd-tuts ปีที่แล้ว

    2.07 el que dice que java les gana esta mal de la mollera.

  • @gustavos5338
    @gustavos5338 ปีที่แล้ว

    lo de los bloques me parece nefasto lo mismo que el cmake en fin nada puede ser perfecto

  • @xxjim091xx
    @xxjim091xx ปีที่แล้ว

    como haces un vs si ninguno es un experto? literal le quitaste el peso y la sustancia al video al decir eso

  • @retrolimite1496
    @retrolimite1496 ปีที่แล้ว +1

    He estado mirando un poco la docu de Rust.. parece una version Pretty de C ( hay comentarios en plan raruno : we want to empower you, empower everybody ... ojo.. cuidado....) aunque el lenguage parece potente y interesante, sobre todo si conoces C y C++ ( internamente difiere, pero la syntaxis es muy parecida ) me pregunto si durara en el tiempo. ( Tambien salio GO y otros muchos ) excelentes videos por cierto. casi dan ganas de ponerse a programar viendo el entusiasmo que le poneis :)

  • @voltura873
    @voltura873 ปีที่แล้ว

    como puedes comparar rust qe necesita de una consola virtual para compilar contra c.... solo porque rust tiene acceso limitado a algunas partes de la memoria del sitema y que solo es conocido porque google lo administra. Yo no te contrataria en mi empresa, verguenza

    • @ProfesorRetroman
      @ProfesorRetroman  ปีที่แล้ว +1

      Me alegro que el vídeo te haya gustado tanto como para comentarlo ☺️.

    • @hugoandres5480
      @hugoandres5480 10 หลายเดือนก่อน

      Google no lo administra, el que administra es Mozilla deberías estudiarlo un poco a fondo para comentar, además gustos en lenguajes hay montón, saludos.