Ver Mensaje Individual
  #23  
Antiguo 14-10-2018
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Bien, pero a donde quiero llegar es a ¿qué lenguaje se usó para crear java? pues principalmente c++ además de pascal y objetive-c
Si lo miras historicamente, se usa el lenguaje que había en el momento. Y se crea uno adicional. Eso esta bien. Pero la grafica dice:

Cita:
"La LEY es muy simple. Cada nivel SOLO puede emitir complejidad hacia ARRIBA".
Cada una de las palabras en mayusucula es una afirmacion errada. Si dijera:

Cita:
"La HISTORIA es muy simple. Cada lenguaje SE USO para crear un lenguaje ADICIONAL".
Que no suena tan descrestante.

No es sorprendente, porque incluso la afirmación de que C es un "lenguaje de bajo nivel" usandola como suposición de que significa "permite programar mas cerca de la maquina" no es correcta:

http://lambda-the-ultimate.org/node/5534
https://queue.acm.org/detail.cfm?id=3212479
Cita:
C Is Not a Low-level Language


In the wake of the recent Meltdown and Spectre vulnerabilities, it's worth spending some time looking at root causes. Both of these vulnerabilities involved processors speculatively executing instructions past some kind of access check and allowing the attacker to observe the results via a side channel. The features that led to these vulnerabilities, along with several others, were added to let C programmers continue to believe they were programming in a low-level language, when this hasn't been the case for decades.
Esto puede sonar imposible de creer, pero una vez estudias todo lo que tiene que hacer un compilador para hacer que ese codigo C ande, te das cuenta que tambien C es de (relativamente) alto nivel. Y no uno muy bueno.

El punto? "Alto" y "bajo" es relativo. Estamos amarrados a C no por ser de "bajo" nivel, sino porque es el estandar de la industria. Se me olvido de mencionar la razon ppal por la que se usa C/C++ para estas tareas. Por el ABI! Ya que tantos componentes y OS estan hechos en C, para hacer llamadas a esas interfaces, en C, tienes que emitir y entender C!

Y es un ASCO!

C es un pesimo lenguaje para conectar apps! Pero como es lo que hay, es lo que hay. Asi que toca aguantaselo. Asi, que si usas un lenguaje que ya tiene la maquinaria para entender C, pues te ahorras un problema menos.

------

Es posible hacer codigo en otros lenguajes que permiten emitir mucho mas eficiente assembler, simplemente porque son mas "cerca al metal" de la arquitectura moderna de los computadores:

http://www.lighterra.com/papers/modernmicroprocessors/

Y en este caso, C es una barrera para explotar esas nuevas capacidades.
__________________
El malabarista.
Responder Con Cita