7
votes

Un erlang écrit à Ada?

Un autre thread avait cette citation

  1. Erlang VM faisceau et hipe est écrit principalement en c.
  2. Les conducteurs liés liés sont écrits surtout dans C. (ils sont branchés sur VM et sert une communication avec l'extérieur monde.)

    J'ai lu certaines opinions que la prise de frappe, la modularité, la vérification des temps d'exécution, la transformation parallèle, etc., etc., sont meilleures que celles de c.

    erlang compilé à l'aide de ADA soit notable ni pire que l'erlang fabriqué avec C?

    juste un hypothétique q.


1 commentaires

Merci pour les réponses à tous. J'ai bricé avec Erlang .. et couru sur une histoire d'ADA qui a intrigué mon intérêt. Je continuerai avec Erlang, mais Ada est la suivante. Jusqu'à récemment, je pensais qu'Ada avait été vieilli avec peu d'utilité. J'avais tort. Tant de widgets à explorer et si peu de temps.


3 Réponses :


0
votes

Peut-être, mais quelle langue votre compilateur ADA était-il écrit? Ada? Qu'en est-il du compilateur qui écrit votre premier compilateur ADA?

À un moment donné lorsque vous construisez des logiciels, une sémantique formelle et des processus logiciels sont beaucoup plus importants que quelle langue a été codée.


2 commentaires

Je ne suis pas sûr de ce que vous demandez ici. Les langages les plus compilés, y compris tous les compilateurs ADA, je suis au courant, sont auto-hébergés (écrits en eux-mêmes).


Mon point était que finalement, il existe une langue dérivée autre que celle que vous utilisez pour écrire le compilateur actuel et que vous utilisez toutes les insécurités inhérentes à l'utilisation d'outils développés par d'autres personnes ... donc je ne suis donc pas sûr Quel est votre point ... vous rentrez assez loin, et chaque compilateur ADA a ses racines dans une lnaguage qui n'est pas aussi sûre à aucun égard ... et que cet ancien compilateur comprendra également des bugs ...



3
votes

"mieux" de quelle manière? Mieux comme dans plus vite? Mieux comme dans moins de bugs? Mieux comme dans plus portable? Mieux comme dans plus lisible? Mieux comme dans plus extensible?

Pour toute définition appropriée des "meilleurs" arguments peut être faite de toute façon. Cependant, il s'agit uniquement d'un écrit sacré qu'aucune langue compilée n'est plus portable que C. Ainsi, si l'un de vos objectifs est de rendre votre application hautement portable, C est un excellent choix.

Plus de gens comprennent C que ADA. Écriture des extensions Erlang pourrait être beaucoup plus difficile si elle était écrite à ADA, simplement parce que moins de personnes sont au courant de la langue.

C code C peut être très performant, mais je ne suis conscient d'aucune comparaison entre les optimisations C et ADA W / R aux compilateurs.

La vérification du type d'ADA pourrait être utile, sinon cela pourrait être un problème réel. On suppose qu'un VM fait que c'est propre type de type sur les morceaux qui comptent. Les frais généraux de la RTTC à ADA pourraient imposer un fardeau totalement inutile.


3 commentaires

Généralement, plus un compilateur d'informations sur un programme, plus il est facile d'optimiser le code. Ada bat le pantalon de C à cet égard. Cependant, dans quelle mesure un compilateur optimise réellement dépend davantage de la manière dont les écrivains veulent à optimiser, de sorte que vous n'êtes probablement pas susceptible de voir beaucoup de différence dans la pratique.


"Meilleur quoi?" Bon point. Merci. ..Je pensez en termes de vitesse, de fiabilité, de portabilité .. C ou ADA écrit Erlang serait probablement le cou et le cou. T.e.d. (ci-dessous) fait référence à un DOC qui implique que ADA peut être une meilleure décision d'entreprise.


Les implications vont au-delà des coûts. Pour tout produit, il existe trois variables: coût, qualité et heure. Si vous détenez deux de ces deux constantes, vous décidez de ce que le troisième est. Donc, quand ils disent que "coûte la moitié", il existe un "pour la même qualité et le même temps". Si vous préférez passer la même chose de toute façon, vous pouvez plutôt obtenir une meilleure qualité ou obtenir la même qualité beaucoup plus rapidement.



11
votes

Normalement, je jetterais un tas de weasel-mots à vous sur un sujet comme celui-ci, mais il s'avère cette question exacte a été étudié (c'est un fichier .doc. Désolé).

Rational avait un compilateur avec une grande quantité de code dans les deux langues et une grande quantité de données compilées sur plusieurs années sur des tarifs de bogues, des temps fixes, etc. hors de curiosité, l'un de leurs ingénieurs a remporté les chiffres.

La réponse était "Les coûts de développement de C dépassent ceux de l'ADA". Si vous lisez au-delà du titre récapitulatif, vous verriez qu'ils ont figuré l'écriture le même code à ADA leur coûte environ la moitié de la rédaction en C .

Je sais que tout le monde lisant ceci est impatient de piquer des trous dans cette conclusion. Moi aussi. Mais ils ont examiné Darn près de chaque angle que je pouvais penser dans le rapport.


5 commentaires

En fait, malgré mes commentaires précédents, j'ai vraiment aimé mon temps à développer à Ada. Je peux bien comprendre pourquoi le rapport aurait la conclusion que cela fait.


ADA Être un cycle de vie de développement moins coûteux est contraire à mon instinct. Je pensais que la demande d'offre des programmeurs de C rendrait les moins chères que les programmeurs ADA relativement rares. Curieuse.


J'ai fait un peu de développement dans les deux langues et peut signaler une grande différence dans mes chèques de paie.


Au cours de ma carrière, j'ai porté des applications ADA / C mixtes contenant des centaines de milliers, Nay, des millions de lignes d'ADA et C d'une plate-forme à une autre - s'adapter à un ou plusieurs matériels, systèmes d'exploitation ou compilateur. Dans tous les cas, beaucoup plus d'efforts ont été consacrés au portage du code C. De manière anecdotale, je dirais plus de 80%, même si c composait une minorité des SLOCS du système. La raison principale de ceci devait être distribuée à toutes les idiosyncrasies spécifiques au système. C est joliment portable s'il est limité à utiliser comme "langage de montage portable", mais il reste rarement confiné à cette arène.


C'est très vrai, pour que certains autres liens à ce sujet, voir: Stackoverflow. Com / Questions / 984866 / Pourquoi-Use-C / 988366 # 988366