La diferencia entre ingeniero y programador es muy grande y lo has dejado super claro. Definitivo eres un profesor de ingenieros. Tus alumnos están muy bien guiados!!
2 роки тому+2
Soy un licenciado rodeado entre ingenieros y nada que ver tu comentario. Hay ingenieros que no saben nada
Saludos desde México. Este profesor es, como decimos en México, una chingonería. Excelente explicación y un buen balance entre la productividad y el conocimiento puramente técnico.
Su platica es una de las pocas y verdaderamente inteligentes en youtube, hay muchas platicas cierto, y la mayoría de poco valor profesional , puedo argumentar mucho este comentario pero no es necesario, lo que comparte es suficiente para afirmarlo, usted sencillamente SI es un verdadero profesional en todo sentido. Mi humilde, pero más alto reconocimiento.
Me ha sorprendido mucho que uses el Z80 para enseñar ensamblador, me parece todo un acierto. Este procesador lo estrujé en ensamblador hasta el límite en un MSX allá por los 80 y ahora he retomado su programación con más ganas que antes como distracción, por lo que ha sido una grata sorpresa descubrir que se usa para instruir futuros ingenieros. Felicidades por tu trabajo.
Un video explicativo cojonudo... Quisiera añadir, que en mas de una ocasión el programar a bajo nivel no solo te sirve para conocer el funcionamiento interno de una máquina en concreto, sino que ademas te ayuda a organizarte mentalmente para la resolución de problemas. Lastima que lo haya visto en diferido, me hubiera gustado preguntarte algunas cosillas! Saludos
Que Genialidad, tengo casi 58 años, y desde los 15 años programé en Ensamblador. Era mi favorito en la Escuela técnica. Coincido al 100%. Hay que conocer el Arbol y el bosque, y todos los detalles. Eso te cambia el modo de pensar y "sentir" lo que está pasando a bajo nivel. Y si en alto nivel algo se atasca, sabes donde ir a tocar. En ensamblador hice cosas complicadas, como ser, uno de las primeras comunicaciones, entre un microcontrolador, y dispositivos 1-Wire. Y si bien el código en Lenguaje C, propuesto por el fabricante, funcionaba, a veces fallaba. Y desde alto nivel no puedes tocar tan fino, la duración de los tiempos de los pulsos que había que "fabricar" para respetar el protocolo de comunicación. En fin... La claridad de conceptos que tienes Profesor Retroman, es asombrosa. Voy a seguir en tu canal, descubriendo tus videos y ya esoy suscripto. En la escuela programabamos el micro 8051. Que maravilla. Y luego ya habiendo terminado la escuela tuve mi primera ZX Spectrum de Sinclar y luego la Timex Sinclar 2068. Que tiempos aquellos. La voy a desempolvar porque todavía la tengo, guardada. Para Finalizar, muchas veces, el Lenguaje C, lo hace tan complicado y pesado, que (como dice otro amigo ingeniero de los de antes) se rasca la oreja izquierda con la mano derecha, y pasado el brazo por atrás de la nuca. Jajaja ! Saludos Profe !
la tenes re clara , vi muchos videos tuyos , una locura lo que sabes ... es dificil preguntar algo con el nivel que tenes . sos crakk es claro lo que explicas cundo hablas de entender ensamblador para saber de verdad como vos entendes la mayoria de lenguajes , gracias por utilizar tu tiempo en explicar todo esto
Tremenda explicación. Despejó todas mis dudas respecto a por donde empezar en la programación. Muchas gracias profesor. Tiene un nuevo suscriptor, siga así. Felicidades.
Soy alumno universitario en la Universidad Nacional de General Sarmiento, Argentina, Bs As. Estoy totalmente de acuerdo con lo expresado/expuesto por el Profesor.
Este canal es de la mejores cosas que me pude pasar comencé este cuatri con mi curso de ensamblador y empecé a buscar información y me encontré su canal y apenas ví los primeros videos del curso pero me gusta como van a esta ahora espero terminarlo todo y poco a poco dominar más este mundillo
Profe la verdad que es ud muy amable en sus respuestas y explicaciones. Los videos son muy didácticos y no se guarda nada. Sería muy bueno que nos oriente, a los aficionados que queremos programar bien y tenemos miras a seguir una carrera, una ruta de aprendizaje. Por lo pronto sigo con el curso de ensamblador que me parece una genialidad!!!
He llegado aquí de casualidad, y me alegro, me acabo de suscribir, yo me inicie en la informática cuando para mi trabajo de final de bachillerato aprendí un poco de ensamblador para modificar una rom de gba, y desde entonces me encanta la programación, ojala en la universidad me hubieran enseñado lo que tu explicas en los videos
Este conocimiento es valioso para escribir código eficiente y escalable en lenguajes de alto nivel. Es decir, uno no aprende ensamblador para dedicarse a programar solamente en ensamblador, sino para entender mejor cómo funcionan los programas desarrollados en cualquier lenguaje de programación.
Aquí tendrías otro comprador si saca usted el libro del z80. Yo creo que una buena ruta para aprender bien, sería: - Pascal: Para aprender bien los fundamentos - Ensamblador: Para aprender el funcionamiento de la máquina - C: Para trabajar a un nivel mas alto pero permitiéndote trabajar con autonomía - C++: Para trabajar a nivel alto de abstracción y utilizar paradigma de objetos Saludos
Puede parecer un poco animal pero creo que una buena progresión sería: -Electrónica digital (un poquito) -Ensamblador (un poco) -C (a full) -C++ (para lo que se necesite) De esa manera se agradece mucho cada avance.
yo inicie desde lo transistores, despues las compuertas logicas, luego circuitos combinatorios, luego circuitos seuenciales, despues aprendi a construir un sistema minimo con un Z80 y con ese sistema minimo comence a programar en ensamblador haciendo diagramas de flujo y ensamblando en la libreta traduciendo a nemonicos cada cuadro del diagrama de flujo y despues con el set de instrucciones impreso convertir esos nmonicos a codifgos maquina calculando a mano cada direccion de memoria. Luego aprendi a programar pics en ensamblador, De ahi el siguiente lenguaje que aprendi fue C y despues C++, luego visual basic, Visual C, Dephi, C++ Builder. De ahi pase a C#, luego html, css, java scrip , PHP , luego bases de datos y ahora android primero con java y ahora con kotlin y tambien acabo de aprender python. Ha sido largo mi recorrido y aun ciento que me falta mucho por aprender porque veo las cosas nuevas que hacen los chavos y me sorprenden
los niveladores tienen un attiny 85 y el codigo lo hise yo y senti que toque el cielo con las manos y si es verdad , despues de eso entendi los codigo de una manera distinta , se nota que sos experto , que suerte tienen tus alumnos ,
Muy motivador vídeo. En los ochenta hice algunos jueguecetes en Basic (Spectrum 48k), así como trastear con ciertas rutinas en código máquina que publicaba microhobby. Del +3 pasé a un 486 y ahí acabó mi relación con la máquina real de Sinclair, pues todo lo demás fue emularla a través del PC. Comentarte que he hecho algunos intentos de comenzar a cultivar mi curiosidad ensambladora, pero sin éxito. Darte las gracias por haberme dado a conocer tus vídeos sobre ensamblador, pues seguro que los empezaré y, si no me resultan demasiado complicados, espero poder algún día desarrollar un jueguecete en este lenguaje para mi viejo y querido Spectrum. Gracias y un saludo desde el sur.
Este video lleva dos años mas o menos. Pero déjame felicitarte porque explicaste bien y dejaste claro porque el estudiante de ingeniería informática debe aprender a programar en lenguaje ensamblador y también aprender a utilizar C++; soy profesor de ingeniería igual y cuando llegan a arquitectura de computadoras mis estudiantes deben hacer un proyecto que describa ¿En donde ejecuta un controlador, las instrucciones que escribió en nemónicos en su proyecto? de lo contrario no califico dicho proyecto. De igual manera esto es muy útil cuando se diseñan los prototipos de robótica en la industria al momento de programar el comportamiento de dicho prototipo.
Estaba estudiando, sobre g-code y lenguajes de cnc y llegue a este video por casualidad porque queria hacer una analogia entre en esamblador y g-code y la verdad tremenda perla con la que me consegui. una clase magistral
Que buena clase, 10/10. LLegué aquí porque estuve buscando si es verdad que Fortran realizaba las tareas de Ingeniería Civil más rápido que si programara en C++; ya que según mis profesores siempre repiten que los procesos matemáticos para realizar simulaciones numéricas con elementos finitos son más rápidos en Fortran; bueno hasta ahora continúo con la duda porque en los programas que he realizado no encuentro diferencia en tiempo, y me parece más fácil usar objetos de C++ que programar secuencialmente en Fortran. Algún día encontraré la respuesta, pero por el momento me prendiste el motor de la ilusión de aprender ensamblador. A propósito, algo que me enganchó más con tu canal fue ver la Amstrad; mi primer computador fue una CPC64 en fósforo verde que venía con basic y fue mi primer lenguaje, con ese sonido de la casetera para cargar los programas era genial. Que bonitos recuerdos del cole, cuando no veía a mi novia los fines de semana por hacer programas y escribir el código del Bombardero que venía en el manual😅😅
siiiiii totalmente wiring en microcontroladores , aca demuestra el profe lo importante de aprender principios de electronica 45 min ... tambien muy acertado cuando explica lo de phyton , yo lo usaria dedicado a redes de todo tipo , en un micro que le bajas el codigo y lo soldas en una placa se usan lenguajes basados en C-- muy faciles de usar y con mucho codigo en la web , yo le hice la inversa a un nivelador de aceite electronico emerson , solo mirando masomenos el circuito y entendiendo la logica de funcion del dispositivo cree un diagrama de flujo extenso , porsupuesto sabiendo que el requerimiento principal sea que el compresor tenga un nivel adecuado al iniciar un ciclo y leyendo un sensor ( transistor de efecto hall ) cada 5 segundos , bueno es mas amplio pero resumi el comienso de la logica , en fin ese diagrama extenso se convirtio en 20 lieneas de codigo , que para mi lo mas importante es que no tiene que existir contradicciones en el codigo para que no se pare .... jajjaja fanatico del loop . tengo el codigo en una maq. con win. y me pase a mac . sino l subia
Buen video. Pienso que el ingeniero que quiera llamarse como tal debe conocer al 100% la máquina para la que trabaja. Por ej. como el piloto de F1 o MotoGP, que deben poner a punto su máquina. En nuestro caso tanto a nivel electrónico o hardware como software, porque no contamos con varios "asesores en boxes". Por tanto la pregunta no debería ser ¿por qué enseñar ensamblador? sino ¿cómo no iba a enseñarse en ingeniería? Además, el lenguaje ensamblador es el único nativo de la máquina, todos los demás de alto nivel solo son sucedáneos, intérpretes, meros intermediarios...
Tiene razon profesor, soy principiante en programar microcontroladores, mas bien dicho nivel un poco menos que intermedio, ahorita que llevo aprendiendo asembler, entiendo mas lo que se del lenguaje C y por que de ciertas situaciones, muy buena intervencion suya explicando el lenguaje que muchos le tienen aversion (ensamblador), estoy decidido aprender ensamblador hasta el final.
llevo como 27 años usando ordenadores y es real, mucha gente esta interesada en hacerlo no en saber como se hace, es la realidad de cada persona en general, a mi me interesa como funciona todo por que al final de cada historia uno no queda con dudas o realmente las resuelve antes de que nascan mas dudas.
El eterno dilema: Máxima potencia con la aridez del código máquina o potencia reducida con la afabilidad de un lenguaje de alto nivel. Resulta muy interesante la opción de invertir el orden del aprendizaje clásico de programación para empezar con código máquina (de una forma sencilla y AMENA) antes de embarcarse en lenguajes próximos al humano; se programaría con sencillez (y vistosidad) en estos con la posibilidad de resolver los problemas que son un callejón sin salida (o muy tortuoso) para l@s que desconocen el funcionamiento a bajo nivel de la máquina en cuestión.
En mi carrera "Licenciado en Ciencias Computacionales" la materia de "lenguaje ensamblador" esta como optativa, tenia duda en tomarla, pero ahora con lo que dices, me he animado a cursarla, gracias
Me parece una buena idea. Sólo un apunte para tener en mente: recuerda siempre que cualquier materia tiene interés y enseñanzas propias, independientemente de cómo te sea enseñada. A veces, la forma de enseñar que tenemos algunos profesores no gusta a algunos estudiantes. El problema es que, desde el punto de vista del estudiante, se confunda la utilidad o pertinencia de la materia, con el gusto/disgusto por la forma de ser enseñada. Si te encuentras en una situación así, procura buscar tu propia forma de enfocar y aprender la materia para que no pagues con pérdida de conocimiento o habilidades una simple situación de falta de afinidad con quien te enseña :). Ánimo y mucha suerte.
Después de escuchar todos estos argumentos de porque es bueno saber ensamblador, me siento motivado a aprenderlo. Es más, de inmediato voy a ver que tal está su curso. Gracias por compartir su punto de vista sobre la educación, me gustaría opinar al respecto pero... apenas soy un estudiante del primer año de ingeniría informática y no me considero dueño de los conocimientos adecuados y suficientes para apoyar o no su perspectiva.
Fran, excelente y estoy de acuerdo, por ello sigo C y C++ porque aprendo más cosas que en un lenguaje de más alto nivel. He visto tus videos de assembler en CPC y son excelente. Te quería preguntar, por algún libro de assembler, que me permita roadmap para entender las máquinas de las máquinas que usamos en estos tiempos. Gracias Fran desde ya, por esto y por todos los vídeos que has compartido.
Prueba con "The art of assembly" de Randall Hyde, en su 1ª edición (las siguientes mejor no, mejor la 1ª). Después puedes probar el "Computer Systems: A Programmer's Perspective" de Randl E. Bryant. Con ambos puedes aprender mucho sobre bajo nivel, arquitectura y entender mejor cómo funcionan los ordenadores bien, a nivel de ensamblador.
@@ProfesorRetroman Gracias Fran , espero sientas el valor incalculable, que nos brindas transmitiendo tu experiencia y tus consejos, no me canso de agradecerte. Mi primer assembler fue como en 1990 programando en Pascal necesitaba mover el mouse (que era de dos de bola que se trabajan con el polvo) . Solo para recordar y mantener viva esa chispa por aprender 😀.
Hola, sé que han pasado años desde que subiste este video y me agradó mucho, comparto la idea de porque deberiamos aprender ensamblador para conocer el funcionamiento de la maquina y manejarla con profesionalismo. Me gustaría que me dieras una guia de como empezar para apremder ensamblador y poder aprender mucho. Seria que me indicaras si tienes en tus videos una playlist que deba seguir. Es que miro que hay muchos vídeos y no sé por donde empezar. Te lo agradecería
Tengo la misma filosofía y aunque no sé nada de programar me interesaba entender la máquina desde lo más básico para entender cosas más complicadas y a su vez sencillas, llegue apartir de una definición básica de lenguaje ensamblador que decía que era más apegada a el entendimiento de la máquina, y llegar con alguien que pensará igual fue una muy buena experiencia.
a mí me pasa un poco al revés; resulta que entiendo las cosas a bajo nivel pero me cuesta entender las abstracciones cuando se vuelven demasiado abstractas
Soy un Autodidacta con un grado medio y superior de instalaciones Electricas y siempre me ha gustado la informática, la electrónica y los videojuegos. Tenía duda de si empezar por otros lenguajes como phyton desde hace años pero el siemple hecho de no encontrar el adecuado y por ende sin alguien que me aconsejase-guiase tumbé las ganas y lo dejé pero hace 2 días me encontré por casualidad este canal me ha despejado las dudas de por dónde empezar como bien dice, hay que conocer a la máquina para lidiar con ella y saber qué decirle. Muchas gracias por su esfuerzo. Saludos desde Andalucía Profesor.
de los mejores cursos que e visto... e comprendido tantas cosas . lo que ocurre es que actualmente la gran mayoria de "ingenieros" ya solo trabajan de "ofimaticos calificados" , ya solo usan frameworks y ya solo hablan de "conexiones automaticas. y esta bien... es normal que asi sea porque ya la informatica ya crecio tanto... deberia ya haber una nueva carrera universitaria llamada "cientifico informatico" donde se le de total importancia a todo esto de procesadores, ensamblador... compiladores... y dejar q los ingenieros solo vean las cosas mas simples de solo usar lenguajes de alto nivel....
Profe, no hace mucho que veo tus videos, pero este ha sido una joya completa, quisiera saber si impartes a maestrías en la universidad donde trabajas y de ser así cuáles opciones habrian
Muchas gracias, Sebastián. Sí, como puedes ver en los vídeos, todos llevan el logo de la Universidad de Alicante (aquí en España) que es donde ejerzo como profesor e imparto clases de Videojuegos e Inteligencia Artificial para Videojuegos en 2 Maestrías (aquí se llaman Grados y, antiguamente, Ingenierías) que se llaman Grado en Ingeniería en Informática y Grado en Ingeniería Multimedia. Si quisieras hacer alguno de estos Grados, la universidad es presencial. En todo caso, casi todas mis clases las tienes en el canal, organizadas en listas de vídeos, cada una agrupando las clases que doy cada año, tanto de programación de videojuegos en ensamblador como en C++.
Me gustaría tener un profe como usted :,v xD, por ahora estaré aprendiendo ensamblador en el Intel 8085 para después pasar a C y por último a entender mejor el lenguaje con el que trabajo, Java
Muchas gracias por el aprecio ☺️. En realidad son clases, no son tutoriales 😉. Sí. También hemos hecho de BASIC y lo tienes todo en las listas de reproducción. Busca el GameDev Challenge BASIC Vs C
Saludos profe y saludos a todos, actualmente estoy leyendo el libro del pic16f84 de RA-MA y me gustaría realizar las practicas que se muestran en el libro, sin embargo me entere que mplab x ya no daba soporte para assembler, por lo que me gustaría saber que editor de texto usaban en aquella época (2004) para assembler. Estaré muy agradecido por cualquier ayuda o recomendación .
Claro que sí. Tienes varias series donde hablo de C y las puedes encontrar todas en las listas de reproducción del canal. - BASIC vs C: Ahí tratamos de programar en BASIC y C para Amstrad, y es mi compañero Héctor Linares quien explica las cosas en C. - Rust vs C: Hemos hecho un episodio sólo (haremos más), pero ahí programamos en Rust y en C para PC y comparamos ambos lenguajes para aprender los dos. - Serie C y Ensamblador: Programo lo mismo en C y Ensamblador para Amstrad para aprender cómo las cosas que se hacen en C se traducen o funcionan en Ensamblador. - Serie GameEngine ECS para Amstrad C: Explico como programar un GameEngine para hacer juegos en Amstrad CPC desde 0 en C. Ahí cuento muchas cuestiones de C y herramientas interesantes como los punteros a función y la inversión de control. - 2016 GameDev-C-Z80: Desarrollo de juegos sencillos en C para Amstrad CPC, contando muchas cosas interesantes de programación en C y por qué hacer las cosas de una manera u otra. Además de eso, hay vídeos sueltos de programación en C. No hay ningún curso estructurado específico para aprender el lenguaje como tal, pero todos estos vídeos te darán muchas ideas para entenderlo mejor. Espero que te sean de ayuda :). Muchas gracias por el aprecio! :)
hola profe sode argentina entre de forma autidactica en la programacion comensando en los lenguaes de marcados html css luego mi primer lenguae de programacion que aprendi a un nivel intermedio fue javascript luego python y a un nivel vasico php y C pero cuando hice mi primer proyecto super vacico usando el ide de arduino y viendolo funcionar en simulid me enamore del la programacion de harware y por mi cuenta ahora estoy aprendiendo programacion en vinario y en ensamblador me encanta y facina a la vez tener tanto control sobre los microcontroladore y en el futuro sobre los procesadores pero no se cual es su mercado lavoral porque todavia me falta mucho y aveces me cuestiono si lo mejor seria que dedicara todo ese tiempo a aprender otra tecnologia digital con salida lavoral mas rapida podria desirme porfavor cual es la salida lavoral en ensamblador si es que se puede ser programador desde casa y cuales son los entornos lavorales en remoto gracias su explicacion me gusto enormemente
El ensamblador tiene salidas laborales, como todo. De hecho, las salidas que tiene son muy buenas porque hay muy poca gente con estos conocimientos y se paga muy bien. Sin embargo, los puestos que demandan ensamblador de forma directa son muy pocos también. Sin embargo, ensamblador no es algo a aprender por las salidas laborales. Ensamblador, sin siquiera aprenderlo, puede enseñarnos a todos una gran lección. Las salidas profesionales no nos las dan los temas, nos las dan nuestras propias habilidades. Las personas con más conocimientos y habilidades son las que tienen las mejores y más exitosas salidas laborales. Ensamblador, al ser un conocimiento base, te da la capacidad de entender mejor y de desarrollar a partir de él más y mejores conocimientos y habilidades, todos ellos mejor cimentados. Si tus conocimientos son más y, además, son mejores, después tendrás salidas laborales por encima de otras personas que no tengan esas habilidades y conocimientos. Muy a menudo enseño a mis estudiantes que el camino rápido lleva pronto a callejones sin salida. Es más, muchas veces, el camino largo y lento termina siendo incluso más rápido. Pero, incluso cuando el camino largo y lento es más largo y más lento, está lleno de lo que buscamos: florecimiento profesional y personal. Nunca subestimes el poder de aprender y de aprender bien. Lleva mucho tiempo y mucho esfuerzo, pero es precisamente por eso que es valioso. Lo que se hace rápido y/o con poco esfuerzo, puede hacerlo mucha gente, y por eso no es valioso. Lo se tiene que hacer lento y con esfuerzo lo hace muy poca gente, y por eso es muy valioso y da siempre mejores resultados. Lleva a donde quieres ir de verdad.
lo mismo para cuando diseñas un circuito y depende de una fuente que no tenes recursos para un alto consumo y tenes que hacer que el micro ande tranqui , por que consume banda cuando lo pones a tope
Yo soy matemático y pienso que cuando algo se vuelve completamente industrial se olvida de lo que es: la ciencia computacional es una rama de las matemáticas y entre más acercamiento tengas con sus origenes mejor perspectiva y conocimientos tienes de los temas, nunca sabrás cómo funciona una máquina computacional y optimización de algoritmos hasta que te enfrentas a las limitaciones técnicas y a las formas de trabajo de bajo nivel. Yo comencé programando en una commodore64. He visto gran cantidad de ingenieros en software que no saben hacer algoritmos, dependen de librerías, apis, etc. A veces me dan la impresión de que no son ingenieros, son mecánicos cambiando piezas que ya no sirven y su trabajo máximo es modificar las piezas para que se adapten las entradas y salidas. Yo he tenido éxito en mi trabajo porque me dedico a hacer eso que los ingenieros en software ya no quieren hacer; optimización de algoritmos y gestión de recursos. Aunque también he visto gurús que son programadores con décadas de experiencia que definitivamente son unos crack sin comparación.
El alumno que formuló la pregunta o no sabe de qué va una ingeniería o realmente en su facultad o carrera no se lo han hecho entender. Java o web son lenguajes que aprendes en un ciclo fp, sí. Yo aprendí el primer año con Alecop y tecleando los preogramas a mano en un dispositivo con pantalla lcd. Y yo pienso que con Z80 y este emulador es mucho más cómodo. Pero por qué todo esto? Pues el fin es conocer cómo funciona la memoria, la cpu, la e/s, etc. Y así ten por seguro que serás un gran ingeniero y mucho mejor programador. El ensamblador es un lenguaje sencillísimo comparado con c, c++ o Java. Los alumnos se creen que con un bootcamp serán expertos.
No, no lo he considerado porque no es mi campo y no soy la persona indicada para enseñarlo :). Hay profesores de muy buen nivel y con canales de UA-cam aquí en España que lo hacen fenomenal en este campo. Prueba a ver a @ObiJuanCube que es muy bueno. Estoy seguro de que podrá enseñarte lo que necesites ;)
Puedes empezar si quieres con el curso Dominando Ensamblador del Z80 que hay en mi canal y mi web. Ahí empiezas en código máquina y luego sigues a ensamblador. Después, si quieres aprender más, tienes 6 cursos completos de desarrollo de videojuegos en ensamblador Z80 para Amstrad, de los que puedes aprender todo lo que necesites. Y, por último, el viernes pasado comenzamos la serie C y Ensamblador desde 0, de la que hoy hacemos el 2o episodio en directo, dentro de 2 horas. Ánimo y suerte :)
Que razón tienes, yo empecé con el Basic, luego el QBasic y cuando estudie el modulo superior de informatica (ASI, no era programación) me enseñaron la metodología de programación, arquitectura, lenguaje Turbo Pascal que fue donde usamos varias rutinas en ensamblador y se notaba la diferencia en utilizarlo o no, tambien C y un poco de C++. Como siempre me ha gustado el Basic por mi cuenta estudie Visual Basic 5 y 6. Después de 12 años sin programar, los últimos 4 me actualice a Visual Basic net (2013-2015), para los juegos la libreria XNA 4.0 y algo del motor GameMaker. Lo que quiero decir con todo esto, es que nos acostumbramos a utilizar los lenguajes de alto nivel, los lenguajes visuales, lo que es fácil y utilizar herramientas o librerias para crear videojuegos porque los ordenadores de hoy día son cada vez más potentes y da igual el código si esta bien o no. Antes con ordenadores como Commodore 64 (tenía) los juegos tenian que estrujarse y ser muy optimizados porque solo tenías 64k de memoria y se hacía cada juego espectacular. En su dia compre algun libro en ensamblador porque para los juegos no te quedaba más remedio, pero a medida que surgió los lenguajes de alto nivel y visuales pues cambias de opinión. Aun así siempre me gustó los juegos arcade, retro... y por eso utilizar motores como 3D Unity que para cualquier juego que realizas necesitas tener una buena máquina no me gusta, yo mis juegos los puedo seguir utilizando en Pentium IV con XP, como en i7 con W10 y van a la misma velocidad por eso utilizo la libreria XNA aunque está obsoleta, pero porque algo sea antiguo o no se utilice no significa que no sirva y que no te ayude para aprender otras cosas. Saludos
Digamos que recomendaría huir de preguntas como esta, y te explico por qué. A las personas nos gusta en general pensar en términos concretos de si una cosa es buena o mala, y de que hay cosas buenas y malas. La realidad es que esto no es así. No hay ensambladores buenos y malos, no hay sistemas de programación buenos y otros malos, no hay lenguajes buenos y otros que sean malos. Cada cosa que hagamos tiene unas ventajas y unos inconvenientes, siempre. No importa qué sea lo que hagamos, siempre hay ventajas y siempre hay inconvenientes. Lo único interesante como pregunta es si dada una necesidad o un problema, pueden ser más interesantes unas ventajas o pueden ser más perjudiciales unos inconvenientes concretos. Esto es lo que hacemos en ingeniería: no se trata de saber qué es lo bueno, sino de centrarse en el problema y considerar todas las opciones en función de sus ventajas e inconvenientes. Te hago esta recomendación, porque creo que te puede ayudar a tener mejores esquemas de pensamiento en general. Dicho eso, y centrándose en el 16f84, se trata de un microcontrolador como otros tantos miles de ellos que hay. ¿Es bueno programar en ensamblador del 16f84? Si hablamos de aprendizaje, que es lo que a mi me preocupa en este vídeo, es bueno, sin duda. Sin embargo, matizaría. En aprendizaje no es conveniente elegir un sistema bueno o buscar un sistema mejor. Lo realmente mejor es programar en varios sistemas distintos y, si puede ser, en periodos de tiempo solapados. Si nos encontramos programando varios ensambladores a la vez, de varios chips y diversas máquinas, obtendremos mucho mejor y más profundo aprendizaje sobre las máquinas y su programación. Esto no suele hacerse porque requiere más tiempo, es menos intuitivo y es más difícil. Sin embargo, esa es la mejor aproximación, si se trata de aprendizaje. Cuando no se tiene tiempo de la opción mejor, la segunda mejor es, simplemente, aquello a lo que vayas a dedicarle tiempo y te atraiga. Si te gusta el PIC16f84, como si te gustase el 6502 o el Z80, esa es una muy buena opción. Lo que te atrae y te gusta facilitará que le dediques tiempo, esfuerzo y constancia. Y de todos los factores, el más importante es el último: constancia. Cuando se hace algo con constancia, se obtienen beneficios de aprendizaje. Si no, aunque la opción sea la teórica mejor, no se obtendrá nada por falta de dedicación.
@@ProfesorRetroman muchas gracias yo tome la decision de estudiar el 16f84a por la facilidad de bibliografia y simuladores me parece mas facil de encontrar , por que de zilog no he encontrado mucho , bueno soy de peru y esto es lo que enseñan algunas universidades , es importante como usted dice conocer la variedad, pero tambien tratare de tener conocimientos de zylog y intel
Rust es un gran lenguaje que acaba de empezar y tiene un recorrido a futuro muy bueno. Probablemente sea un lenguaje muy usado a medio y largo plazo. Sin embargo, Rust no "obliga a generar código sin vulnerabilidades". Esto no puede hacerlo ningún lenguaje, salvo que se limite tanto que no puedas hacer con él muchas cosas útiles. Rust está diseñado con unas premisas de seguridad de acceso a memoria, para facilitar el trabajo multihilo y minimizar con ello los errores intrínsecos a este tipo de desarrollos. El concepto es muy bueno y está muy bien diseñado, pero no debes asumir que es perfecto: no es posible ser perfecto, no es posible evitar errores de seguridad, no es posible tampoco impedir que cometas errores o que tus programas tengan vulnerabilidades. Lo que el lenguaje hace es dar un paso más con los conocimientos que tenemos para reducir estos errores, y lo hace muy bien. Pero nadie puede eliminarlos, eso es intrínseco a cómo es el software. Por otro lado, debes entender que estas decisiones de diseño no son gratuitas: toda decisión en desarrollo es siempre un balance coste/beneficio. Rust aporta unos beneficios muy interesantes, que incluyen también unos costes. Estos costes pueden no ser evidentes, o ser simplemente asumibles, por lo que se asumen y se disfrutan de los beneficios. Pero no olvides que cualquier decisión en desarrollo siempre, siempre, es coste/beneficio. No hay beneficios a coste 0.
gracias por explicarlo. entre con el pensamiento de "porque los dino-profesores de sistemas lo aprendieron y tienen que enseñarlo, para agrandar un poco mas el temario" sigo pensando lo mismo. pero ahora me ahorraste horas de estudio.
Profesor, esta un manuale para installar cpc telera y como se utiliza desde zero? Yo tengo una computadora con windows xp y me sale difficil la installacion de cpc telera no se de donde descargar un file (lista de sitios mirror) he cliccado todos los paises y nada no enquentro el file
Una pregunta, donde puedo encontrar la lista de reproducción de tus cursos de ASM ordenadas, escuche de una web que dijiste pero no se entendió bien y no la encontré, si me podes dejar un link seria genial. Gracias y excelente video!!!
Con C++ programas al nivel del lenguaje C++, que es un nivel mucho más alto que ensamblador y muchísimo más alto que código máquina. Precisamente, uno de los propósitos de programar en ensamblador que comento en el vídeo es el de entender mejor cómo funciona todo por dentro, para así poder entender mejor qué sucede cuando programamos en C++.
tenes mucha razon pero yo creo que esos lenguajes son perfectos para ingeñeros en electronica ya que somos amantes de saber como funciona de raiz no solo a nivel lenguaje sino a nivel electronico en general desde sus mosfet a sus celdas de memoria en mi caso me encanta ensamblador y c principalmente porque me gusta el area de harware y electronica en general por eso me gustan esos lenguajes porque te enseñan como son sus puertos sus pines sus modulos como se conforman ect creo esos lenguajes son para ingenieros mayormente el resto es mas para entusiastas a crear juegos y cosas mas superficales ya que no les gusta yegar al fondo a la raiz de la maquina...por eso solo utilizo c y estudio ensamblador para conocer a fondo los microos de ahi solo instale programas como pic c compiler mplab ide e ipe y utilize programadores del tipo pickit y usbasp y programas como atmel studio avrdudess para los atmega son hermosos esos lenguajes para un electronico en especial aguanten los microocontroladores jaja buen video coincido con usted maestro usted en este video diferencia los ingenieros de los programadores superficiales no es malo sean solo superficiales aportan al gremio pero los ingenieros apuntan a lo que usted detalla en este video saludos desde argentina un abraso y gracias por aclararlo tan bien la diferencia quedo mas que claro
me interesa aprender ensamblador, en mi universidad no lo impartieron y me he topado con problemas en el trabajo en los que podria haber solucionado mas rapido el problema si hubiera aprendido ensamblador ya que hay ocasiones en que debo aplicar ingenieria inversa a programas de mi trabajo para poder entenderlos y solucionar el problema que se presenta
Al final escribiste el libro? La verdad me gustaría un libro de lenguaje C con tus detalles que tienes o si puedes recomendarme uno y también sobre C++ me gustaría. Gracias
Aún no he escrito ningún libro, pero ciertamente es algo que tengo pensando. Si se dan las condiciones oportunas, quizá lo haga pronto. En cuanto a libros, si es para empezar, siempre recomiendo empezar por Bjarne Stroustroup: www.stroustrup.com/programming.html Después, cualquier libro reciente (últimos 5 años) de C o C++ son muy recomendables en general para ponerse al día.
@@ProfesorRetroman Gracias profe, antes de leerte me he comprado un libro por 10 dolares, un libro del año 95 sobre el lenguaje C, es Manual de Referencia 3er edicion por Herbert Schildt y me sirve para aclarar algunas cosas sobre el lenguaje, espero pronto saltarme a C++ para aprender OpenGL y tomar el tema de videojuegos
Te recomiendo que vayas directo al de C++ y que evites leer libros anteriores a 2015. Las técnicas de programación han cambiado mucho y las buenas prácticas también. Muchas cosas que se ven en libros anteriores a 2015 están ya consideradas malas prácticas. Es mejor que las evites desde el principio. Por otra parte, no hace falta aprender C antes de C++. Puedes hacerlo si quieres, pero son dos lenguajes distintos y no es necesario ese orden. Ánimo y suerte :)
No he hecho carrera deingeniería de software, pero he aprendido a programar en C, que me gusta más que C++. Siempre he querido aprender ensamblador x86, pero nunca he encontrado buenos cursos
Excelentisimo video mi buen, la verdad me rei cuando dijiste que hay disque programadores que dicen que C++ es un lenguaje obsoleto, solte una carcajada porque osea, C++ please el 90% de las aplicaciones del mundo estan hechas en c++ la IDE con la que esos pseudoprogramadores que ni a eso llegan estan hechos en C++ el navegador programas de diseño 3d, motoresd e videojuego intefaz grafica de windows o de cualquier otro SO estan hechas en C++, osea en serio que cualquiera que se respete en el mundo de la informatica sabe eso y mas sabiendo que los lenguajes que por asi decirlo son los dioses de las computadores amos y señores, son C, C++ y por supuesto Ensamblador, solo me imagino que seria si todas las apps existentes fuesen programadas en asm integro, o los videojuegos, serian extremadamente rapidas y optimizadas, porque como usted lo dijo programar en ASM es hablarle directamente a la maquina, eso es ser programador, no disque programar y usar la IDE que esta programada con la libreria de la libreria de la libreria de la libreria... de C++ LE MANDO UN GRAN SALUDO MAESTRO
Sería genial un libro explicas bien!!! Y tengo una duda, hace un timpo me compre k libro de C y lo empecé a leer y a hacer los ejercicios voy casi por la mitad, ya vi punteros y estoy por cadena de caracteres, que me recomendas que lo termine o que lo deje por donde me quede y empieze en asm y después lo retomé?
Si ya lo llevas a la mitad, creo que es mejor que sigas. Continuar un ritmo que ya has empezado te será más fácil que romperlo, y seguramente más útil al corto/medio plazo. En cualquier caso, si te interesa lo que comento, puedes ir en paralelo empezando el curso de código máquina de mi canal, y seguramente ambos conocimientos te irán dando mejor perspectiva. Suerte y ánimo.
@@ProfesorRetroman Y cuando termine me pongo con asm, eh visto un libro nuevo, en realidad son dos libros del mismo autor se llama "Programacion retro del commodore 64" y por la poco info que hay en Español me pareció una buena idea, ya que vos dijiste también que es ideal empezar con algun micro de 8 bits por el tamaño de instrucciones, nombraste el z80 y el 6502 que no se si es del commodore 64.
@@marcush8949 Sí. Commodore 64 usa el 6502 y es otro micro de 8 bits. Personalmente, creo que el Z80 es más interesante si luego se quiere continuar con el x86 y x86_64, porque ambos son de la misma línea y tienen muchas similitudes. El 6502 es muy distinto como procesador y su ensamblador y forma de funcionar son más parecidos a la línea de ARM. Con cualquiera aprenderás muchas cosas interesantes, y conocer ambas arquitecturas sería mejor que una sola, pero si quieres continuar después con procesadores de intel, el Z80 es mejor por ser de la misma línea.
La diferencia entre ingeniero y programador es muy grande y lo has dejado super claro. Definitivo eres un profesor de ingenieros. Tus alumnos están muy bien guiados!!
Soy un licenciado rodeado entre ingenieros y nada que ver tu comentario. Hay ingenieros que no saben nada
@ yo estoy hablando del maestro y lo que él hace no de todos los ingenieros que tú hablas, así que mi comentario está correcto.
@ Y también hay una enorme cantidad de licenciados que no saben absolutamente nada, que te preguntas cómo es posible que hayan llegado hasta allí.
@ No entendiste absolutamente nada del comentario. Creo que ni siquiera has visto el video completo o no lo entendiste.
@ 😮😮
Eres de esos profesores que uno hubiese deseado tener en la universidad, aún así, muchas gracias por dedicar tu tiempo para llegar a más personas.
Magistral. Excelente explicación de un viaje desde lo mágico al control a través del conocimiento. Muchas gracias por encender la luz.
Saludos desde México. Este profesor es, como decimos en México, una chingonería. Excelente explicación y un buen balance entre la productividad y el conocimiento puramente técnico.
Su platica es una de las pocas y verdaderamente inteligentes en youtube, hay muchas platicas cierto, y la mayoría de poco valor profesional , puedo argumentar mucho este comentario pero no es necesario, lo que comparte es suficiente para afirmarlo, usted sencillamente SI es un verdadero profesional en todo sentido. Mi humilde, pero más alto reconocimiento.
Me ha sorprendido mucho que uses el Z80 para enseñar ensamblador, me parece todo un acierto. Este procesador lo estrujé en ensamblador hasta el límite en un MSX allá por los 80 y ahora he retomado su programación con más ganas que antes como distracción, por lo que ha sido una grata sorpresa descubrir que se usa para instruir futuros ingenieros. Felicidades por tu trabajo.
madre mia, que bueno es escuchar a alguien que sabe tanto! esto es encantador!!!
Un video explicativo cojonudo...
Quisiera añadir, que en mas de una ocasión el programar a bajo nivel no solo te sirve para conocer el funcionamiento interno de una máquina en concreto, sino que ademas te ayuda a organizarte mentalmente para la resolución de problemas.
Lastima que lo haya visto en diferido, me hubiera gustado preguntarte algunas cosillas!
Saludos
Que Genialidad, tengo casi 58 años, y desde los 15 años programé en Ensamblador. Era mi favorito en la Escuela técnica.
Coincido al 100%. Hay que conocer el Arbol y el bosque, y todos los detalles. Eso te cambia el modo de pensar y "sentir" lo que está pasando a bajo nivel. Y si en alto nivel algo se atasca, sabes donde ir a tocar.
En ensamblador hice cosas complicadas, como ser, uno de las primeras comunicaciones, entre un microcontrolador, y dispositivos 1-Wire. Y si bien el código en Lenguaje C, propuesto por el fabricante, funcionaba, a veces fallaba. Y desde alto nivel no puedes tocar tan fino, la duración de los tiempos de los pulsos que había que "fabricar" para respetar el protocolo de comunicación. En fin...
La claridad de conceptos que tienes Profesor Retroman, es asombrosa.
Voy a seguir en tu canal, descubriendo tus videos y ya esoy suscripto.
En la escuela programabamos el micro 8051. Que maravilla.
Y luego ya habiendo terminado la escuela tuve mi primera ZX Spectrum de Sinclar y luego la Timex Sinclar 2068.
Que tiempos aquellos. La voy a desempolvar porque todavía la tengo, guardada.
Para Finalizar, muchas veces, el Lenguaje C, lo hace tan complicado y pesado, que (como dice otro amigo ingeniero de los de antes) se rasca la oreja izquierda con la mano derecha, y pasado el brazo por atrás de la nuca. Jajaja !
Saludos Profe !
la tenes re clara , vi muchos videos tuyos , una locura lo que sabes ... es dificil preguntar algo con el nivel que tenes . sos crakk
es claro lo que explicas cundo hablas de entender ensamblador para saber de verdad como vos entendes la mayoria de lenguajes , gracias por utilizar tu tiempo en explicar todo esto
Excelente explicación! Me aclaraste todas las dudas con respecto al camino que hay que tomar sobre la programación.
Tremenda explicación. Despejó todas mis dudas respecto a por donde empezar en la programación. Muchas gracias profesor. Tiene un nuevo suscriptor, siga así. Felicidades.
Es uno de los pocos videos de mas de una hora que me lo veo entero.
Muy bueno
Soy alumno universitario en la Universidad Nacional de General Sarmiento, Argentina, Bs As. Estoy totalmente de acuerdo con lo expresado/expuesto por el Profesor.
Este canal es de la mejores cosas que me pude pasar comencé este cuatri con mi curso de ensamblador y empecé a buscar información y me encontré su canal y apenas ví los primeros videos del curso pero me gusta como van a esta ahora espero terminarlo todo y poco a poco dominar más este mundillo
Gracias por tu explicación, es muy valiosa.
Profe la verdad que es ud muy amable en sus respuestas y explicaciones. Los videos son muy didácticos y no se guarda nada. Sería muy bueno que nos oriente, a los aficionados que queremos programar bien y tenemos miras a seguir una carrera, una ruta de aprendizaje. Por lo pronto sigo con el curso de ensamblador que me parece una genialidad!!!
He llegado aquí de casualidad, y me alegro, me acabo de suscribir, yo me inicie en la informática cuando para mi trabajo de final de bachillerato aprendí un poco de ensamblador para modificar una rom de gba, y desde entonces me encanta la programación, ojala en la universidad me hubieran enseñado lo que tu explicas en los videos
53:00 Juegos para NES en ensamblador, emuladores de Master System
1:00:15 CPCtelera, Arcade Game Designer
Excelentes charlas
Este conocimiento es valioso para escribir código eficiente y escalable en lenguajes de alto nivel. Es decir, uno no aprende ensamblador para dedicarse a programar solamente en ensamblador, sino para entender mejor cómo funcionan los programas desarrollados en cualquier lenguaje de programación.
Aquí tendrías otro comprador si saca usted el libro del z80. Yo creo que una buena ruta para aprender bien, sería:
- Pascal: Para aprender bien los fundamentos
- Ensamblador: Para aprender el funcionamiento de la máquina
- C: Para trabajar a un nivel mas alto pero permitiéndote trabajar con autonomía
- C++: Para trabajar a nivel alto de abstracción y utilizar paradigma de objetos
Saludos
Puede parecer un poco animal pero creo que una buena progresión sería:
-Electrónica digital (un poquito)
-Ensamblador (un poco)
-C (a full)
-C++ (para lo que se necesite)
De esa manera se agradece mucho cada avance.
:0
yo inicie desde lo transistores, despues las compuertas logicas, luego circuitos combinatorios, luego circuitos seuenciales, despues aprendi a construir un sistema minimo con un Z80 y con ese sistema minimo comence a programar en ensamblador haciendo diagramas de flujo y ensamblando en la libreta traduciendo a nemonicos cada cuadro del diagrama de flujo y despues con el set de instrucciones impreso convertir esos nmonicos a codifgos maquina calculando a mano cada direccion de memoria. Luego aprendi a programar pics en ensamblador, De ahi el siguiente lenguaje que aprendi fue C y despues C++, luego visual basic, Visual C, Dephi, C++ Builder. De ahi pase a C#, luego html, css, java scrip , PHP , luego bases de datos y ahora android primero con java y ahora con kotlin y tambien acabo de aprender python. Ha sido largo mi recorrido y aun ciento que me falta mucho por aprender porque veo las cosas nuevas que hacen los chavos y me sorprenden
Hace unos años vi a un tipo que hacia sus programas de comunicaciones en ensamblador. Lo extraordinario del caso es que pesaban unos cuantos Kb.
Acabo de encontrar este canal y es uno de los mejores que he visto. Nueva suscripción.
Por cierto. Se programar en ensamblador, Python y C, y ni siquiera tengo el bachillerato. La dificultad está donde tú quieras ponerla.
@@largo9711 donde aprendiste ensamblador?
los niveladores tienen un attiny 85 y el codigo lo hise yo y senti que toque el cielo con las manos y si es verdad , despues de eso entendi los codigo de una manera distinta , se nota que sos experto , que suerte tienen tus alumnos ,
Muy bueno y motivador. Me aclaro viejas dudas. Gracias Profesor.
Muy motivador vídeo. En los ochenta hice algunos jueguecetes en Basic (Spectrum 48k), así como trastear con ciertas rutinas en código máquina que publicaba microhobby. Del +3 pasé a un 486 y ahí acabó mi relación con la máquina real de Sinclair, pues todo lo demás fue emularla a través del PC. Comentarte que he hecho algunos intentos de comenzar a cultivar mi curiosidad ensambladora, pero sin éxito. Darte las gracias por haberme dado a conocer tus vídeos sobre ensamblador, pues seguro que los empezaré y, si no me resultan demasiado complicados, espero poder algún día desarrollar un jueguecete en este lenguaje para mi viejo y querido Spectrum. Gracias y un saludo desde el sur.
Anda no sabia q tenías un canal de youtube, dan ganas de matricularme en la ua para recibir esas clases.
Este video lleva dos años mas o menos. Pero déjame felicitarte porque explicaste bien y dejaste claro porque el estudiante de ingeniería informática debe aprender a programar en lenguaje ensamblador y también aprender a utilizar C++; soy profesor de ingeniería igual y cuando llegan a arquitectura de computadoras mis estudiantes deben hacer un proyecto que describa ¿En donde ejecuta un controlador, las instrucciones que escribió en nemónicos en su proyecto? de lo contrario no califico dicho proyecto. De igual manera esto es muy útil cuando se diseñan los prototipos de robótica en la industria al momento de programar el comportamiento de dicho prototipo.
Que buenas charlas!
Qué perfectamente explicado. Bravo.
Que buen video, muchas gracias.
Super todo el contenido, ojala subas mas videos sobre otros temas como algoritmos. Gracias por compartir.
Estaba estudiando, sobre g-code y lenguajes de cnc y llegue a este video por casualidad porque queria hacer una analogia entre en esamblador y g-code y la verdad tremenda perla con la que me consegui. una clase magistral
Que buena clase, 10/10. LLegué aquí porque estuve buscando si es verdad que Fortran realizaba las tareas de Ingeniería Civil más rápido que si programara en C++; ya que según mis profesores siempre repiten que los procesos matemáticos para realizar simulaciones numéricas con elementos finitos son más rápidos en Fortran; bueno hasta ahora continúo con la duda porque en los programas que he realizado no encuentro diferencia en tiempo, y me parece más fácil usar objetos de C++ que programar secuencialmente en Fortran. Algún día encontraré la respuesta, pero por el momento me prendiste el motor de la ilusión de aprender ensamblador. A propósito, algo que me enganchó más con tu canal fue ver la Amstrad; mi primer computador fue una CPC64 en fósforo verde que venía con basic y fue mi primer lenguaje, con ese sonido de la casetera para cargar los programas era genial. Que bonitos recuerdos del cole, cuando no veía a mi novia los fines de semana por hacer programas y escribir el código del Bombardero que venía en el manual😅😅
Aquí tienes un comprador si te animas a sacar un libro sobre el z80. Ojalá sea así. Gracias por tu curso.
x2
Profe excelente su explicación, 20:00 los ingenieros nunca van al bosque!! por eso estamos los técnicos 👌👌
siiiiii totalmente wiring en microcontroladores , aca demuestra el profe lo importante de aprender principios de electronica
45 min ... tambien muy acertado cuando explica lo de phyton , yo lo usaria dedicado a redes de todo tipo , en un micro que le bajas el codigo y lo soldas en una placa se usan lenguajes basados en C-- muy faciles de usar y con mucho codigo en la web , yo le hice la inversa a un nivelador de aceite electronico emerson , solo mirando masomenos el circuito y entendiendo la logica de funcion del dispositivo cree un diagrama de flujo extenso , porsupuesto sabiendo que el requerimiento principal sea que el compresor tenga un nivel adecuado al iniciar un ciclo y leyendo un sensor ( transistor de efecto hall ) cada 5 segundos , bueno es mas amplio pero resumi el comienso de la logica , en fin ese diagrama extenso se convirtio en 20 lieneas de codigo , que para mi lo mas importante es que no tiene que existir contradicciones en el codigo para que no se pare .... jajjaja fanatico del loop . tengo el codigo en una maq. con win. y me pase a mac . sino l subia
Un vídeo de lo mejorcito en educación sobre programación
Que genio excelente manera de poner en palabras los conceptos felicitaciones profesor
Buen video. Pienso que el ingeniero que quiera llamarse como tal debe conocer al 100% la máquina para la que trabaja. Por ej. como el piloto de F1 o MotoGP, que deben poner a punto su máquina. En nuestro caso tanto a nivel electrónico o hardware como software, porque no contamos con varios "asesores en boxes". Por tanto la pregunta no debería ser ¿por qué enseñar ensamblador? sino ¿cómo no iba a enseñarse en ingeniería? Además, el lenguaje ensamblador es el único nativo de la máquina, todos los demás de alto nivel solo son sucedáneos, intérpretes, meros intermediarios...
Tiene razon profesor, soy principiante en programar microcontroladores, mas bien dicho nivel un poco menos que intermedio, ahorita que llevo aprendiendo asembler, entiendo mas lo que se del lenguaje C y por que de ciertas situaciones, muy buena intervencion suya explicando el lenguaje que muchos le tienen aversion (ensamblador), estoy decidido aprender ensamblador hasta el final.
Yo estoy en las mismas.
llevo como 27 años usando ordenadores y es real, mucha gente esta interesada en hacerlo no en saber como se hace, es la realidad de cada persona en general, a mi me interesa como funciona todo por que al final de cada historia uno no queda con dudas o realmente las resuelve antes de que nascan mas dudas.
Gracias PROFE, GENIO. Saludos
tu video me cambio la forma de ver como es la programacion y el diseño de juego :D
El eterno dilema: Máxima potencia con la aridez del código máquina o potencia reducida con la afabilidad de un lenguaje de alto nivel. Resulta muy interesante la opción de invertir el orden del aprendizaje clásico de programación para empezar con código máquina (de una forma sencilla y AMENA) antes de embarcarse en lenguajes próximos al humano; se programaría con sencillez (y vistosidad) en estos con la posibilidad de resolver los problemas que son un callejón sin salida (o muy tortuoso) para l@s que desconocen el funcionamiento a bajo nivel de la máquina en cuestión.
Muy buena explicacion , ojala se me de la posibilidad de adquirir este conocimiento hermoso
Gracias, saludos desde El Salvador.
excelente explicacion , gracias por todos tu videos
Muy cierto, ahora caigo en cuenta gracias profesor.
En mi carrera "Licenciado en Ciencias Computacionales" la materia de "lenguaje ensamblador" esta como optativa, tenia duda en tomarla, pero ahora con lo que dices, me he animado a cursarla, gracias
Me parece una buena idea. Sólo un apunte para tener en mente: recuerda siempre que cualquier materia tiene interés y enseñanzas propias, independientemente de cómo te sea enseñada. A veces, la forma de enseñar que tenemos algunos profesores no gusta a algunos estudiantes. El problema es que, desde el punto de vista del estudiante, se confunda la utilidad o pertinencia de la materia, con el gusto/disgusto por la forma de ser enseñada. Si te encuentras en una situación así, procura buscar tu propia forma de enfocar y aprender la materia para que no pagues con pérdida de conocimiento o habilidades una simple situación de falta de afinidad con quien te enseña :).
Ánimo y mucha suerte.
Como siempre, una charla instructiva e interesante
Muy interesante, que bien lo explicas
Después de escuchar todos estos argumentos de porque es bueno saber ensamblador, me siento motivado a aprenderlo. Es más, de inmediato voy a ver que tal está su curso.
Gracias por compartir su punto de vista sobre la educación, me gustaría opinar al respecto pero... apenas soy un estudiante del primer año de ingeniría informática y no me considero dueño de los conocimientos adecuados y suficientes para apoyar o no su perspectiva.
Fran, excelente y estoy de acuerdo, por ello sigo C y C++ porque aprendo más cosas que en un lenguaje de más alto nivel. He visto tus videos de assembler en CPC y son excelente. Te quería preguntar, por algún libro de assembler, que me permita roadmap para entender las máquinas de las máquinas que usamos en estos tiempos. Gracias Fran desde ya, por esto y por todos los vídeos que has compartido.
Ah el libro será parte de mi biblioteca, así como el de 4ta edición del C++ de Bajarme S. Que me recomendarte y que esta muy bueno..
Prueba con "The art of assembly" de Randall Hyde, en su 1ª edición (las siguientes mejor no, mejor la 1ª). Después puedes probar el "Computer Systems: A Programmer's Perspective" de Randl E. Bryant. Con ambos puedes aprender mucho sobre bajo nivel, arquitectura y entender mejor cómo funcionan los ordenadores bien, a nivel de ensamblador.
@@ProfesorRetroman Gracias Fran , espero sientas el valor incalculable, que nos brindas transmitiendo tu experiencia y tus consejos, no me canso de agradecerte. Mi primer assembler fue como en 1990 programando en Pascal necesitaba mover el mouse (que era de dos de bola que se trabajan con el polvo) . Solo para recordar y mantener viva esa chispa por aprender 😀.
Hola, sé que han pasado años desde que subiste este video y me agradó mucho, comparto la idea de porque deberiamos aprender ensamblador para conocer el funcionamiento de la maquina y manejarla con profesionalismo. Me gustaría que me dieras una guia de como empezar para apremder ensamblador y poder aprender mucho. Seria que me indicaras si tienes en tus videos una playlist que deba seguir.
Es que miro que hay muchos vídeos y no sé por donde empezar.
Te lo agradecería
Tengo la misma filosofía y aunque no sé nada de programar me interesaba entender la máquina desde lo más básico para entender cosas más complicadas y a su vez sencillas, llegue apartir de una definición básica de lenguaje ensamblador que decía que era más apegada a el entendimiento de la máquina, y llegar con alguien que pensará igual fue una muy buena experiencia.
Saludos desde Ecuador excelente video lo vi completo
Como siempre, genial.
Que clase de catedra! mano saludos dsd Vnzla.
Gracias por el video :)
Muy útil.
a mí me pasa un poco al revés; resulta que entiendo las cosas a bajo nivel pero me cuesta entender las abstracciones cuando se vuelven demasiado abstractas
Soy un Autodidacta con un grado medio y superior de instalaciones Electricas y siempre me ha gustado la informática, la electrónica y los videojuegos. Tenía duda de si empezar por otros lenguajes como phyton desde hace años pero el siemple hecho de no encontrar el adecuado y por ende sin alguien que me aconsejase-guiase tumbé las ganas y lo dejé pero hace 2 días me encontré por casualidad este canal me ha despejado las dudas de por dónde empezar como bien dice, hay que conocer a la máquina para lidiar con ella y saber qué decirle. Muchas gracias por su esfuerzo. Saludos desde Andalucía Profesor.
de los mejores cursos que e visto... e comprendido tantas cosas . lo que ocurre es que actualmente la gran mayoria de "ingenieros" ya solo trabajan de "ofimaticos calificados" , ya solo usan frameworks y ya solo hablan de "conexiones automaticas. y esta bien... es normal que asi sea porque ya la informatica ya crecio tanto... deberia ya haber una nueva carrera universitaria llamada "cientifico informatico" donde se le de total importancia a todo esto de procesadores, ensamblador... compiladores... y dejar q los ingenieros solo vean las cosas mas simples de solo usar lenguajes de alto nivel....
Profe, no hace mucho que veo tus videos, pero este ha sido una joya completa, quisiera saber si impartes a maestrías en la universidad donde trabajas y de ser así cuáles opciones habrian
Muchas gracias, Sebastián. Sí, como puedes ver en los vídeos, todos llevan el logo de la Universidad de Alicante (aquí en España) que es donde ejerzo como profesor e imparto clases de Videojuegos e Inteligencia Artificial para Videojuegos en 2 Maestrías (aquí se llaman Grados y, antiguamente, Ingenierías) que se llaman Grado en Ingeniería en Informática y Grado en Ingeniería Multimedia. Si quisieras hacer alguno de estos Grados, la universidad es presencial. En todo caso, casi todas mis clases las tienes en el canal, organizadas en listas de vídeos, cada una agrupando las clases que doy cada año, tanto de programación de videojuegos en ensamblador como en C++.
es bunisimo este video¡¡¡¡ muchas gracias.
Me gustaría tener un profe como usted :,v xD, por ahora estaré aprendiendo ensamblador en el Intel 8085 para después pasar a C y por último a entender mejor el lenguaje con el que trabajo, Java
Gracias profe ... siempre que subo un nivel de abstracción pierdo control y puedo ganar productividad....
Buenas tardes
empeze a seguir tus tutoriales de ASM y son geniales. Tambien haces tutoriales de BASIC con CPC ?
Muchas gracias por el aprecio ☺️. En realidad son clases, no son tutoriales 😉.
Sí. También hemos hecho de BASIC y lo tienes todo en las listas de reproducción. Busca el GameDev Challenge BASIC Vs C
@@ProfesorRetroman Upsss perdón ..si clases. Hoo ok voy a mirar, muchas gracias
¡tienes toda la razon!
Me habes inspirado, espero no odiarte cuando este con asm jajs gracias 😂
Saludos profe y saludos a todos, actualmente estoy leyendo el libro del pic16f84 de RA-MA y me gustaría realizar las practicas que se muestran en el libro, sin embargo me entere que mplab x ya no daba soporte para assembler, por lo que me gustaría saber que editor de texto usaban en aquella época (2004) para assembler. Estaré muy agradecido por cualquier ayuda o recomendación .
Muy bueno de verdad,
lo que me bolo la cabeza es darme cuenta que una clase en c++ es una estructura 🤯
que una clase heredada es sumar cada vez mas espacio en memoria
Hola profe, saludos desde Argentina!!!
Con mis compas del terciario nos preguntabamos si tienes contenido de programación en C (no c++), un abrazo!!!
Claro que sí. Tienes varias series donde hablo de C y las puedes encontrar todas en las listas de reproducción del canal.
- BASIC vs C: Ahí tratamos de programar en BASIC y C para Amstrad, y es mi compañero Héctor Linares quien explica las cosas en C.
- Rust vs C: Hemos hecho un episodio sólo (haremos más), pero ahí programamos en Rust y en C para PC y comparamos ambos lenguajes para aprender los dos.
- Serie C y Ensamblador: Programo lo mismo en C y Ensamblador para Amstrad para aprender cómo las cosas que se hacen en C se traducen o funcionan en Ensamblador.
- Serie GameEngine ECS para Amstrad C: Explico como programar un GameEngine para hacer juegos en Amstrad CPC desde 0 en C. Ahí cuento muchas cuestiones de C y herramientas interesantes como los punteros a función y la inversión de control.
- 2016 GameDev-C-Z80: Desarrollo de juegos sencillos en C para Amstrad CPC, contando muchas cosas interesantes de programación en C y por qué hacer las cosas de una manera u otra.
Además de eso, hay vídeos sueltos de programación en C. No hay ningún curso estructurado específico para aprender el lenguaje como tal, pero todos estos vídeos te darán muchas ideas para entenderlo mejor.
Espero que te sean de ayuda :).
Muchas gracias por el aprecio! :)
hola profe sode argentina entre de forma autidactica en la programacion comensando en los lenguaes de marcados html css luego mi primer lenguae de programacion que aprendi a un nivel intermedio fue javascript luego python y a un nivel vasico php y C pero cuando hice mi primer proyecto super vacico usando el ide de arduino y viendolo funcionar en simulid me enamore del la programacion de harware y por mi cuenta ahora estoy aprendiendo programacion en vinario y en ensamblador me encanta y facina a la vez tener tanto control sobre los microcontroladore y en el futuro sobre los procesadores pero no se cual es su mercado lavoral porque todavia me falta mucho y aveces me cuestiono si lo mejor seria que dedicara todo ese tiempo a aprender otra tecnologia digital con salida lavoral mas rapida podria desirme porfavor cual es la salida lavoral en ensamblador si es que se puede ser programador desde casa y cuales son los entornos lavorales en remoto gracias su explicacion me gusto enormemente
El ensamblador tiene salidas laborales, como todo. De hecho, las salidas que tiene son muy buenas porque hay muy poca gente con estos conocimientos y se paga muy bien. Sin embargo, los puestos que demandan ensamblador de forma directa son muy pocos también.
Sin embargo, ensamblador no es algo a aprender por las salidas laborales. Ensamblador, sin siquiera aprenderlo, puede enseñarnos a todos una gran lección. Las salidas profesionales no nos las dan los temas, nos las dan nuestras propias habilidades. Las personas con más conocimientos y habilidades son las que tienen las mejores y más exitosas salidas laborales. Ensamblador, al ser un conocimiento base, te da la capacidad de entender mejor y de desarrollar a partir de él más y mejores conocimientos y habilidades, todos ellos mejor cimentados. Si tus conocimientos son más y, además, son mejores, después tendrás salidas laborales por encima de otras personas que no tengan esas habilidades y conocimientos.
Muy a menudo enseño a mis estudiantes que el camino rápido lleva pronto a callejones sin salida. Es más, muchas veces, el camino largo y lento termina siendo incluso más rápido. Pero, incluso cuando el camino largo y lento es más largo y más lento, está lleno de lo que buscamos: florecimiento profesional y personal. Nunca subestimes el poder de aprender y de aprender bien. Lleva mucho tiempo y mucho esfuerzo, pero es precisamente por eso que es valioso. Lo que se hace rápido y/o con poco esfuerzo, puede hacerlo mucha gente, y por eso no es valioso. Lo se tiene que hacer lento y con esfuerzo lo hace muy poca gente, y por eso es muy valioso y da siempre mejores resultados. Lleva a donde quieres ir de verdad.
@@ProfesorRetroman gracias por el gran consejo
lo mismo para cuando diseñas un circuito y depende de una fuente que no tenes recursos para un alto consumo y tenes que hacer que el micro ande tranqui , por que consume banda cuando lo pones a tope
Yo soy matemático y pienso que cuando algo se vuelve completamente industrial se olvida de lo que es: la ciencia computacional es una rama de las matemáticas y entre más acercamiento tengas con sus origenes mejor perspectiva y conocimientos tienes de los temas, nunca sabrás cómo funciona una máquina computacional y optimización de algoritmos hasta que te enfrentas a las limitaciones técnicas y a las formas de trabajo de bajo nivel. Yo comencé programando en una commodore64.
He visto gran cantidad de ingenieros en software que no saben hacer algoritmos, dependen de librerías, apis, etc. A veces me dan la impresión de que no son ingenieros, son mecánicos cambiando piezas que ya no sirven y su trabajo máximo es modificar las piezas para que se adapten las entradas y salidas.
Yo he tenido éxito en mi trabajo porque me dedico a hacer eso que los ingenieros en software ya no quieren hacer; optimización de algoritmos y gestión de recursos.
Aunque también he visto gurús que son programadores con décadas de experiencia que definitivamente son unos crack sin comparación.
El alumno que formuló la pregunta o no sabe de qué va una ingeniería o realmente en su facultad o carrera no se lo han hecho entender. Java o web son lenguajes que aprendes en un ciclo fp, sí. Yo aprendí el primer año con Alecop y tecleando los preogramas a mano en un dispositivo con pantalla lcd. Y yo pienso que con Z80 y este emulador es mucho más cómodo. Pero por qué todo esto? Pues el fin es conocer cómo funciona la memoria, la cpu, la e/s, etc. Y así ten por seguro que serás un gran ingeniero y mucho mejor programador. El ensamblador es un lenguaje sencillísimo comparado con c, c++ o Java. Los alumnos se creen que con un bootcamp serán expertos.
Ud ha considerado enseñar fpga y por q de su importancia gracias
No, no lo he considerado porque no es mi campo y no soy la persona indicada para enseñarlo :). Hay profesores de muy buen nivel y con canales de UA-cam aquí en España que lo hacen fenomenal en este campo. Prueba a ver a @ObiJuanCube que es muy bueno. Estoy seguro de que podrá enseñarte lo que necesites ;)
¿Cómo puedo empezar a aprender ensamblador y lenguaje máquina?
Puedes empezar si quieres con el curso Dominando Ensamblador del Z80 que hay en mi canal y mi web. Ahí empiezas en código máquina y luego sigues a ensamblador. Después, si quieres aprender más, tienes 6 cursos completos de desarrollo de videojuegos en ensamblador Z80 para Amstrad, de los que puedes aprender todo lo que necesites. Y, por último, el viernes pasado comenzamos la serie C y Ensamblador desde 0, de la que hoy hacemos el 2o episodio en directo, dentro de 2 horas.
Ánimo y suerte :)
Que razón tienes, yo empecé con el Basic, luego el QBasic y cuando estudie el modulo superior de informatica (ASI, no era programación) me enseñaron la metodología de programación, arquitectura, lenguaje Turbo Pascal que fue donde usamos varias rutinas en ensamblador y se notaba la diferencia en utilizarlo o no, tambien C y un poco de C++.
Como siempre me ha gustado el Basic por mi cuenta estudie Visual Basic 5 y 6. Después de 12 años sin programar, los últimos 4 me actualice a Visual Basic net (2013-2015), para los juegos la libreria XNA 4.0 y algo del motor GameMaker.
Lo que quiero decir con todo esto, es que nos acostumbramos a utilizar los lenguajes de alto nivel, los lenguajes visuales, lo que es fácil y utilizar herramientas o librerias para crear videojuegos porque los ordenadores de hoy día son cada vez más potentes y da igual el código si esta bien o no. Antes con ordenadores como Commodore 64 (tenía) los juegos tenian que estrujarse y ser muy optimizados porque solo tenías 64k de memoria y se hacía cada juego espectacular. En su dia compre algun libro en ensamblador porque para los juegos no te quedaba más remedio, pero a medida que surgió los lenguajes de alto nivel y visuales pues cambias de opinión. Aun así siempre me gustó los juegos arcade, retro... y por eso utilizar motores como 3D Unity que para cualquier juego que realizas necesitas tener una buena máquina no me gusta, yo mis juegos los puedo seguir utilizando en Pentium IV con XP, como en i7 con W10 y van a la misma velocidad por eso utilizo la libreria XNA aunque está obsoleta, pero porque algo sea antiguo o no se utilice no significa que no sirva y que no te ayude para aprender otras cosas. Saludos
Ya que hablas de XNA echale un ojo a fork libre que hizo Ethan Lee de esas librerias fna-xna.github.io/
excelente expllicaci'on
que hay sobre programar ensamblador el 16f84 a es bueno?
Digamos que recomendaría huir de preguntas como esta, y te explico por qué. A las personas nos gusta en general pensar en términos concretos de si una cosa es buena o mala, y de que hay cosas buenas y malas. La realidad es que esto no es así. No hay ensambladores buenos y malos, no hay sistemas de programación buenos y otros malos, no hay lenguajes buenos y otros que sean malos. Cada cosa que hagamos tiene unas ventajas y unos inconvenientes, siempre. No importa qué sea lo que hagamos, siempre hay ventajas y siempre hay inconvenientes. Lo único interesante como pregunta es si dada una necesidad o un problema, pueden ser más interesantes unas ventajas o pueden ser más perjudiciales unos inconvenientes concretos. Esto es lo que hacemos en ingeniería: no se trata de saber qué es lo bueno, sino de centrarse en el problema y considerar todas las opciones en función de sus ventajas e inconvenientes.
Te hago esta recomendación, porque creo que te puede ayudar a tener mejores esquemas de pensamiento en general.
Dicho eso, y centrándose en el 16f84, se trata de un microcontrolador como otros tantos miles de ellos que hay. ¿Es bueno programar en ensamblador del 16f84? Si hablamos de aprendizaje, que es lo que a mi me preocupa en este vídeo, es bueno, sin duda. Sin embargo, matizaría. En aprendizaje no es conveniente elegir un sistema bueno o buscar un sistema mejor. Lo realmente mejor es programar en varios sistemas distintos y, si puede ser, en periodos de tiempo solapados. Si nos encontramos programando varios ensambladores a la vez, de varios chips y diversas máquinas, obtendremos mucho mejor y más profundo aprendizaje sobre las máquinas y su programación. Esto no suele hacerse porque requiere más tiempo, es menos intuitivo y es más difícil. Sin embargo, esa es la mejor aproximación, si se trata de aprendizaje.
Cuando no se tiene tiempo de la opción mejor, la segunda mejor es, simplemente, aquello a lo que vayas a dedicarle tiempo y te atraiga. Si te gusta el PIC16f84, como si te gustase el 6502 o el Z80, esa es una muy buena opción. Lo que te atrae y te gusta facilitará que le dediques tiempo, esfuerzo y constancia. Y de todos los factores, el más importante es el último: constancia. Cuando se hace algo con constancia, se obtienen beneficios de aprendizaje. Si no, aunque la opción sea la teórica mejor, no se obtendrá nada por falta de dedicación.
@@ProfesorRetroman muchas gracias yo tome la decision de estudiar el 16f84a por la facilidad de bibliografia y simuladores me parece mas facil de encontrar , por que de zilog no he encontrado mucho , bueno soy de peru y esto es lo que enseñan algunas universidades , es importante como usted dice conocer la variedad, pero tambien tratare de tener conocimientos de zylog y intel
Profe qué opina de usar Rust teniendo en cuenta que te obliga a generar código sin vulnerabilidades como lo puedes cometer en C/C++?
Rust es un gran lenguaje que acaba de empezar y tiene un recorrido a futuro muy bueno. Probablemente sea un lenguaje muy usado a medio y largo plazo. Sin embargo, Rust no "obliga a generar código sin vulnerabilidades". Esto no puede hacerlo ningún lenguaje, salvo que se limite tanto que no puedas hacer con él muchas cosas útiles. Rust está diseñado con unas premisas de seguridad de acceso a memoria, para facilitar el trabajo multihilo y minimizar con ello los errores intrínsecos a este tipo de desarrollos. El concepto es muy bueno y está muy bien diseñado, pero no debes asumir que es perfecto: no es posible ser perfecto, no es posible evitar errores de seguridad, no es posible tampoco impedir que cometas errores o que tus programas tengan vulnerabilidades. Lo que el lenguaje hace es dar un paso más con los conocimientos que tenemos para reducir estos errores, y lo hace muy bien. Pero nadie puede eliminarlos, eso es intrínseco a cómo es el software. Por otro lado, debes entender que estas decisiones de diseño no son gratuitas: toda decisión en desarrollo es siempre un balance coste/beneficio. Rust aporta unos beneficios muy interesantes, que incluyen también unos costes. Estos costes pueden no ser evidentes, o ser simplemente asumibles, por lo que se asumen y se disfrutan de los beneficios. Pero no olvides que cualquier decisión en desarrollo siempre, siempre, es coste/beneficio. No hay beneficios a coste 0.
@@ProfesorRetroman !Super!, me quedo mucho más claro, gracias por tomarte el tiempo de responder. Saludos
gracias por explicarlo.
entre con el pensamiento de "porque los dino-profesores de sistemas lo aprendieron y tienen que enseñarlo, para agrandar un poco mas el temario"
sigo pensando lo mismo. pero ahora me ahorraste horas de estudio.
Profesor, esta un manuale para installar cpc telera y como se utiliza desde zero? Yo tengo una computadora con windows xp y me sale difficil la installacion de cpc telera no se de donde descargar un file (lista de sitios mirror) he cliccado todos los paises y nada no enquentro el file
Una pregunta, donde puedo encontrar la lista de reproducción de tus cursos de ASM ordenadas, escuche de una web que dijiste pero no se entendió bien y no la encontré, si me podes dejar un link seria genial. Gracias y excelente video!!!
Hay varios sitios donde está publicada. Tienes uno de ellos aquí, en CPCWiki: www.cpcwiki.eu/index.php/DEZ80
Espero que te sea útil :)
con c++ no podria programar en bajo nivel?
Con C++ programas al nivel del lenguaje C++, que es un nivel mucho más alto que ensamblador y muchísimo más alto que código máquina. Precisamente, uno de los propósitos de programar en ensamblador que comento en el vídeo es el de entender mejor cómo funciona todo por dentro, para así poder entender mejor qué sucede cuando programamos en C++.
@@ProfesorRetroman yo segun tenia entendido que con c++ podes programar en bajo, medio y alto nivel, eso es mentira entonces?
El curso de Z80 se puede hacer desde linux? Saludos y gracias
Por supuesto. Todos los vídeos están grabados desde Linux y es el único SO que uso desde hace casi 1 década :).
Profe, que nos recomienda con respecto a los FPGA??
Lo cierto es que no soy quien para recomendar nada sobre FPGA. En ese terreno, es mejor que preguntes a un experto en FPGA :).
tenes mucha razon pero yo creo que esos lenguajes son perfectos para ingeñeros en electronica ya que somos amantes de saber como funciona de raiz no solo a nivel lenguaje sino a nivel electronico en general desde sus mosfet a sus celdas de memoria en mi caso me encanta ensamblador y c principalmente porque me gusta el area de harware y electronica en general por eso me gustan esos lenguajes porque te enseñan como son sus puertos sus pines sus modulos como se conforman ect creo esos lenguajes son para ingenieros mayormente el resto es mas para entusiastas a crear juegos y cosas mas superficales ya que no les gusta yegar al fondo a la raiz de la maquina...por eso solo utilizo c y estudio ensamblador para conocer a fondo los microos de ahi solo instale programas como pic c compiler mplab ide e ipe y utilize programadores del tipo pickit y usbasp y programas como atmel studio avrdudess para los atmega son hermosos esos lenguajes para un electronico en especial aguanten los microocontroladores jaja buen video coincido con usted maestro usted en este video diferencia los ingenieros de los programadores superficiales no es malo sean solo superficiales aportan al gremio pero los ingenieros apuntan a lo que usted detalla en este video saludos desde argentina un abraso y gracias por aclararlo tan bien la diferencia quedo mas que claro
me interesa aprender ensamblador, en mi universidad no lo impartieron y me he topado con problemas en el trabajo en los que podria haber solucionado mas rapido el problema si hubiera aprendido ensamblador ya que hay ocasiones en que debo aplicar ingenieria inversa a programas de mi trabajo para poder entenderlos y solucionar el problema que se presenta
Al final escribiste el libro? La verdad me gustaría un libro de lenguaje C con tus detalles que tienes o si puedes recomendarme uno y también sobre C++ me gustaría. Gracias
Aún no he escrito ningún libro, pero ciertamente es algo que tengo pensando. Si se dan las condiciones oportunas, quizá lo haga pronto.
En cuanto a libros, si es para empezar, siempre recomiendo empezar por Bjarne Stroustroup: www.stroustrup.com/programming.html
Después, cualquier libro reciente (últimos 5 años) de C o C++ son muy recomendables en general para ponerse al día.
@@ProfesorRetroman Gracias profe, antes de leerte me he comprado un libro por 10 dolares, un libro del año 95 sobre el lenguaje C, es Manual de Referencia 3er edicion por Herbert Schildt y me sirve para aclarar algunas cosas sobre el lenguaje, espero pronto saltarme a C++ para aprender OpenGL y tomar el tema de videojuegos
Te recomiendo que vayas directo al de C++ y que evites leer libros anteriores a 2015. Las técnicas de programación han cambiado mucho y las buenas prácticas también. Muchas cosas que se ven en libros anteriores a 2015 están ya consideradas malas prácticas. Es mejor que las evites desde el principio. Por otra parte, no hace falta aprender C antes de C++. Puedes hacerlo si quieres, pero son dos lenguajes distintos y no es necesario ese orden.
Ánimo y suerte :)
No he hecho carrera deingeniería de software, pero he aprendido a programar en C, que me gusta más que C++. Siempre he querido aprender ensamblador x86, pero nunca he encontrado buenos cursos
Muy buena explicación, uan consulta las colisiones en los juegos 3d, en c++? como es eso?
que diferencia hay entre el codigo maquina, codigo ensamblador & basic?
Excelentisimo video mi buen, la verdad me rei cuando dijiste que hay disque programadores que dicen que C++ es un lenguaje obsoleto, solte una carcajada porque osea, C++ please el 90% de las aplicaciones del mundo estan hechas en c++ la IDE con la que esos pseudoprogramadores que ni a eso llegan estan hechos en C++ el navegador programas de diseño 3d, motoresd e videojuego intefaz grafica de windows o de cualquier otro SO estan hechas en C++, osea en serio que cualquiera que se respete en el mundo de la informatica sabe eso y mas sabiendo que los lenguajes que por asi decirlo son los dioses de las computadores amos y señores, son C, C++ y por supuesto Ensamblador, solo me imagino que seria si todas las apps existentes fuesen programadas en asm integro, o los videojuegos, serian extremadamente rapidas y optimizadas, porque como usted lo dijo programar en ASM es hablarle directamente a la maquina, eso es ser programador, no disque programar y usar la IDE que esta programada con la libreria de la libreria de la libreria de la libreria... de C++
LE MANDO UN GRAN SALUDO MAESTRO
Sería genial un libro explicas bien!!!
Y tengo una duda, hace un timpo me compre k libro de C y lo empecé a leer y a hacer los ejercicios voy casi por la mitad, ya vi punteros y estoy por cadena de caracteres, que me recomendas que lo termine o que lo deje por donde me quede y empieze en asm y después lo retomé?
Si ya lo llevas a la mitad, creo que es mejor que sigas. Continuar un ritmo que ya has empezado te será más fácil que romperlo, y seguramente más útil al corto/medio plazo. En cualquier caso, si te interesa lo que comento, puedes ir en paralelo empezando el curso de código máquina de mi canal, y seguramente ambos conocimientos te irán dando mejor perspectiva.
Suerte y ánimo.
@@ProfesorRetroman Y cuando termine me pongo con asm, eh visto un libro nuevo, en realidad son dos libros del mismo autor se llama "Programacion retro del commodore 64" y por la poco info que hay en Español me pareció una buena idea, ya que vos dijiste también que es ideal empezar con algun micro de 8 bits por el tamaño de instrucciones, nombraste el z80 y el 6502 que no se si es del commodore 64.
@@marcush8949 Sí. Commodore 64 usa el 6502 y es otro micro de 8 bits. Personalmente, creo que el Z80 es más interesante si luego se quiere continuar con el x86 y x86_64, porque ambos son de la misma línea y tienen muchas similitudes. El 6502 es muy distinto como procesador y su ensamblador y forma de funcionar son más parecidos a la línea de ARM. Con cualquiera aprenderás muchas cosas interesantes, y conocer ambas arquitecturas sería mejor que una sola, pero si quieres continuar después con procesadores de intel, el Z80 es mejor por ser de la misma línea.
@@ProfesorRetroman Muchas gracias por la respuesta, saludos!!!
@@ProfesorRetroman Y que se asemeja a los mic. de AMD?