Pregunta

Otro hilo tenía esta cita

  1. Erlang VM BEAM y HiPE están escritos principalmente en C.
  2. Los controladores vinculados están escritos principalmente en C.(Están conectados a VM y sirven comunicación con el mundo exterior).

He leído algunas opiniones sobre la fuerte escritura, la modularidad, la verificación del tiempo de ejecución, el procesamiento paralelo, etc. de Ada.etc.son mejores que los de C.

¿Erlang compilado con Ada sería notablemente mejor o peor que el Erlang hecho con C?

Sólo una pregunta hipotética.

¿Fue útil?

Solución

Normalmente me tiro un montón de palabras de comadreja en usted en un tema como este, pero resulta que esta pregunta exacta se ha estudiado (es un archivo .doc. lo siento).

Racional tenían un compilador con una gran cantidad de código en ambos idiomas, y una gran cantidad de datos recopilados durante varios años en las tasas de errores, corregir los tiempos, etc. Por curiosidad, uno de sus ingenieros crujía los números.

La respuesta fue "costos de desarrollo de C superiores a las de Ada". Si se lee más allá del título de resumen, verías que se imaginaron escribir el mismo código en Ada ellos cuestan aproximadamente la mitad de lo que escribirlo en el costo C .

Yo sé que todos los que lean esto está ansioso por hacer agujeros en esa conclusión. Yo fui también. Sin embargo, se miraron el polígono industrial cerca de todos los ángulos que podía pensar en el informe.

Otros consejos

"mejor" de qué manera? Mejor que en el más rápido? Mejor que en menos errores? Mejor que en más portátil? Mejor que en más legible? Mejor que en más extensible?

Para cualquier definición adecuada de los argumentos "mejores" se pueden hacer de cualquier manera. Sin embargo, se trata sólo de escritura sagrada que ningún lenguaje compilado es más portátil que C. Por lo tanto, si uno de sus objetivos es hacer que su aplicación altamente portátil, C es una excelente opción.

Más gente a entender C que en Ada. Escribir extensiones Erlang podría ser mucho más difícil si se ha escrito en Ada, simplemente porque menos personas están familiarizados con el lenguaje.

código

C puede ser gran rendimiento, pero estoy al tanto de ninguna comparación entre C y Ada w / r para compilador optimizaciones.

comprobación de tipos de Ada podría ser útil, o podría ser un problema real. Uno presume que una máquina virtual hace su propia comprobación de tipos en las piezas que son importantes para él. La sobrecarga de RTTC en Ada podría imponer una carga completamente innecesario.

Tal vez, pero qué idioma fue su compilador Ada escrito en? Ada? ¿Qué pasa con el compilador que escribir su primer compilador de Ada?

En algún momento cuando se está construyendo el software, la semántica formal y procesos de software son mucho más importantes que lo que algo estaba lenguaje codificado en.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top