por
pobrecito hablador
el Sábado, 01 Marzo de 2014, 09:11h
(#1356202)
Entonces ¿ensamblador que será, hiperbajísimo nivel? y si hablamos de binario mejor le decimos el lenguaje de Dios o similar. ¿no?
El ensamblador es ensamblador, no es un lenguaje de programación sino un conjunto de mnemotécnicos del lenguaje máquina. Los lenguajes de programación se pueden categorizar como de más bajo o más alto nivel (no es binario, no es o "bajo nivel" o "alto nivel") según lo cerca que estén del funcionamiento de la máquina. C es de más bajo nivel que Java, y Java es de más bajo nivel que SQL.
que un lenguaje tenga algunas funciones para trabajar directamente con posiciones físicas de memoria
Las funciones no son parte del lenguaje, pero el lenguaje sí está intrínsecamente ligado al hardware de la máquina. El acceso directo a la memoria no es lo único que lo denota como lenguaje de bajo nivel, el tipado débil también suma. El tipado en general, vamos, que está totalmente pegado a la máquina.
Joder, cómo cambian los conceptos en unos años, por dios.
Los conceptos no han cambiado, lo que pasa es que o te los explicaron mal o se te escapó algo importante. C fue concebido y diseñado como un lenguaje de bajo nivel. Querían programar sistemas operativos (que hasta entonces se programaban en ensamblador) con las ventajas de un lenguaje de alto nivel (sobre todo la portabilidad).
PD: He estado echando un ojo a ver qué había por wikipedia y el artículo sobre lenguajes de bajo nivel [wikipedia.org] está bastante bien. Es breve, y aunque no tiene muchas citas está bastante potable. Recomendado.
por
pobrecito hablador
el Sábado, 01 Marzo de 2014, 09:46h
(#1356207)
El ensamblador es algo más que un conjunto de nemotécnicos, programar en ensamblador puro con lápiz y papel sería un dolor de muelas a poco que el programa alcanzara cierta magnitud. Los ensambladores facilitan mucho las cosas.
por
pobrecito hablador
el Sábado, 01 Marzo de 2014, 09:58h
(#1356208)
Difiero.
A ver...
1 - "...el ensamblador no es un lenguaje de programación..."
De la wiki (por tomar una referencia...)
"El lenguaje ensamblador, o assembler (assembly language en inglés), es un lenguaje de programación de bajo nivel para los computadores, microprocesadores, microcontroladores y otros circuitos integrados programables. Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura dada de CPU y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador. "
2 - "...pero el lenguaje sí está intrínsecamente ligado al hardware de la máquina..."
¿Entonces esto es falso no?
"... C se desarrolló para incentivar la programación independiente de la máquina. Un programa escrito cumpliendo los estándares e intentando que sea portátil puede compilarse en muchos computadores..."
3 - "Las funciones no son parte del lenguaje..."
"En los años siguientes a la publicación del C de Kernighan y Ritchie, se añadieron al lenguaje muchas características no oficiales, que estaba soportadas por los compiladores de AT&T, entre otros. Algunas de estas características eran:
- Funciones void y el tipo de datos void *. - Funciones que retornaban tipos de datos struct - Una biblioteca estándar, que incorporaba la mayoría de las funcionalidades implementadas por varios desarrolladores de compiladores."
En fin... ya me dices tú qué programa más a montar en C sin usar las funciones de las bibliotecas al uso, salvo frikadas sólo aptas para picateclas masokistas.
Re:¿Usan 'gotos' para los programas de apple?
(Puntos:0)El ensamblador es ensamblador, no es un lenguaje de programación sino un conjunto de mnemotécnicos del lenguaje máquina. Los lenguajes de programación se pueden categorizar como de más bajo o más alto nivel (no es binario, no es o "bajo nivel" o "alto nivel") según lo cerca que estén del funcionamiento de la máquina. C es de más bajo nivel que Java, y Java es de más bajo nivel que SQL.
Las funciones no son parte del lenguaje, pero el lenguaje sí está intrínsecamente ligado al hardware de la máquina. El acceso directo a la memoria no es lo único que lo denota como lenguaje de bajo nivel, el tipado débil también suma. El tipado en general, vamos, que está totalmente pegado a la máquina.
Los conceptos no han cambiado, lo que pasa es que o te los explicaron mal o se te escapó algo importante. C fue concebido y diseñado como un lenguaje de bajo nivel. Querían programar sistemas operativos (que hasta entonces se programaban en ensamblador) con las ventajas de un lenguaje de alto nivel (sobre todo la portabilidad).
PD: He estado echando un ojo a ver qué había por wikipedia y el artículo sobre lenguajes de bajo nivel [wikipedia.org] está bastante bien. Es breve, y aunque no tiene muchas citas está bastante potable. Recomendado.
Re:¿Usan 'gotos' para los programas de apple?
(Puntos:0)Re:¿Usan 'gotos' para los programas de apple?
(Puntos:0)A ver...
1 - "...el ensamblador no es un lenguaje de programación..."
De la wiki (por tomar una referencia...)
"El lenguaje ensamblador, o assembler (assembly language en inglés), es un lenguaje de programación de bajo nivel para los computadores, microprocesadores, microcontroladores y otros circuitos integrados programables. Implementa una representación simbólica de los códigos de máquina binarios y otras constantes necesarias para programar una arquitectura dada de CPU y constituye la representación más directa del código máquina específico para cada arquitectura legible por un programador. "
2 - "...pero el lenguaje sí está intrínsecamente ligado al hardware de la máquina..."
¿Entonces esto es falso no?
"... C se desarrolló para incentivar la programación independiente de la máquina. Un programa escrito cumpliendo los estándares e intentando que sea portátil puede compilarse en muchos computadores..."
3 - "Las funciones no son parte del lenguaje..."
"En los años siguientes a la publicación del C de Kernighan y Ritchie, se añadieron al lenguaje muchas características no oficiales, que estaba soportadas por los compiladores de AT&T, entre otros. Algunas de estas características eran:
- Funciones void y el tipo de datos void *.
- Funciones que retornaban tipos de datos struct
- Una biblioteca estándar, que incorporaba la mayoría de las funcionalidades implementadas por varios desarrolladores de compiladores."
En fin... ya me dices tú qué programa más a montar en C sin usar las funciones de las bibliotecas al uso, salvo frikadas sólo aptas
para picateclas masokistas.
Saludos.