Que opináís de esto, es cierto o simplemente es un poco de "populismo", lo poco que he leído es que con el Internet de las cosas y los cacharricos al ser limitados el mejor lenguaje es ASM, pero no hace mucho vi varios vídeos en Youtube comentando que programar por ejemplo un Arduino en ASM es una gilipollez, aunque debe molar...
También pienso, que si hay que aprenderse el ASM de cada dispositivo que uses, vamos apañaos.
http://webscripts.softpedia.com/blog/af ... z4E6JhImH7
Ya diréis que pensáis del asunto.
ASM en el TOP 10 de los lenguajes de programación actuales....
- mentalthink
- Amiga 2500
- Mensajes: 2840
- Registrado: 11 Abr 2010, 15:06
- Gracias dadas: 45 veces
- Gracias recibidas: 14 veces
-
- Amiga 1200
- Mensajes: 1981
- Registrado: 01 Jun 2013, 16:21
- Sistema Favorito: PC
- primer_sistema: ZX81
- consola_favorita: Sega Saturn
- Primera consola: Atari 2600
- Ubicación: Republica de catalunya
- Gracias dadas: 31 veces
- Gracias recibidas: 31 veces
- Contactar:
Re: ASM en el TOP 10 de los lenguajes de programación actuales....
ASM es lo mismo Que codigo máquina? Vamos Gallifreyan para CPU's?
- zup
- Amiga 2500
- Mensajes: 3012
- Registrado: 04 Sep 2009, 20:07
- Sistema Favorito: Spectrum 16Kb/48Kb
- primer_sistema: Spectrum 16Kb/48Kb
- consola_favorita: Nintendo DS/3DS
- Primera consola: Nintendo GameBoy
- Ubicación: Navarra
- Gracias dadas: 86 veces
- Gracias recibidas: 356 veces
- Contactar:
Re: ASM en el TOP 10 de los lenguajes de programación actuales....
Casi, ASM (o ensamblador) es la forma legible del código máquina.
Tampoco me extraña tanto que esté en el top 10, ya que (a mi parecer) es mejor que los programas simples para microcontroladores y partes del firmware de los dispositivos estén en este lenguaje (por cuestiones de velocidad). De todas formas, poner ensamblador como un lenguaje es hacer trampa muy gorda, ya que estás englobando desde un 6502 hasta cualquier AMD64 pasando por ARM y demás. Seguro que si distinguen entre procesadores/familias de procesadores, bajaría bastantes puestos.
¿Aprender todos los ensambladores de todos los dispositivos que usas? Ni de coña. Está bien tener alguna noción, y aprenderte el que tengas excusas potentes para utilizarlo (p.ej.: Arduino, Z80, ARM). No tiene sentido tener que aprender ensamblador del i5, ya que (probablemente) jamás vas a utilizarlo porque tus programas los haras utilizando C y llamadas a diferentes APIs (Windows, Linux, DirectX, SDL... lo que sea).
Tampoco me extraña tanto que esté en el top 10, ya que (a mi parecer) es mejor que los programas simples para microcontroladores y partes del firmware de los dispositivos estén en este lenguaje (por cuestiones de velocidad). De todas formas, poner ensamblador como un lenguaje es hacer trampa muy gorda, ya que estás englobando desde un 6502 hasta cualquier AMD64 pasando por ARM y demás. Seguro que si distinguen entre procesadores/familias de procesadores, bajaría bastantes puestos.
¿Aprender todos los ensambladores de todos los dispositivos que usas? Ni de coña. Está bien tener alguna noción, y aprenderte el que tengas excusas potentes para utilizarlo (p.ej.: Arduino, Z80, ARM). No tiene sentido tener que aprender ensamblador del i5, ya que (probablemente) jamás vas a utilizarlo porque tus programas los haras utilizando C y llamadas a diferentes APIs (Windows, Linux, DirectX, SDL... lo que sea).
I have traveled across the universe and through the years to find Her. Sometimes going all the way is just a start.
Además vendo cosas!
Además vendo cosas!
- gacaffe
- Spectrum 48K Plus
- Mensajes: 39
- Registrado: 07 Nov 2015, 06:43
- Sistema Favorito: MSX
- primer_sistema: Dragon
- consola_favorita: (Otro)
- Primera consola: (Otro)
- Gracias dadas: 7 veces
- Gracias recibidas: 15 veces
- Contactar:
Re: ASM en el TOP 10 de los lenguajes de programación actuales....
Hola,
He recibido un email con un ranking de lenguajes de programación y me he acordado de este post.
http://spectrum.ieee.org/static/interac ... uages-2016
En este ranking ASM queda el 13 (en el otro me parece que queda el 10) . Pero resulta que C queda el número 1. Los lenguajes dedicados a sistemas empotrados aparecen en los puestos:
1 - C
4 - C++
11 - Arduino
13 - ASM
Lo que quiero resaltar es que es precisamente el boom de los empotrados debido al IoT y al desarrollo de sistemas de monitorización fisiológica para el deporte y la salud lo que hace que el ensamblador se haya relanzado. Realmente se utiliza C, pero es necesario conocer ensamblador para realizar de vez en cuando rutinas muy eficientes, y creo que tener conocimientos de ensamblador ayuda en general a programar los periféricos que vienen a hora asociados en un mismo chip con un microcontrolador. Estos periféricos se programan a base de accesos a registros, el uso de máscaras binarias, etc.
A mi me viene genial porque estoy porque he vuelto a enseñar ensamblador en la Uni gracias a todo esto, y no hay nada como estar cerca de los ceros y los unos
Un saludo
He recibido un email con un ranking de lenguajes de programación y me he acordado de este post.
http://spectrum.ieee.org/static/interac ... uages-2016
En este ranking ASM queda el 13 (en el otro me parece que queda el 10) . Pero resulta que C queda el número 1. Los lenguajes dedicados a sistemas empotrados aparecen en los puestos:
1 - C
4 - C++
11 - Arduino
13 - ASM
Lo que quiero resaltar es que es precisamente el boom de los empotrados debido al IoT y al desarrollo de sistemas de monitorización fisiológica para el deporte y la salud lo que hace que el ensamblador se haya relanzado. Realmente se utiliza C, pero es necesario conocer ensamblador para realizar de vez en cuando rutinas muy eficientes, y creo que tener conocimientos de ensamblador ayuda en general a programar los periféricos que vienen a hora asociados en un mismo chip con un microcontrolador. Estos periféricos se programan a base de accesos a registros, el uso de máscaras binarias, etc.
A mi me viene genial porque estoy porque he vuelto a enseñar ensamblador en la Uni gracias a todo esto, y no hay nada como estar cerca de los ceros y los unos

