Voici quelques caractéristiques, dans le désordre... : Orienté objet : classes, interfaces, délégation, RTTI, RAII (Resource Acquisition Is Initialization), Templates, vrais typedefs, définition de fonctions imbriquées, tableaux dynamiques, vrais types string, bit, complex, ... ramasse miette, gestion d'exceptions, assertions dynamiques et statiques (à la compilation), tests unitaires d'objets.
Il existe une bibliothèque pour GTK. Le frontend pour compilateur est en licence GPL+Artistic. Le projet de compilateur Gnu D, semble être abandonné... dommage.
Espérons que ce langage va percer...
Aller plus loin
- Page du langage D (27 clics)
- exemple wordcount (6 clics)
- Phobos ( D runtime library ) (3 clics)
- wrapper GTK (0 clic)
- FAQ (1 clic)
- Liens D (2 clics)
# Re: Les spécifications du langage D sont arrivées
Posté par dcp . Évalué à 10.
Je vous présente le Langage E
Site officiel la bas --> http://www.erights.org/index.html(...)
Didacticiel ici --> http://www.erights.org/elang/intro/index.html(...)
Bon allez j'arrête mes conneries moi
[^] # Re: Les spécifications du langage D sont arrivées
Posté par dcp . Évalué à 8.
Trop tard le langage E c'est déjà de la daube en boite car il existe enfin le ....
Language F
Site officiel --> http://www.scd.ucar.edu/zine/96/fall/articles/2.F.language.html(...)
[^] # Re: Les spécifications du langage D sont arrivées
Posté par dcp . Évalué à 8.
Tatatatata
Hum hum
Mesdames et Messieurs permettez de vous pésentez le...Language G
Qui renvoie aux oubliettes le C, D, E et F qui étaient quand même des sacrés merde, comme quoi on a été con...
Site officiel --> http://www.g-language.org/(...)
[^] # Re: Les spécifications du langage D sont arrivées
Posté par dcp . Évalué à 8.
z'avez devinez ?
Bah oui....
Ploum ploum
Avis a la populace enterrez vos vieux compilos place au....
Langage H
Ici-> http://www.inf.ufrgs.br/~dubois/fbeans/hlang.html(...)
Qui devrait nous permettre enfin de pouvoir programmer des vrais applis sans bugs et tout
[^] # Re: Les spécifications du langage D sont arrivées
Posté par dcp . Évalué à 10.
K ---> http://www.a-i-a.com/englishHomePage/facilitatingCom.html(...)
M ---> http://www.m.rivm.nl/html/langref/REF_1.htm(...)
N ----> http://ropas.snu.ac.kr/~kwang/4541.780/04/n-.pdf(...)
O ----> http://es.udmercy.edu/~daimikj/html/CSC541/CSC541Oberon.htm(...)
Q ---> http://home.pacbell.net/bothner/Qman.html(...)
R --> http://stat.ethz.ch/R-manual/R-devel/doc/html/(...)
S --> http://www.burns-stat.com/pages/Tutor/slanguage.html(...)
V --> http://www.ahpcc.unm.edu/~acpineda/AHPCC_Vis/html/OSCnAHPCCAVS/XP/X(...)
W --> http://talideon.com/downloads/star-w.pdf(...)
X --> http://www.nongnu.org/xlang/(...)
Y --> http://www.willpap-projects.com/WishY/Project_Materials/YLanguageRe(...)
Z --> http://web.comlab.ox.ac.uk/oucl/research/groups/zstandards/(...)
Ceci dit vous pouvez arrêter d'ouvrir la doc du Z Si vous voulez être on the edge foncez directement sur...Tatattata Object Z
ici http://www.itee.uq.edu.au/~smith/objectz.html(...)
Qui devrait se rapprocher de 42 de manière asymptotique
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Éric (site web personnel) . Évalué à 3.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par calandoa . Évalué à 1.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par dcp . Évalué à 6.
Le trop fameux Langage J (comprends pas comment j'ai pu l'oublier celui là?) ici --> http://www.cs.ualberta.ca/~smillie/Jpage/Jpage.html(...)
Le Language L --> http://www.soci.niu.edu/~phildept/Buller/lsyntax.PDF(...) très bien connu dans les coins ou on l'a déjà utilisé
L'immense Langage P qui est mieux connu la ou on connaissait pas le L
http://philosophy.wlu.edu/gregoryp/class/winter04/106/05%20The%20La(...)
[^] # Re: Les spécifications du langage D sont arrivées
Posté par dcp . Évalué à 7.
le Langage A, on en parle succintement ici --> http://foldoc.doc.ic.ac.uk/foldoc/foldoc.cgi?A-language(...) , du 40 ans d'age, Le web il a pas connu. Et réciproquement...
Et le plus connu Langage B ici --> http://encyclopedia.thefreedictionary.com/B%20programming%20languag(...)
Donc je récapitule.
Pour ceux qui veulent faire un nouveau langage révolutionnaire dont le nom ne contient qu'une seule lettre, il vous reste:
Le Langage I
Le Langage T
Le Langage U
Grouillez-vous quand même....
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Obsidian . Évalué à 3.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Aldoo . Évalué à 8.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Alexis Muller (site web personnel) . Évalué à 1.
Je savait bien que l'IUT était la meilleur voie pour commencer un cursus informatique,
mais je savais pas pourquoi, maintenant j'ai un argument objectif ! ;-)
[^] # Re: Les spécifications du langage D sont arrivées
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 1.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Anonyme . Évalué à 3.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par MsK` . Évalué à 2.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Julien Borrel . Évalué à 1.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par ploum (site web personnel, Mastodon) . Évalué à 1.
Mes livres CC By-SA : https://ploum.net/livres.html
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Julien Borrel . Évalué à 2.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par N-Mi . Évalué à 1.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par davux (site web personnel) . Évalué à 2.
Mais je crois que le monsieur voulait faire allusion à un certain point, célèbre mais mystérieux.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par mathieu mathieu (site web personnel) . Évalué à 1.
[^] # Les spécifications du langage G sont là depuis longtemps
Posté par Christophe Merlet (site web personnel) . Évalué à 1.
C'est ici --> http://www.g-language.org/(...)
[^] # Re: Les spécifications du langage G sont là depuis longtemps
Posté par Christophe Merlet (site web personnel) . Évalué à 2.
Tout est là --> http://www.inf.ufrgs.br/~dubois/fbeans/hlang.html(...)
[^] # Re: Les spécifications du langage G sont là depuis longtemps
Posté par ccomb (site web personnel) . Évalué à 2.
http://www.infospheres.caltech.edu/~kiniry/projects/ms_thesis/ms_th(...)
[^] # Re: Les spécifications du langage D sont arrivées
Posté par dinomasque . Évalué à 3.
Mais son site http://gpp.niacland.net/presentation.html(...) a l'air mort :(
BeOS le faisait il y a 20 ans !
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Obsidian . Évalué à 2.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par dcp . Évalué à 2.
Pardon...
Désolé pour ceux qui lisent pas tous les journaux....
[^] # Re: Les spécifications du langage D sont arrivées
Posté par toctoc . Évalué à 1.
J'ai vraiment rigolé en vous lisant! (et j'en avais besoin... j'ai bossé comme un dingue aujourd'hui)..
Je vous plusssssssoye collectivement !!!
;-)
m'est d'avis qu'un prix du fil le plus marrant est à organiser. Pour la nouvelle année.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Paul POULAIN (site web personnel, Mastodon) . Évalué à 0.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Nap . Évalué à 1.
http://linuxfr.org/~allcolor/3138.html(...)
[^] # Re: Les spécifications du langage D sont arrivées
Posté par J. de N. (site web personnel) . Évalué à 1.
En attendant, il est la : http://www.sidoine.net/gpp/(...)
De rien :)
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Le_Maudit Aime . Évalué à 1.
(comme un certaine Zermelo)
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Mathieu Pillard (site web personnel) . Évalué à 1.
http://research.microsoft.com/projects/ilx/fsharp.aspx(...)
# Re: Les spécifications du langage D sont arrivées
Posté par - - . Évalué à 3.
quelqu'un peut il dire s'il a un REEL avenir ? (c'est à dire servir a programmer de véritable applications natives pour linux, genre pour gnome un editeur de comptes bancaires par exemple) ?
ou s'il n'est qu'un projet de quelques personnes sans véritables soutiens de grands projets opensource ?
accessoirement, il n'existe donc pas de compilateur complet en opensource ? (et encore moins en gpl, véritable obligation pour le populariser rapidement).
DUI semble utilisable, et pourrait servir de base pour un "meilleur framework" gnome , plutôt que de se poser d'innombrables questions sur "java ou python ou c/bidouillé ou c#/cli " ?
mais bon, à part de l'humour (fort amusant au demeurant) quelqu'un à t'il une expérience de D à raconter ?
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Vincent P (site web personnel) . Évalué à 4.
Oui moi j'ai fait un 6 hier.
Ha zut, j'avais pas vu le "a part de l'humour" ;-)
[^] # Re: Les spécifications du langage D sont arrivées
Posté par N-Mi . Évalué à 1.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par dinomasque . Évalué à 1.
BeOS le faisait il y a 20 ans !
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Vincent P (site web personnel) . Évalué à 1.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Nelis (site web personnel) . Évalué à 1.
# Re: Les spécifications du langage D sont arrivées
Posté par thedidouille . Évalué à 1.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Snark_Boojum . Évalué à 2.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Pireer Mtora . Évalué à 0.
#!/bin/bash
MAJ=`Xdialog --backtitle "Mise à jour du système" --title "Mise à jour de l
e urpmi" --yesno "Voulez vous mettre à jour la base rpm?" 0 0 2>&1`
if [ $? = 0 ]
then
xterm -bg red -fg black -e urpmi.update -a # ou apt-get update
UPD=`Xdialog --backtitle "Mise à jour du système" --title "
à jour du système" --yesno "Voulez vous mettre à jour le système?" 0 0 2>&1
if [ $? = 0 ]
then
echo o|urpmi --auto-select #ou apt-get dist-upgrade
else
exit
fi
else
UPD=`Xdialog --backtitle "Mise à jour du système" --title "
à jour du système" --yesno "Voulez vous mettre à jour le système?" 0 0 2>&1
if [ $? = 0 ]
then
echo o|urpmi --auto-select
else
exit
fi
fi
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Gilles Crebassa . Évalué à 1.
et les voullez-vous continuer ?
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Pireer Mtora . Évalué à 0.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par - - . Évalué à 1.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Jiba (site web personnel) . Évalué à 1.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Croconux . Évalué à 6.
Ce raisonnement (le programmeur est un dieu, il saura se démerder) était valable à l'époque ou le C++ a été designé. Ce n'est plus le cas aujourd'hui. C'est fini l'époque des demi dieux qui optimisaient leur bousin en assembleur. On n'a plus le temps de jouer. Un code doit être clair, documenté, compréhensible pour ceux qui bossent avec toi et ne pas cacher d'astuce à la con qui segfault. Si le langage pose une première série protections anti-codage-avec-la-bite, c'est déjà ça de gagné.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Julien Borrel . Évalué à 1.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Blackknight (site web personnel, Mastodon) . Évalué à 1.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Frederick Ros . Évalué à 1.
> assembleur. On n'a plus le temps de jouer. Un code doit être clair,
> documenté, compréhensible pour ceux qui bossent avec toi et ne
> pas cacher d'astuce à la con qui segfault. Si le langage pose une
> première série protections anti-codage-avec-la-bite, c'est déjà ça de
> gagné.
Autant je suis d'accord avec le fait que le code doit etre clair, ..etc.. autant je suis pas d'accord avec le fait qu'on n'optimise plus en ASM .. Ca arrive encore, dans des parties critiques .... Il faut encore que le langage en soit capable ...
Sinon pour la clarte/qualite du code, je pense que si le codeur veut ecrire du code comme un porc il y arrivera tj, qq soit le langage utilise .. et vice/versa ...
Si les codeurs etaient un peu plus fiers et respectueux de leur code, voire lui attribuait une dimension artistique (si, si, un beau code clair et concis, c'est IMHO presqu'une oeuvre d'art), et faisait la difference entre un code qui marche et un code juste ou elegant, ca serait deja un grand pas ...
Ensuite savoir si le langage machin et plus mieux que le langage truc, ce sont des guerres de religions .. et dieux sait que je n'aime po le C++ ;)
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Lionel Draghi (site web personnel) . Évalué à 1.
Les chiffres sont tétus (et inatendus dans leur ampleur), il faut se référer aux études sérieuses sur la chose.
Le choix du langage peux diviser le cout de developpement par 2, le cout de maintenance par 4, le nombre de défauts "livrés" par 8, le temps pour identifier et corriger un défaut par 2, etc. etc.
Même pour des gents qui ont de l'expérience et qui connaissent les différents langages concernés, c'est dur de se rendre compte de l'importance du choix du langage.
En fait, et contrairement à ce que l'on entend tout le temps, le langage est un des choix les plus important d'un développement (sauf si ca fait seulement 100 lignes de code, bien sur).
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Frederick Ros . Évalué à 1.
Pour ce qui est du choix d'un langage, et de son adequation avec la tache a effectuer, je comprends ce que tu veux dire, ayant eu a developper un traducteur pour un langage proche du PL/I (mais en bcp plus bugge) vers du C : plus personne ne maintenait ce langage et les outils associes, pas de gens deja formes ..etc ..
Neammoins quand on voit ce que ca a donne... les gens ont continue a ecrire du C dans la meme optique que celle avec laquelle ils ecrivaient avant : choix des noms, structures .. et y etait d'ailleurs encourage .. avant que leur management se demande s'il ne serait pas bon de passer au C++ .. parce que c'est le futur ....
[^] # Re: Les spécifications du langage D sont arrivées
Posté par TemPi . Évalué à 1.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Lionel Draghi (site web personnel) . Évalué à 1.
L'étude Ziegler, par exemple, montre que le simple choix du langage permet de diminuer le nombre de bugs livré par 9 par rapport au C, sur un logiciel simultanément 60% moins cher à produire.
Projettons cela sur Linux, Apache, etc. : ca laisse rêveur, on en serai déja à Linux 4.x si ce n'était pas écrit en C :-)
[^] # Re: Les spécifications du langage D sont arrivées
Posté par calandoa . Évalué à 1.
Tout a fait. Aujourd'hui on vit à l'époque des start ups qui progressent de +578% et régressent de 99,964% en 3 semaines, et des demi dieux qui engagent 500 programmeurs en CDD pour développer leur progiciels en 3 jours afin que ça sorte le jour de l'introduction en bourse. Pas grave si ça bouffe 25Mo et 100% du CPU pendant 30 s pour afficher "hello world", après tout, ceux qui n'upgrade pas leur materiel tous les 3 mois ne sont pas des gens serieux.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Lionel Draghi (site web personnel) . Évalué à 2.
A vrai dire, ce n'était déja plus le cas depuis au moins 10 ans : voir par exemple le rapport Steelman, en quelque sorte cahier des charges du langage Ada. Ca date du début des années 70, et ce principe de base y est déja : la programmation est une activité humaine, il faut que le langage soit un allié puissant, pas seulement un moyen d'expression.
Ca me fait penser au "peer programming" de XP : celui qui a le clavier s'occupe de tactique, il code les algos. Celui qui est derrière peut avoir une autre vision, plus stratégique. Il pense testabilité, adéquation au besoin, etc. L'esprit human ne sait pas faire bien tout en même temps.
Dans mon cas, mon compilateur Ada est aussi un pair programmeur : il s'occupe de tout un tas de vérification de cohérence, et pendant ce temps, je me concentre la conception. Je ne me pose presque jamais de question d'allocation mémoire, de cohérence des types, de déréférencement de pointeur, etc.
Si mon esprit reste concentré sur les pièges que le langage me tends, je suis moins disponible pour concevoir : mes algos sont moins bons, mon soft est mal organisé, et en plus je laisse quand même passer des erreurs à la con, car je ne suis pas dieu.
Donc oui, le langage est important.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Frederick Ros . Évalué à 1.
Deja a l'ecole Ada ne me plaisait pas .. Le concept oui, le resultat non ...
Manque de bol (?), dans mon boulot aussi j'ai eu a tater de l'Ada ... les pbs (notamment d'interfacage) etaient nombreux, et les portage hasardeux (le softs tournant sur OpenVMS, Windows, Digital Unix, Unixware et Linux), certes plus par manque ou faible qualite des outils (sauf sous Linux et Unixware, puisqu'on a demande le port sous ce dernier de GNAT) ;) .. Au final, pour avoir revu il n'y a pas longtemps d'anciens collegues, tiut a ete re-ecrit, de zero, en C/C++... et vu la taille de l'engin ca a pas du etre simple .. :(
Pour ce qui est des algos / organisation .. etc .. c'est plus du a ce moment la a un manque de planification/reflection qu'au langage en lui-meme ... mais on retombe presque sur la notion d'art et d'autosatisfaction dans ce cas la ... ;)
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Lionel Draghi (site web personnel) . Évalué à 1.
On a tous des affinités et des préférences, mais Il faut garder une certaine objectivité dans les jugements.
Pour reprendre ton exemple, j'ai entendu deux témoignages de logiciel en Ada réécrits complètement en C[++]. Je n'ai pas entendu un seul argument valable pour une telle manip. A chaque fois ca a couté catastrophiquement plus que prévu, et le résultat est moins bon que l'original.
Si on considère que cela repose juste sur des peurs (peur de voir le langage disparaitre, peur de ne pas trouver de programmeurs, peur de ne plus trouver d'outils, etc.), c'est dommage pour celui qui paye.
By the way, pour ceux qui ont une image poussiéreuse d'Ada sous emacs (dont je ne dis pas de mal, c'est très efficace), je recommande un petit apt-get install gnat-gps.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Lionel Draghi (site web personnel) . Évalué à 1.
C'est off-topic, mais je suis prêt à discuter ce point, car portabilité et interfacage sont deux points fort d'Ada.
C'était pour illustrer que le compilo fait bien un boulot qui m'aurai pris du temps et que j'aurai fait moins bien en utilisant un autre langage.
Toutes choses étant équivalentes par ailleurs (ce qui est loin d'être toujours le cas, on est d'accord), tu seras toujours beaucoup plus efficace en Ada qu'en C[++]. Tu peux essayer avec n'importe quelle planification/reflection/organisation.
Une façon drastique de changer la donne, c'est retirer l'élément humain du processus de codage. Ce n'est pas impossible, avec des méthodes de modélisation et génération complète du code, mais c'est loin de concerner une grande population dans le logiciel.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Superted . Évalué à 1.
En tant que programmeur C++ je ne peux être que d'accord avec Stroustrup ! Le C++ t'offre les outils nécessaires pour te passer de toutes les ruses que l'on fait en permanence en C (utilisation de STL, de toutes les notions du language objet, etc). Le truc c'est que si tu veux coder en C++ comme tu le faisais en C, alors libre à toi, mais ce n'est pas la VRAI façon d'utiliser ce language. D'ailleur beacoup de monde crache sur le C++ alors qu'ils ne savent PAS coder en C++.
C'est fini l'époque des demi dieux qui optimisaient leur bousin en assembleur. On n'a plus le temps de jouer.
Mais bien sûr ! Il y a quelqu'un en ce moment même à côté de moi qui est en train de faire du code tout en assembleur (pour l'avionics). Parce que pour utiliser ne serait-ce que le C il faudrait que le compilo soit vraiment sûr, alors il n'est pas utilisé. De cette façon chaque instruction que le proc va utilisé sera réfléchie. Ca c'est la norme DO178. Et quand on fait ça on ne joue pas, comme tu dis. Et je crois que celui qui s'amuse c'est le gars qui fait son kéké avec son garbage collector. Les prog "sérieux" n'utilisent pas ça !
Perso j'espère que ce n'est pas encore fini cette époque où les gens avaient une parfaite maitrise de ce qu'ils faisaient, parce que comme ça, la prochaine fois que je prendrais l'avion, je serais plus rassuré.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Philip Marlowe . Évalué à 1.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Superted . Évalué à 1.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par zundog . Évalué à 1.
oui, ou si on veux pas confuser les neuneux qui vont dire à leur entourage "oh, le jeune homme il est programmateur !"...
ok, ok, je retourne à ma machine à laver ->[]
# Re: Les spécifications du langage D sont arrivées
Posté par pinguoin_coquin . Évalué à 1.
:-)
# Re: Les spécifications du langage D sont arrivées
Posté par Croconux . Évalué à -1.
Ca part mal. Ce n'est pas type-safe. Lorsqu'Eiffel a été conçu le problème de ce genre de construction n'était peut être pas super connu (en dehors des universitaires) mais concevoir aujourd'hui un nouveau langage et refaire les même erreurs qu'il y a 30 ans (C++) c'est un peu balot.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Epsos . Évalué à 3.
Un type retour covariant est toujours type safe.
C'est un type covariant sur les arguments qui n'est pas type safe.
D'ailleurs c'est aussi dans la norme c++, donc ca ne date pas de Eiffel !
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Cedric Cellier . Évalué à 1.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Epsos . Évalué à 1.
Notation pseudo java
class Nourriture {}
class Herbe extends Nourriture {}
class Animal {
Nourriture mangeQuoi();
void mange(Nourriture n);
}
class Vache extends Animal {
Herbe mangeQuoi();
void mange(Herbe n);
}
Ta vache implemente animal, mais tu fais varier le type des arguments et des types retour dans le meme sens : Animal -> Vache, Nourriture -> Herbe. La variance des types se fait dans le meme sens du pere vers le fils a la fois pour le type implemente et pour les arguments : ça co-varie.
Dans le cas du type retour, le programme est type safe, car tu peux ecrire :
Animal a = new Vache();
Nourriture n = a.mangeQuoi();
==> les types sont respectes
Dans le cas des arguments, si tu ecris :
class Viande extends Nourriture {}
Animal a = new Vache();
a.mange(new Viande());
Tu as un probleme : tu es cense appeler une methode qui prend bien un type Nourriture en entree, oui mais Vache n'implemente pas cette methode, Vache implemente une methode "covariante" et ne specifie son comportement que sur un type Herbe => Erreur au runtime => ton code n'est plus type safe.
Plus d'infos dans ce thread, où, jeune paddawan, je me suis fait explique la vie par des vieux loups : http://linuxfr.org/~Epsos/1819.html(...)
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Christophe Chailloleau-Leclerc . Évalué à 1.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par xilun . Évalué à 0.
# Re: Les spécifications du langage D sont arrivées
Posté par Bungee Tux . Évalué à 2.
Mon triptyque a moi, c'est C,Java,Python .
Y'a deja d'autres langages sur la liste d'attente et autrement plus soutenu par la communauté, ruby, ada, objective C, eiffel, smalltalk, prolog etc ...
Quand on invente un langage, la moindre des choses, c'est d'apporter suffisament d'idées nouvelles pour convaincre les gens que ca vaut le coup.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par - - . Évalué à 1.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par reno . Évalué à 1.
Et vice versa d'ailleurs :-)
[^] # Re: Les spécifications du langage D sont arrivées
Posté par rgill . Évalué à 1.
Pour ma part, j'ai entendu parler du D il y a 2 ans, et à l'époque, j'ai été séduit, mais le port gcc manquait, donc j'ai attendu. Puis se sont démocratisé d'autres langages, comme Ruby par exemple, que je n'utilise pas (parce que je n'ai pas le temps de m'y mettre) mais qui est vraiment bien foutu, ou encore le Caml qui allie force avec souplesse (interptété et peut être compilé, avec des performances proches C sous gcc).
Enfin D reste néanmoins un bon langage (d'après que ce que j'avais vu à l'époque, car je ne suis pas allé voir les spec récemment), qui interessera sûrement beaucoup de développeurs, car il apporte plein de bonnes choses, tout en gardant une syntaxe assez proche du C et du C++ (ce que le C++ avait fait timidement avec le C).
Enfin moi mon avis hein ...
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Philippe F (site web personnel) . Évalué à 1.
Moi ce qui m'epate ici, c'est la tenacite de l'auteur. Mine de rien, il s'est developpe a lui tout seul un compilateur C, un compilateur C++ et maintenant, un compilateur D et le langage complet avec des constructions qui sont loin d'etre triviales. Il en faut de l'investissement pour arriver a un tel resultat.
Son compilateur C++ etait tres bien classe dans une comparaison des compilateurs les plus conformants au standard C++ (d'apres une etude du DDJ) et pas mal au niveau perf.
Moi je dis: Messieurs, chapeau bas! [comme dans "La Peste"]
# D vs Eiffel
Posté par reno . Évalué à 1.
Donc je les voit remplir plus ou moins la même niche, mis à part que D est plus "systeme", exemple: D définit comment le code assembleur embarqué est définit, ce qui permet d'avoir du code assembleur "portable" de compilateur à compilateur.
Et Eiffel est plus haut niveau: Eiffel a l'héritage multiple tandis que D simplifie l'implémentation du compilateur en utilisant juste l'héritage simple et les interfaces (à la Java).
Eiffel est quasiment inconnu: Pourquoi D aurait plus de succes?
Mis a part l'attrait de la nouveauté, je ne vois pas ce qu'apporte vraiment D de si interressant par rapport a Eiffel..
[ Pour info, si Eiffel est mort, c'est probablement qu'au départ les environements de développement d'Eiffel étaient tres cher, maintenant il y a SmartEiffel qui est sous licence GPL. ]
[^] # Re: D vs Eiffel
Posté par Cali_Mero . Évalué à 0.
Warning, troll in progress : l'héritage multiple, c'est MAL (tm).
C'est peut être une des raisons qui handicape Eiffel. Moi, je pense que D peut connaître un certain succès... En raison de sa très grande proximité du C (il semblera familier à beaucoup de développeurs), en raison de son nom très recherché qu'on retient tout de suite (seulement deux octets de mémoire avec le \0 !) et des ajouts intéressants par rapport au C/C++, qui en font à mon avis un bon successeur en puissance (Garbage Collector, foreach, tableaux à taille variable, Syntaxe sympa pour les propriétés d'objets ( http://www.digitalmars.com/d/cpptod.html#properties(...) ) etc...).
[^] # Re: D vs Eiffel
Posté par reno . Évalué à 2.
Bah, ça dépend comment tu l'utilise: au boulot on a utilisé l'héritage multiple en C++ pour hériter de classe permettant de stocker/lire les objets dans une base de donnée (ObjectStore), c'est un peu complexe certes, mais utile.
Je n'ai pas entendu de critique de la part des utilisateurs d'Eiffel sur l'héritage multiple, qui a l'air "plus simple" a utiliser sous Eiffel qu'en C++, maintenant je n'ai peut-etre pas assez tendu l'oreille (non la covariance ça ne compte pas, c'est un autre probleme).
D supporte les interfaces ok mais une interface étant juste une classe abstraite virtuelle, tu peux faire de la "programmation par interface" si tu veux avec l'héritage multiple, c'est juste un cas particulier, comme j'ai dit plus haut tout dépend comment tu utilise l'héritage multiple, c'est puissant il faut juste ne pas en abuser, mais bon c'est comme tout!
Mis a part la syntaxe assez proche du C, franchement Eiffel apporte deja ces atouts depuis des années: le GC, les tableaux a taille variable, les propriétés d'objets (enfin si je me souviens bien), rien d'original! Et la définition d'Eiffel n'est pas en béta version..
Mais bon si D peut réussir, la ou Eiffel a échoué, j'applaudirais!
Tu me permets juste d'être plutot sceptique..
[^] # Re: D vs Eiffel
Posté par Philip Marlowe . Évalué à 1.
J'utilise tous les jours l'héritage multiple, à un tel point que je serais très handicapé si je devais m'en passer.
L'héritage multiple pose des problèmes, certes, mais (si le langage et le compilateur sont valables) pas aux programmeurs. Cela pose un problème de définition du langage (pour, par exemple, pouvoir sélectionner une primitive parmi plusieurs héritées portant le même nom) et un problème de compilateur pour engendrer des exécutables ou un environnement d'interprétation efficaces, malgré les nombreux problèmes que posent l'héritage multiple et l'héritage répété (conséquence du premier) aux concepteurs de langages et à ceux qui implémentent leurs compilateurs respectifs. Je ne fais partie d'aucun de ces deux groupes. Et toi ?
Pour moi, le Saint Graal en matière de langage, c'est : héritage multiple, généricité, concurrence. Le langage que j'utilise implémente très bien les deux premiers concepts. Pour le troisième, j'attends toujours qu'un compilateur implémente ce qui est prévu à ce sujet dans la définition du langage.
[^] # Re: D vs Eiffel
Posté par Licence IV (Nicolas de Ferrieres . Évalué à 3.
Forcement avec 324 m
;-)
[^] # Re: D vs Eiffel
Posté par thecat . Évalué à 2.
1) Le langage a était standardisé trés tard
2) Pas de bibliothèque standard, (bon ca change mais c'est pas encore ca ...)
3) Les compilos ne sont pas 100% compatibles entres eux
4) Pas de bibliothèque graphique _native_ (en Eiffel). Seuls des binding existe (j'ai entendu dire que quelqu'un s'y etait mis mais sa avance doucement ...) Et elle ne sont que peu suivie ...
5) Peu de bibliothèques et pas pour tout les usages ...
6) Gestion de la concurences délicate ...
7) Chargement dynamique de code délicat aussi ...
8) Enfin je suis d'accord aussi pour dire qu'il y a peu d'environement de développement totalement intégré
(C'est raison sont parfois un peu anciennent et commencent à toutes etres résoluent mais c'est un peu tard! ... 20 ans aprés ...)
Bref plein de facteur externes au langage lui même (qui est le langage objet industriel le mieux fait ...) qui ont plombé Eiffel pendant des années ...
[^] # Re: D vs Eiffel
Posté par Philip Marlowe . Évalué à 2.
Il y en a au moins un, très bon sous Windows, bon sous GNU/Linux : EiffelStudio de Eiffel Software, et c'est un environnement propriétaire. Peut-être VisualEiffel est-il bon aussi, je ne l'ai jamais essayé. L'IDE, c'est ce qui manque à SmartEiffel, avec l'implémentation de SCOOP (pour le coup, c'en serait un de scoop, vu qu'aucun compilateur ne l'implémente pour le moment).
[^] # Re: D vs Eiffel
Posté par reno . Évalué à 1.
Whoua, une petite sieste après le repas serait la bienvenue?
Je suis globalement d'accord avec les raisons que tu avances mis à part avec le point 5 (peu de bibliothèques) et bien, c'est le même problème pour tous les langages au début, non?
Pour le point 6, je ne sais pas: en C et en C++ aussi il n'y a pas de gestion dans le language des processus/thread, mais je ne suis pas sur que ça soit un gros handicap.
Cependant je me souviens encore que la prochaine version d'Eiffel allait avoir un support de la concurrence super, j'ai du entendre ça en 93 ;-)
[^] # Re: D vs Eiffel
Posté par Philip Marlowe . Évalué à 1.
# Re: Les spécifications du langage D sont arrivées
Posté par Eudoxe . Évalué à 1.
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Eudoxe . Évalué à 1.
# Re: Les spécifications du langage D sont arrivées
Posté par Epsos . Évalué à 2.
C'est compile, donc ca promet de bonnes performances.
Le langage est plus sur et autorise plus de choses que ses concurrents.
Il y a deja une grosse communaute autour de D.
Certes, au niveau librairie c'est encore un peu pauvre, mais des langages comme Python, Ruby, et meme Perl ne se sont pas fait en deux jours non plus : ca va venir.
Je n'arrive pas a comprendre pourquoi tant de gens crachent sur un nouveau langage ? Pourtant dans la communaute du libre, on a tendance a dire que la diversite c'est bien : ca permet a chacun de trouver son bonheur, qu'il vaut mieux plus de choix que pas de choix du tout ...
[^] # Re: Les spécifications du langage D sont arrivées
Posté par rgill . Évalué à 1.
S'il existe des familles de langages qui ont des perspectives différentes, l'utilisateur peut aussi faire le choix dans une famille, pour prendre celui qui lui convient le mieux (C++, - pas java :) -, D, ou je ne sais quoi, C ne rentrant pas dans la même catégorie car il n'est pas objet :-)) ).
Tout ce qui compte pour un langage est que le développeur et/ou l'entreprise y trouve son compte (temps de développement, portabilité, extensibilité, suivant ce qu'il/elle désire).
Et c'est vrai que les assertions (c'est ADA qui fait ça aussi , ou Eiffel je ne sais plus), c'est un plus pour un langage qui reste proche de ses copains C++ et - pas java j'ai dit ! :-)
[^] # Re: Les spécifications du langage D sont arrivées
Posté par Epsos . Évalué à 2.
Il y a une grosse theorie qui tourne autour de ca en Eiffel et qui permettrait de "prouver" qu'un programme fait ce pour quoi il a ete specifie en analysant toutes les dataflow a partir de tous les contrats, ou eventuellement de montrer du doigt les parties de code qui ne rentrent pas dans le contrat.
Parait que certains ateliers logiciels font ca tres bien, le probleme etant que le programmeur doit parfois tenir la main a l'analyseur pour qu'il ne se fourvoie pas trop.
Enfin en tout cas, le principe est tres seduisant.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.