7
votes

Quelle est la mature la mise en œuvre actuelle de Dylan Open Dylan?

Open Dylan a l'air vraiment intéressant. Cependant, avant de l'utiliser dans un développement réel, j'aimerais savoir à quel point la mise en œuvre est mature. Je sais que Dylan lui-même est une langue ancienne et elle a été utilisée par Apple.


4 commentaires

Fortran et Lisp sont "vieux" - Dylan n'est même pas d'âge moyen.


Quelle est la métrique de la maturité du code?


Fondamentalement, je suis intéressé s'il est prêt pour la production pour des applications non critiques.


Paul, bo "vieux" Je voulais dire que je sais que la langue elle-même n'est pas nouvelle et non testée. Désolé si j'étais peu clair.


3 Réponses :


2
votes

Selon un Commentaire sur Hacker News Ce n'est pas encore prêt. Ils ont juste commencé à faire revivre le projet.


4 commentaires

Cela dépend de ce que vous voulez faire. Par exemple, si vous voulez faire quelque chose pour lequel il n'y a pas de bibliothèque, vous devrez peut-être écrire plus de code que sinon. Mais c'est en forme fine pour une utilisation de base de la langue pour la programmation générale.


@Chrispage, vous savez donc mieux que l'équipe actuelle derrière Open Dylan?


@stesch - J'apprécie votre contribution, mais c'est cruellement obsolète. Le "commentaire sur les nouvelles de hacker" que vous avez référencé a été effectué le 11 décembre 2011 à propos de la publication ouverte Dylan 2011.1. À compter du 2020 octobre 2020, voici la liste actuelle de toutes les rejets, dans l'ordre inverse: 2019.01, 2014.1, 2013.2, 2013.1, 2012.1, et celui que vous avez écrit sur, 2011.1.1. Voici le Notes de version où cette information vient de. Après avoir examiné rapidement toutes les notes de publication, le projet semble être vivant et bien, en particulier avec une publication récente en 2019.


@stesch - Souhaitez-vous mettre à jour / réviser cette réponse? Je ne pense pas que quelqu'un puisse dire qu'il "n'est pas encore prêt", après cinq sorties supplémentaires.



6
votes

Eh bien, la mise en œuvre actuelle, Open Dylan, a été développée depuis 95 par des objets Harlequin et fonctionnel, avant de devenir open source en 2003.

Comment est définie la maturité? Le compilateur comprend une IDE (Win32 uniquement, désolé), Corba, OLE, dans l'ensemble des lignes de code 850000. Ceci est (presque) tout le code DYLAN.

Signification, contrairement à d'autres langues, il est auto-hébergé. Le compilateur lui-même est écrit en dylan (avec une exception de certaines lignes de C (~ 4000 lignes de code) pour la liaison de collecteur d'exécution / déchets. Les back-extrémités sont soit un code X86 natif, soit c.

Veuillez ne pas confondre cette mise en œuvre avec les deux autres, qui sont autour: Gwydion Dylan (également écrit en Dylan; développé auparavant à la CMU, maintenant open source également), qui compile dylan à c; et Dylan Apple (fermé quelque part dans les pommes, grand stockage;).


1 commentaires

J'ai une copie de Apple Dylan. C'est en fait un système amusant mais inachevé et précipité alors que le projet était fermé IIRC. Il ne fonctionnera pas sur MacOS X, évidemment. J'ai utilisé D2C pour des projets de passe-temps pratiques, mais j'ai eu accès à Fun-O Dylan. Maintenant, c'est Opendylan et disponible sur GNU / Linux, c'est changé. Je recommanderais certainement dylan la langue. Cela me manque toujours lors de la programmation C ++ et de frapper un problème avec la hiérarchie de la classe, le système de type ou la fonction appelant des conventions qui ne seraient tout simplement pas un problème dans Dylan.



1
votes

En date du 4 Juin, 2020, la répartition des fichiers du projet OpenDylan, téléchargé à partir de https: / /github.com/dylan-lang/opendylan, comprend:

Vous pouvez voir qu'il ya 3112 fichiers Dylan composé de 30,643,409 octets au total, et aussi qu'il n'y a que 104 fichiers dans la langue C se composant de seulement 1.288.062 octets. Et ce soutien par la réponse de Hannes, mais aussi sorte de quantifie choses.

Pour deemphasize la réponse par Stesch, qui ne devrait plus être considéré comme pertinent ... Cela ne ressemble pas à un « projet qui n'est pas encore prêt ». Cela ne ressemble pas aussi un projet qui vient d'être relancé. Par conséquent, s'il vous plaît la réduction trompeuse peut répondre par « Stesch ».

Je recherche les langages de programmation, et Dylan est mon choix numéro un parce que:

  1. Il est fondé sur des principes Lisp, une base très solide
  2. Il est le seul Infix Lisp, et a été créé à l'origine par Apple, qui a jusqu'ici produit une quantité étonnante de la valeur à leurs utilisateurs.
  3. Parce qu'il est Infix, il sera plus facile pour le programmeur commun qui utilise un langage C-Like (JavaScript, C #, C, Java, et beaucoup d'autres) pour être en mesure d'apprendre une langue grand et puissant.
  4. Cette langue a pleine puissance macro Lisp. Dans les langues C, les langues macro là boulonné semblent, une langue complètement différente et nécessite parfois entre parenthèses supplémentaires pour le faire fonctionner, ce qui conduit à des bogues subtils. macros Lisp sont mises en œuvre à un niveau supérieur, plus loin dans le processus de compilation, et également utiliser la même langue (Lisp) pas une langue complètement différente il a la même « forme » et il est beaucoup plus facile à utiliser. Utilisez la fonction Macro est beaucoup plus fréquent dans les langues Lisp car il est beaucoup plus facile, en plus d'être plus puissant.

    Lire ceci, si vous êtes intéressé: D-expressions: Lisp puissance, Dylan style

    Et ce, pour comprendre pourquoi et comment macros Lisp sont puissants: Laissez sur Lambda - 50 ans de Lisp Ceci est la plupart du livre, en ligne, libre de lire. J'ai acheté le livre pour les derniers chapitres, celui sur la performance, et une mise en œuvre Forth sur Lisp, puis la mise en œuvre Lisp sur Forth.

    Langues spécifiques de domaine sont un énorme outil dans notre arsenal que nous n'avons pas fait terriblement bien utiliser. La puissance de macro Lisp (et est Forth flexibilité similaire) permet la définition de son DSL à la volée comme des ajouts intégrés à la solution en cours de création. Vous prolongez la langue - fournir de nouvelles façons d'exprimer des solutions le long du côté le code plus habituel .

    Sur un peu hors sujet, je un peu comme le facteur comme un meilleur Forth. Créé par Slava Pestov, un génie qui travaille actuellement pour Apple.

    1. Factor Langage de programmation sur Wikipedia

    2. site Web Facteur

    3. Une présentation YouTube sur le facteur de Slava Pestov

      Dans sa vidéo, Slava explique que le facteur est basé sur Forth, mais aussi Lisp. J'ai l'intention de se plonger dans ce pour savoir ce que cela signifie, depuis que je suis à la recherche, espérons la présence de la vraie puissance macro style Lisp mis en œuvre dans d'autres langues.


      Edit:

      De même dans la vidéo sur le facteur de Slava Pestov, il explique pourquoi sa mise en œuvre de l'orienté objet est mieux que beaucoup d'autres langues, que je considère comme très important, puisque tant est construit sur OO.


0 commentaires