Un saludo
- josepzin
- Amiga 2500
- Mensajes: 3103
- Registrado: 12 Ene 2009, 14:36
- Sistema Favorito: C64
- primer_sistema: ZX81
- Ubicación: Carthagonova
- Gracias dadas: 4 veces
- Gracias recibidas: 63 veces
- Contactar:
- josepzin
- Amiga 2500
- Mensajes: 3103
- Registrado: 12 Ene 2009, 14:36
- Sistema Favorito: C64
- primer_sistema: ZX81
- Ubicación: Carthagonova
- Gracias dadas: 4 veces
- Gracias recibidas: 63 veces
- Contactar:
Re: ASM en el TOP 10 de los lenguajes de programación actuales....
El lenguaje R que está 5º no me suena de nada.
- josepzin
- Amiga 2500
- Mensajes: 3103
- Registrado: 12 Ene 2009, 14:36
- Sistema Favorito: C64
- primer_sistema: ZX81
- Ubicación: Carthagonova
- Gracias dadas: 4 veces
- Gracias recibidas: 63 veces
- Contactar:
Re: ASM en el TOP 10 de los lenguajes de programación actuales....
Mis lenguajes de uso habitual están 7 y 8 (PHP y Javascript), HTML está en puesto 16 pero no es un lenguaje ¿no?
- gacaffe
- Spectrum 48K Plus
- Mensajes: 39
- Registrado: 07 Nov 2015, 06:43
- Sistema Favorito: MSX
- primer_sistema: Dragon
- consola_favorita: (Otro)
- Primera consola: (Otro)
- Gracias dadas: 7 veces
- Gracias recibidas: 15 veces
- Contactar:
Re: ASM en el TOP 10 de los lenguajes de programación actuales....
josepzin escribió:Mis lenguajes de uso habitual están 7 y 8 (PHP y Javascript), HTML está en puesto 16 pero no es un lenguaje ¿no?
De hecho en la lista hay varios lenguajes que no son de programación. Por ejemplo, VHDL es un HDL (lenguaje de descripción HW).
- megamarc79
- Spectrum 48K Plus
- Mensajes: 36
- Registrado: 15 Jul 2015, 19:06
- Sistema Favorito: PC
- primer_sistema: Spectrum +2
- consola_favorita: Sega Genesis/Megadrive
- Primera consola: Sega Master System
- Ubicación: Barcelona
- Gracias dadas: 1 vez
- Gracias recibidas: 10 veces
- Contactar:
Re: ASM en el TOP 10 de los lenguajes de programación actuales....
Buenas,
Quiero comentar un poco mi propia experiencia. Llevo muchos años desarrollando firmware para toda clase de dispositivos hechos a medida. Puedo decir que algo tan "básico" como un PIC16 a 8 Mhz, con 4 Kb de flash de programa y 1 Kb de RAM se puede programar perfectamente en C, y de hecho es lo habitual. Ojo, C "a secas", no C++. Muy raramente hay que meterse con assembler, en todo caso algún componente concreto como implementar buses de comunicaciones mediante GPIOs -como un serie SPI o un paralelo 8080-. Pero sí que conocer assembler es un recurso importante, a veces es necesario debugar el desensamblado porque hay un bug en el compilador y tu programa se comporta inexplicablemente mal, con esto me he encontrado en un par de ocasiones.
Por otra parte, tampoco hay tantas variantes de assembler. Cada familia de arquitecturas -que no de dispositivos- tienen el suyo propio, pero los principios de funcionamiento son los mismos, sólo cambian los detalles de implementación. En activo están x86, ARM, MIPS, PowerPC y poco más. Dominado uno, pasarse a otro no es como aprender un lenguaje nuevo.
Curiosamente donde más se puede sacar provecho al assembler es en x86 y últimamente en ARM. No es un tema de recursos limitados. El lenguaje de sistemas por excelencia sigue siendo el C, pero tiene un modelo de programación secuencial típico de los años 70. Las CPUs modernas integran cada vez más instrucciones SIMD de código máquina orientadas al procesamiento paralelo y/o cálculo vectorial (llámense MMX, SSE, MultiVec, Neon, etc). El lenguaje C no dispone de recursos para expresar y aprovechar estas operaciones, por lo que al final es necesario escribir los algoritmos directamente en assembler para sacar partido a estas instrucciones.
Un saludo!
Quiero comentar un poco mi propia experiencia. Llevo muchos años desarrollando firmware para toda clase de dispositivos hechos a medida. Puedo decir que algo tan "básico" como un PIC16 a 8 Mhz, con 4 Kb de flash de programa y 1 Kb de RAM se puede programar perfectamente en C, y de hecho es lo habitual. Ojo, C "a secas", no C++. Muy raramente hay que meterse con assembler, en todo caso algún componente concreto como implementar buses de comunicaciones mediante GPIOs -como un serie SPI o un paralelo 8080-. Pero sí que conocer assembler es un recurso importante, a veces es necesario debugar el desensamblado porque hay un bug en el compilador y tu programa se comporta inexplicablemente mal, con esto me he encontrado en un par de ocasiones.
Por otra parte, tampoco hay tantas variantes de assembler. Cada familia de arquitecturas -que no de dispositivos- tienen el suyo propio, pero los principios de funcionamiento son los mismos, sólo cambian los detalles de implementación. En activo están x86, ARM, MIPS, PowerPC y poco más. Dominado uno, pasarse a otro no es como aprender un lenguaje nuevo.
Curiosamente donde más se puede sacar provecho al assembler es en x86 y últimamente en ARM. No es un tema de recursos limitados. El lenguaje de sistemas por excelencia sigue siendo el C, pero tiene un modelo de programación secuencial típico de los años 70. Las CPUs modernas integran cada vez más instrucciones SIMD de código máquina orientadas al procesamiento paralelo y/o cálculo vectorial (llámense MMX, SSE, MultiVec, Neon, etc). El lenguaje C no dispone de recursos para expresar y aprovechar estas operaciones, por lo que al final es necesario escribir los algoritmos directamente en assembler para sacar partido a estas instrucciones.
Un saludo!
- josepzin
- Amiga 2500
- Mensajes: 3103
- Registrado: 12 Ene 2009, 14:36
- Sistema Favorito: C64
- primer_sistema: ZX81
- Ubicación: Carthagonova
- Gracias dadas: 4 veces
- Gracias recibidas: 63 veces
- Contactar:
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados