Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
6017 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2  3  4  5  6  7  8  9  10
Auteur Sujet :

[Langage D]C++ + Java + Python = D

n°1479962
BenO
Profil: Chercheur
Posté le 22-11-2006 à 15:16:36  profilanswer
 

Reprise du message précédent :
ca fait longtemps que j'ai pas regardé du côté de D.
 
existe-t-il des IDEs performants actuellement?


Message édité par BenO le 22-11-2006 à 15:17:09
mood
Publicité
Posté le 22-11-2006 à 15:16:36  profilanswer
 

n°1480354
el muchach​o
Comfortably Numb
Posté le 22-11-2006 à 23:30:48  profilanswer
 

Autant coté langage, il y a eu de grosses améliorations, autant coté outils ça n'a pas bcp évolué. Sous Windows, le plus proche d'un IDE qui fonctionne je crois est code::blocks. A part ça, un bon éditeur avec un mode D comme PSPad ou Notepad++ fait très bien l'affaire. Sinon qq est en train de coder un plugin eclipse prometteur nommé descent, mais pour l'instant, je ne peux pas dire que j'aie pu le faire marcher au-delà du stade d'essai.
Pour le débogage, le Windebug qui vient avec le compilo fait l'affaire. Noublie pas bud ou dsss pour le build. Pour les libs utiles, DDL et Tango.


Message édité par el muchacho le 09-04-2007 à 15:22:37

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°1540360
el muchach​o
Comfortably Numb
Posté le 09-04-2007 à 10:17:04  profilanswer
 

Update sur les outils. Il y a eu des améliorations notables.
Code::Blocks est l'IDE le plus adapté pour codé en D. Il existe maintenant un debugger spécifique: Ddbg, qui a une interface similaire à DBG, et peut donc être utilisée par Code::Blocks.
Pour les libs, Mango devient Tango.

 

Coté évolutions du langage, il y en a eu d'importantes, notamment, les CTFE (je crois que ça signiife: compile-time function evaluation) mais je n'ai pas encore pris connaissance d'icelles.
La prochaine étape est d'inclure un analyseur d'AST au sein même du langage, ce qui permettra de l'étendre à volonté, notamment en conjonction avec les templates.

 

Hop, une implémentation partielle des concepts C++0x en 117 lignes.


Message édité par el muchacho le 09-04-2007 à 15:23:22
n°1540368
el muchach​o
Comfortably Numb
Posté le 09-04-2007 à 11:25:45  profilanswer
 

Utilisation amusante des templates:

Code :
  1. template re(creal x){const float re = x.re;}
  2. template im(creal x){const float im = x.im;}
  3. template sq(creal z){const creal sq = z*z;}
  4. template itoa(int i)
  5. {
  6.         static if (i < 0) {
  7.                 static const char[] itoa = "-" ~ itoa!(-i);
  8.         }
  9.         else {
  10.                 static if (i / 10 > 0) {
  11.                         static const char[] itoa = itoa!(i / 10) ~ "0123456789"[i % 10];
  12.                 } else {
  13.                         static const char[] itoa = "0123456789"[i % 10 .. i % 10 + 1];
  14.                 }
  15.         }
  16. }
  17. template sqrt(float x, int k = 5) {
  18.         static if (k == 0) {
  19.                 const float sqrt = 1.f;
  20.         } else {
  21.                 const float sqrt = .5f * (sqrt!(x, k-1) + x / sqrt!(x, k-1));
  22.         }
  23. }
  24. template iterations(creal c, int N)
  25. {
  26.   static if(N == 1)
  27.   {
  28.     const creal iterations = c;
  29.   }
  30.   else
  31.   {
  32.     const creal iterations = sq!(iterations!(c,N-1)) + c;
  33.   }
  34. }
  35. template escape(creal z)
  36. {
  37.   const bool escape = (sqrt!(z.re*z.re + z.im*z.im) > 4);
  38. }
  39. template oneRow(creal c0, int count, int P)
  40. {
  41.   static if(count == 0)
  42.   {
  43.     const char[] row = "";
  44.   }
  45.   else
  46.   {
  47.     const c = iterations!(c0, 10);
  48.     const char[] row = itoa!(escape!(c)) ~ oneRow!(c0 + cast(real)3/(P-1), count-1, P).row;
  49.   }
  50. }
  51. template allRows(creal c0, int countRows, int countCols, int P)
  52. {
  53.   static if(countRows != 0)
  54.   {
  55.     const c = c0;
  56.     pragma(msg, oneRow!(c, countCols, countCols).row);
  57.     alias allRows!(c0 + 1.0i*cast(real)2/(P-1), countRows-1, countCols, P) otherRows;
  58.   }
  59. }
  60. alias allRows!(-2-1.0i, 33, 50, 33) go;
 

Résultat:

Citation :


11111111111111111111111111111100011111111111111111
11111111111111111111111111111100111111111111111111
11111111111111111111111111111000011111111111111111
11111111111111111111111111110000001111111111111111
11111111111111111111111111110000001111111111111111
11111111111111111111111001100000000011111111111111
11111111111111111111111000000000000000001111111111
11111111111111111111111000000000000000001111111111
11111111111111111111110000000000000000011111111111
11111111111111111111100000000000000000011111111111
11111111111101110111100000000000000000000111111111
11111111111100000001000000000000000000001111111111
11111111111110000000000000000000000000001111111111
11111111111100000000000000000000000000001111111111
11111111110000000000000000000000000000001111111111
11111111100000000000000000000000000000011111111111
00000000000000000000000000000000000000011111111111
11111111100000000000000000000000000000011111111111
11111111110000000000000000000000000000001111111111
11111111111100000000000000000000000000001111111111
11111111111110000000000000000000000000001111111111
11111111111100000001000000000000000000001111111111
11111111111101110111100000000000000000000111111111
11111111111111111111100000000000000000011111111111
11111111111111111111110000000000000000011111111111
11111111111111111111111000000000000000001111111111
11111111111111111111111000000000000000001111111111
11111111111111111111111001100000000011111111111111
11111111111111111111111111110000001111111111111111
11111111111111111111111111110000001111111111111111
11111111111111111111111111111000011111111111111111
11111111111111111111111111111100111111111111111111
11111111111111111111111111111100011111111111111111


 

Encore mieux:
http://www-users.mat.uni.torun.pl/~h3r3tic/ctrace/
http://www.digitalmars.com/webnews [...] e_id=51617

Message cité 1 fois
Message édité par el muchacho le 09-04-2007 à 12:00:42
n°1543442
paowz
Posté le 16-04-2007 à 18:06:57  profilanswer
 

bon sang.. on dirait une fractale de mandelbrot..  :heink:


---------------
Le plaisir est le bonheur des fous. Le bonheur est le plaisir des sages.
n°1543444
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 16-04-2007 à 18:14:14  profilanswer
 

paowz a écrit :

bon sang.. on dirait une fractale de mandelbrot..  :heink:


ben c'en est un peu une en fait hein

Code :
  1. #
  2. template escape(creal z)
  3. #
  4. {
  5. #
  6. const bool escape = (sqrt!(z.re*z.re + z.im*z.im) > 4);
  7. #
  8. }

n°1543446
0x90
Posté le 16-04-2007 à 18:17:20  profilanswer
 

el muchacho a écrit :

Utilisation amusante des templates:

Code :
  1. template re(creal x){const float re = x.re;}
  2. template im(creal x){const float im = x.im;}
  3. template sq(creal z){const creal sq = z*z;}
  4. /** ... */
 

Encore mieux:
http://www-users.mat.uni.torun.pl/~h3r3tic/ctrace/
http://www.digitalmars.com/webnews [...] e_id=51617

 

Tout ces trucs sont sympas, mais la plupart sont basés sur un usage extrème/dérivé des strings, est-ce que c'est pas un peu un signe que le "futur" des usages avancés du D au niveau template sera basé, comme pour le C++ (en moins gore c'est clair), sur des détournements de features et des hacks et donc à terme produisant du code totalement imbitable (moins que du C++ probablement). Et donc enfin qu'il y a encore du travail à faire pour dépasser les strings si le but est vraiment d'avoir une telle puissance calculatoire dans les templates.

 

Pour mandelbrot c'est de la blague, mais le BLAS-like est une application réelle qui a de grandes chances de perdurer, et pourtant la base de fonctionnement c'est des strings parcequ'il n'y a rien de mieux :/

 

( Bon de toute facon, les détournements et hack, c'est un peu dans la nature du codeur et c'est surement peine perdue que de vouloir designer un set de features pour lequel on ne trouve pas des usages détournés et utiles qui finiront en design pattern à base de cathédrale de caca. )

Message cité 2 fois
Message édité par 0x90 le 16-04-2007 à 18:18:53

---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
n°1543454
paowz
Posté le 16-04-2007 à 18:41:45  profilanswer
 

Citation :

const bool escape = (sqrt!(z.re*z.re + z.im*z.im) > 4);


En effet.. j'ai bloqué sur l'image sans m'être attardé sur le code..
Justement, j'aurais une question au sujet de ce langage qu'est le langage D. Je viens de le découvrir purement par hasard. Pour être trivial, je suis sur le cul de n'en avoir jamais entendu parler. Non pas que je sois censé connaitre tous les langages mais bon, tout de même ^^ :)
Alors mes questions seraient les suivantes:
Ce langage intègre-t-il des package à la manière de java aussi facile d'utilisation ?
Le compilateur compile-t-il en natif ?
Ce langage est-il assez matûr pour des projets ou bien faut-il attendre un peu ?
et enfin, a-t-on des exemples d'utilisation de ce langage dans l'industrie??
 
Merci bien :)


---------------
Le plaisir est le bonheur des fous. Le bonheur est le plaisir des sages.
n°1543498
el muchach​o
Comfortably Numb
Posté le 16-04-2007 à 20:28:28  profilanswer
 

0x90 a écrit :

Tout ces trucs sont sympas, mais la plupart sont basés sur un usage extrème/dérivé des strings, est-ce que c'est pas un peu un signe que le "futur" des usages avancés du D au niveau template sera basé, comme pour le C++ (en moins gore c'est clair), sur des détournements de features et des hacks et donc à terme produisant du code totalement imbitable (moins que du C++ probablement). Et donc enfin qu'il y a encore du travail à faire pour dépasser les strings si le but est vraiment d'avoir une telle puissance calculatoire dans les templates.


Le futur des templates D tient en 3 lettres: AST. D'après ce que j'ai compris, Walter Bright travaille la-dessus en ce moment. Ca et l'identification de types à la compilation devrait étendre encore les possibilités en matière de métaprogrammation.

paowz a écrit :

Citation :

const bool escape = (sqrt!(z.re*z.re + z.im*z.im) > 4);


En effet.. j'ai bloqué sur l'image sans m'être attardé sur le code..
Justement, j'aurais une question au sujet de ce langage qu'est le langage D. Je viens de le découvrir purement par hasard. Pour être trivial, je suis sur le cul de n'en avoir jamais entendu parler. Non pas que je sois censé connaitre tous les langages mais bon, tout de même ^^ :)
Alors mes questions seraient les suivantes:
Ce langage intègre-t-il des package à la manière de java aussi facile d'utilisation ?
Le compilateur compile-t-il en natif ?
Ce langage est-il assez matûr pour des projets ou bien faut-il attendre un peu ?
et enfin, a-t-on des exemples d'utilisation de ce langage dans l'industrie??

 

Merci bien :)


Pas étonnant que tu n'en aies jamais entendu parler si tu ne prends pas la peine de chercher un quart de seconde par toi-même. La réponse à tes questions techniques se trouve en premier post de ce topic.
Pour ce qui est de la maturité du langage, c'est un peu compliqué. On peut dire que le compilo est mature, car très bien testé par une base de plus de 6000 tests systématiques, et surtout par les utilisateurs.
Malheureusement, c'est un langage en constante évolution, avec des releases très régulières. Le problème est que le concepteur du langage ne maintient qu'une seule branche, qui fait office à la fois de stable, et de développement, puisqu'elle inclut les dernières évolutions. Normalement, il ne doit pas y avoir de régressions entre deux versions successives, mais l'expérience montre que ça arrive parfois (rarement). Et surtout, parce qu'il n'y a pas de branche stable, les concepteurs de bibliothèques ont eux-mêmes du mal à faire converger leur développement. Le résultat est que le développement d'un gros projet peut difficilement faire appel à de nombreuses bibliothèques pour des raisons d'incompatibilité. Ce sont deux raisons pour lesquelles il y a régulièrement sur la mailing-list une demande forte des utilisateurs pour que l'auteur maintienne une branche stable/bugfix.
 
Le langage lui-même est fait pour supporter des gros projets. Les libs existantes n'ont pas le niveau de complétude d'une J2EE, mais sont suffisantes pour déjà réaliser pas mal de projets de type client/serveur, des outils en ligne de commande performants ou bien des jeux en OpenGL. En ce qui concerne l'utilisation dans l'industrie, elle est pour le moment au mieux marginale pour les raisons données ci-dessus.


Message édité par el muchacho le 16-04-2007 à 20:39:43
n°1543518
paowz
Posté le 16-04-2007 à 21:03:17  profilanswer
 

Citation :

Pas étonnant que tu n'en aies jamais entendu parler si tu ne prends pas la peine de chercher un quart de seconde par toi-même


difficile de faire une recherche sur quelque chose dont on ne soupçonne pas l'existence.
 
Cependant, merci d'avoir pris la peine de répondre :)


---------------
Le plaisir est le bonheur des fous. Le bonheur est le plaisir des sages.
mood
Publicité
Posté le 16-04-2007 à 21:03:17  profilanswer
 

n°1543567
++fab
victime du syndrome IH
Posté le 17-04-2007 à 01:26:48  profilanswer
 

0x90 a écrit :

Tout ces trucs sont sympas, mais la plupart sont basés sur un usage extrème/dérivé des strings, est-ce que c'est pas un peu un signe que le "futur" des usages avancés du D au niveau template sera basé, comme pour le C++ (en moins gore c'est clair), sur des détournements de features et des hacks et donc à terme produisant du code totalement imbitable (moins que du C++ probablement). Et donc enfin qu'il y a encore du travail à faire pour dépasser les strings si le but est vraiment d'avoir une telle puissance calculatoire dans les templates.


moins gore, ça dépend des gouts, mais ça ne révolutionne rien. Et puis les démonstrations de template sur des programmes jouets, je crois que ça n'impressionne plus personne ...
 

Citation :

Pour mandelbrot c'est de la blague, mais le BLAS-like est une application réelle qui a de grandes chances de perdurer, et pourtant la base de fonctionnement c'est des strings parcequ'il n'y a rien de mieux :/


... Voila une application réelle, et les spécialistes de la question pensent qu'une solution plus générale s'obtiendrait avec les concepts.  
 
template <Unaliased U, Unaliased V, Unaliased W>
requires EfficientlyAddable<U,V,W>
auto f( U, V, W ) { ... }
 
Quite à ce que le langage utilisé ne soit pas C++, mais un langage qui serait une extension de C++ (un SELL).
 

n°1543598
BenO
Profil: Chercheur
Posté le 17-04-2007 à 08:41:01  profilanswer
 

++fab a écrit :


template <Unaliased U, Unaliased V, Unaliased W>
requires EfficientlyAddable<U,V,W>
auto f( U, V, W ) { ... }


ca fait quoi et comment ? :O
 

++fab a écrit :


Quite à ce que le langage utilisé ne soit pas C++, mais un langage qui serait une extension de C++ (un SELL).


c'est quoi un sell ? :x

n°1544033
++fab
victime du syndrome IH
Posté le 17-04-2007 à 20:30:19  profilanswer
 

BenO a écrit :

ca fait quoi et comment ? :O


C'est un exemple hein, ici Unaliased et EfficientlyAddable serait des concepts,  (resp  à 1 et 3 paramètres).
Ils imposeraient des contraintes sur les paramètres template de f, information dont le compilateur pourrait eventuellement bénéficier pour générer du code plus efficace.
 

BenO a écrit :

c'est quoi un sell ? :x


www.csc.lsu.edu/lcpc05/papers/lcpc05-paper-39.pdf

n°1544109
BenO
Profil: Chercheur
Posté le 18-04-2007 à 09:25:41  profilanswer
 

merci

n°1648291
el muchach​o
Comfortably Numb
Posté le 24-11-2007 à 10:10:31  profilanswer
 

Le langage est passé à la v 2.0.

 

Malheureusement, la v2 n'est pas compatible avec la v1.0 et est destinée à la remplacer, ce qui ne fait pas le bonheur de tout le monde...
La raison de l'existence de cette nouvelle branche est une modification profonde de la sémantique de const qui casse le code existant.

 

En gros, D v2 distingue les données invariantes, déclarées avec le mot-clef invariant, données dont la valeur ne changera jamais, des déclarations "const" qui désignent des références read-only vers des données qui elles peuvent être mutables. Enfin, un 3e mot-clef, final, désigne des références dont l'adresse doit rester fixe (elles ne peuvent pas pointer vers une autre variable, par ex.).
Ces distinctions permettent une gestion très fine des accès aux données, mais très subtile, et promet de belles prises de tête quand elles seront combinées, ce qui n'est pas du goût de tout le monde. (J'ai pas tout pigé dans les détails). Mais comme à son habitude, Walter Bright ne laisse pas un problème à moitié résolu.
L'intérêt de ces pinailleries est double: cela permet de contrôler complètement l'accès aux données, et donc d'éviter des bugs subtils, notamment en multithreading, et cela permet aussi d'aider le compilateur à optimiser les données en registre/cache.

 

Une belle discussion de const v2 ici:

Citation :

In a small, experimental program, it's great to benefit from a programming system that's flexible, permissive, and not too pedantic. As the complexity of a program increases, it gets more beneficial to specify the semantics of a declaration in the code itself. Programmers want to carve subdomains in the large application and confine specific state changes to small sections of code. Doing so rids them of long-distance coupling among portions of code that modify the same data. Documentation is unreliable as it is inevitably wrong, misleading, incomplete, out of date, or just plain missing. Of significant utility in this is the notion of constness. C and C++ have added the ability to specify the constness of variables and functions, and it has clearly demonstrated over time that it is popular and useful, and many consider it crucial for developing large programs. In an attempt to simplify, Java dropped const. Its handling of immutable strings and the often-used technique of preemptive copy-out are awkward at best. As a consequence, putting const back into the language has become a favorite indoor sport for industry and academia alike. But C++'s const has a number of important shortcomings, so D took the opportunity to reengineer the concept from top to bottom. This article explores what constness is good for, how C++ constness addresses it, and how D addresses it.

 

... http://www.digitalmars.com/d/const.html

 


A part ça, D intègre les fermetures.

Message cité 1 fois
Message édité par el muchacho le 24-11-2007 à 21:34:04

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°1648331
Ace17
Posté le 24-11-2007 à 12:45:06  profilanswer
 

el muchacho a écrit :

Le langage est passé à la v 2.0.

Utilisateur regulier (mais novice) du langage dans sa version 1.x, j'espere que cette fois ci un tel numero de version se terminant par .0 sera synonyme de stabilite du langage. Je dois admettre que sans avoir teste le nouveau compilo, l'idee qu'il puisse ne plus compiler mes projets actuels donne un sacre coup dans l'interet que je porte a ce langage.

n°1648348
el muchach​o
Comfortably Numb
Posté le 24-11-2007 à 13:25:30  profilanswer
 

C'est clair.
La v1 n'est plus destinée à évoluer. Par contre, qu'en sera-t'il des librairies ? Je sais que bcp de gens sur la mailing list disent continuer à travailler sur la v1.

 

Pour la v2, par contre, faut pas compter sur une stabilisation.


Message édité par el muchacho le 24-11-2007 à 13:30:09

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°1650564
el muchach​o
Comfortably Numb
Posté le 28-11-2007 à 22:00:21  profilanswer
 

Encore des nouvelles du langage (pot-pourri blog-like).

 

On m'a demandé si Code::Blocks était un environnement de dev décent pour D.
Réponse: C::B gère D v1.0 très correctement (pour le moment, le compilateur D v1.024 et + est à recommander, cette branche étant une branche de bug-fix. La v2 est pour le moment expérimentale).
Dans le détail, Code::Blocks :
-  permet de créer un projet D,
- gère les options des compilos GDC et DMD,
- gère correctement la syntaxe du langage dans l'éditeur (coloration, folding),
- fait de la complétion, avec listage des membres et méthodes des classes,
- permet d'accéder à une déclaration/implémentation à tout moment,
- permet de builder le projet, et pointe les lignes d'erreur à la compilation,
- permet de déboguer graphiquement avec Ddbg qui est un debogueur D multithread.
http://ddbg.mainia.de/cb_ddbg.jpg
C'est donc un environnement de dev complet pour D.
Il y a un tutoriel vidéo très simple pour se mettre le pied à l'étrier ici: http://d.whosme.de/index.php?langu [...] =tutorials
Ce site est d'ailleurs très bien pour démarrer en D.

 

Un petit truc sympa lu sur un blog est la possibilité de convertir un pointeur C en tableau dynamique D:
Exemple: on veut récupérer un message c_err_msg alloué par un appel C

Code :
  1. char * c_err_msg = clib_getErrString();
  2. char[] err_msg = c_err_msg[0..strlen(c_err_msg)];


Exemple 2:

Code :
  1. void * data;
  2. size_t data_len;
  3.    
  4. write(data[0..data_len]);
 

Enfin, une liste de blogs sur D:
http://www.digitalmars.com/webnews [...] e_id=62533


Message édité par el muchacho le 28-11-2007 à 22:49:49

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°1679641
sligor
Posté le 31-01-2008 à 13:37:13  profilanswer
 

Des nouvelles du langage D:
 
Andrei Alexandrescu, auteur du très renomé Modern C++ Design, est en train d'écrire un livre sur D, il sortira fin 2008 et s'appellera sûrement The D Programming Language

n°1679750
Joel F
Real men use unique_ptr
Posté le 31-01-2008 à 15:04:18  profilanswer
 

sligor a écrit :

Des nouvelles du langage D:
 
Andrei Alexandrescu, auteur du très renomé Modern C++ Design, est en train d'écrire un livre sur D, il sortira fin 2008 et s'appellera sûrement The D Programming Language


 
+1 in my book

n°1682460
BenO
Profil: Chercheur
Posté le 06-02-2008 à 08:24:12  profilanswer
 

je me tate :o

 

v1 ou v2 >.<


Message édité par BenO le 06-02-2008 à 08:27:54

---------------
Python Python Python
n°1768916
Profil sup​primé
Posté le 04-08-2008 à 14:16:48  answer
 

D'oh  
Je deteste les mecs blasés qui font genre de s'y connaitre en c++ en étalant leur confiture dans les forum (Ils se reconnaitront).
"Oui, moi, je suis le fils sprirituel de Stroustrup"... bla bla bla, on s'en tape.
 
Moi je trouve le D formidable.
 
Certains ici ne comprennent pas qu'ecrire du c++, pour beaucoup de monde, c'est un calvaire. Sauf, peut etre, pour ceux qui ont 25ans d'exp et qui ne connaissent rien d'autre a part ADA, Fortran, Pascal, et Cobol... des languages formidables... que plus personne n'enseigne dans les ecoles d'info depuis plus de 10ans. Il faut savoir que le C++ est de moins en moins enseigné par rapport au Java.
 
Et si des programmeurs préferent ce faire du zèle avec du C++ illisible, d'autres preferent sacrifier un peu de performances à la maintenabilité du code et aux bugs. Et c'est pour ca que les langages a VM comme Java et C# sont tellement utilisés.
 
Alors oui, ces meme mecs blasés diront que le C++0X apporte tellement de choses nouvelles qu'on dirait du D. Mouais, seulement la syntaxe est encore plus abominable pour certains aspects. C'est illisible pour un humain et ca ne l'est meme pas par des machines lol (sauf le compilo.... quoi que !).  
Aucun (ou tres rare et payant) sont les IDE qui permettent de faire des verifications statiques (checkstyle) et du refactoring aussi bien que pour le Java ou c#.
 
Le D propose quasiment les fonctionnalités du C# et du Java  (voir plus) mais avec des perfs de langage natifs. Perso j'achete !
La syntaxe est tres claire, quand on viens du monde Java/C# on s'y retrouve et quand on viens du monde C++, c'est le paradis.
Et pour ceux qui hésiterais encore, c'est meme compatible avec les lib C ....

n°1768954
Joel F
Real men use unique_ptr
Posté le 04-08-2008 à 14:42:49  profilanswer
 


failure #1 :o
 
 
failure #2
Viens faire du HPC en C# et on va rigoler :o
 
 
Car ca n'a pas bien de sens en C++ :E  

n°1768999
Malkav
Posté le 04-08-2008 à 15:38:56  profilanswer
 


Fortran, ADA, C++ je les ai "appris" (ou "vu" plutôt  :whistle:) en école il y a moins de 10 ans ;)
(avec lisp, java et même....simula  :ouch: )
Après c'est sur çà n'a pas l'air mal 'D', mais je n'ai jamais rencontré de boîte développant avec (ce qui ne prouve rien évidemment...)


Message édité par Malkav le 04-08-2008 à 15:40:20
n°1769130
Profil sup​primé
Posté le 04-08-2008 à 18:38:52  answer
 

Tres cher Joel F :-)  (ya pas rire jaune en smiley)
 
Pour avoir été dans 4 universités au 4 coins de la france je sais de quoi je parle. Alors biensur il y a toujours des "Exceptions" (J'ai appris le cobol en 1999, ca m'a servi dans toute ma carriere lol).  
 
Mais C'est vrais que le contre argument exposé, a savoir "failure #1", a de quoi faire changer d'avis une pierre.
 
Encore une derniere...
Eh ben moi, monsieur, il m'arrive de renomer des classe et des methodes, d'ajouter interfaces, de changer la liste des arguments, meme en c++.
Et cela a d'autant plus de de SENS en c++ que c'est plus lourd a faire a la main en C++ qu'en Java.
 
 
 
 
 
 
 

n°1769190
Joel F
Real men use unique_ptr
Posté le 04-08-2008 à 20:53:43  profilanswer
 


Bah manque de bol de bol, j'ai DONNE des cours de C++ dans le même nombre d'université depuis 2003 ... donc bon ...

 


Note pour plus ard, se renseigner sur la signification de ":o"
Géneraliser sur la bonen foi de ta seule experience est un mauvais départ tout court.
c'est du niveau de : "Moi vous savez, j'ai connu un prof de stats alcoloo, ils doivent tous l'etre"

 


Ouais moi aussi, et l'option 'refactor' de Eclipse le fait très bien pour moi
(pour le pas de sens je parlais du checkstyle)


Message édité par Joel F le 04-08-2008 à 20:54:21
n°1769540
Profil sup​primé
Posté le 05-08-2008 à 14:40:08  answer
 

Bon j'arrete là lol.
C'est un dialogue de sourds.
Comment retorquer quelque chose a Dr house !
 

n°1769548
Joel F
Real men use unique_ptr
Posté le 05-08-2008 à 14:50:32  profilanswer
 

disons que tu arrives la comme un chien dans un jeu de quille avec des affirmations aussi péremptoires (voire trollesques) que les intervenants que tu critiques alors que bon, C++ JAVA ou Zorglub orienté objet, on s'en tape. Chaque outil à sa niche et son écosystème de développeurs. C'est pas en chouinant ou en débarquant tel le messie que tout le monde va changer de bord. Après, c'est facile de trouver des gens qui code EN C# comme des chiens tout en trouvant des gens écrivant du C++ bien chiadé e maintenable. Après si t'en ai encore à la guerre de clocher, je peut rien pour toi.  Juste que dire que tout le monde devrait du JAVA/C#/D parce que, ben par e que voila, c'est aussi débile que de s'accrocher à l'assembleur X86 FASM orienté agent. Donc laisse les gens exprimer leur convenus et déconvenus surtout sur une techno aussi peu mature et aussi peu diffusé. Le jour ou le compilo D sera stable (aka il compile les exemple fourni avec sans chouiner) et ou Phobos aura une porté équivalente à la STL+Boost et bien je le prendrais au sérieux.  
 
Perso, le seul avantage de D actuellement c'est la manière dont il gère la prog. générative et la méta-prog en particulier. Aprés le reste ...

n°1770215
Profil sup​primé
Posté le 06-08-2008 à 15:17:13  answer
 

Quelle véhémence ! On dirait que j'ai touché le point sensible de Dr Hou..  Jekyll.
 

n°1770281
kao98
...
Posté le 06-08-2008 à 16:34:46  profilanswer
 

Non, il a raison.
D'ailleurs, tu te contente d'essayer de le blesser avec des remarques futiles plutôt que de réellement défendre tes idées. Joel F, au moins, il va au bout de ses idées.


---------------
Kao ..98 - Uplay (R6S) : kao98.7.62x39 - Origin (BF4, BF1) : kntkao98
n°1943301
deadalnix
Posté le 23-11-2009 à 02:33:48  profilanswer
 

J'aimais C++ pour la liberté qu'il fournit.
 
J'aime encore plus D parce qu'il me fournis sensiblement la même liberté, tout en étant nettement plus facile.
 
Au passage, il y a un point que je n'ai pas beaucoup vu sur le topic, et qui fait une grosse différence avec C++, c'est la gestion de la mémoire en multithread.
 
Le plus gros problème de ce langage n'est en fait pas le langage, mais le passif lourd qu'on à en C/C++.

n°1943384
sligor
Posté le 23-11-2009 à 11:02:52  profilanswer
 

Si je ne dis pas de bétises QT et Boost permettent de gérer la mémoire multithread trés facilement.  
C'est l'un des gros problème du C++: en standard il ne fourni pas grand chose.


---------------
qwerty-fr
n°1943395
Joel F
Real men use unique_ptr
Posté le 23-11-2009 à 11:19:04  profilanswer
 

pour l'instant.

n°1943403
sligor
Posté le 23-11-2009 à 11:23:22  profilanswer
 

Il y a trop de lobby dans la standardisation du C++, au final ça risque de donner quelque chose d'immonde.


---------------
qwerty-fr
n°1943404
Joel F
Real men use unique_ptr
Posté le 23-11-2009 à 11:24:47  profilanswer
 

sligor a écrit :

Il y a trop de lobby dans la standardisation du C++, au final ça risque de donner quelque chose d'immonde.


le standard by comittee est foireux anyway, la dernière reunion à Francfort en a été la preuve :/

n°1943471
oliviermdv​y
Posté le 23-11-2009 à 12:53:42  profilanswer
 

Quelle industrie utilise ce langage de programmation ?

n°1943497
Joel F
Real men use unique_ptr
Posté le 23-11-2009 à 13:48:12  profilanswer
 

le D ? Pas beaucoup pour l'instant je pense; mais goto la page d'accueil.

n°1943530
deadalnix
Posté le 23-11-2009 à 15:01:47  profilanswer
 

oliviermdvy a écrit :

Quelle industrie utilise ce langage de programmation ?


 
C'est peu utilisé dans le monde pro, bien qu'il y ai des projets tout de même. Si tu veux l'apprendre pour enrichir ton CV, c'est surement un mauvais choix.
 
Les projets pro sont largement dominés par C/C++/C#/Java et tu devrait investir dans ces langages si c'est ton objectif. A moins que tu ne vise un marché plus particulier (par exemple, Ada est très utilisé dans le monde de l'aéronautique).
 
Maintenant, comme dans pas mal de choses, il faut améliorer, mais arrive un moment ou il faut repartir sur une base saine. A mon avis C++ en est arrivé à ce stade. J'ai fait beaucoup de choses avec ce langage et le maitrise bien, cependant, la seule chose qu'il apporte de plus que D est l'héritage multiple (que je n'ai personnellement jamais utilisé, donc ça ne va pas me manquer) et une large base d'utilisateurs (argument de poids, car cela signifie plus d'aide, plus de libs, etc . . .).
 
À l'inverse, il est bien plus complexe et est bourré de pièges à con, qu'on apprend à éviter avec les années, mais qui ne sont pas franchement utiles. En fait, selon moi, ce qui manque à C++, c'est une vue d'ensemble. Il y a toutes les fonctionnalités que l'on souhaite, mais les utiliser les unes avec les autres peut avoir de dangereux effets de bord. Il y a aussi le temps de compilation.

n°1973155
boblenain2​00
Posté le 11-03-2010 à 23:37:55  profilanswer
 

sligor a écrit :

Des nouvelles du langage D:
 
Andrei Alexandrescu, auteur du très renomé Modern C++ Design, est en train d'écrire un livre sur D, il sortira fin 2008 et s'appellera sûrement The D Programming Language


 
http://www.amazon.co.uk/D-Programm [...] 859&sr=8-1
 
Repoussé à été 2010 :/

n°1973156
sligor
Posté le 11-03-2010 à 23:40:42  profilanswer
 

Le D c'est le Duke Nukem Forever de la programmation [:sadnoir]


---------------
qwerty-fr
n°1973372
deadalnix
Posté le 12-03-2010 à 17:51:58  profilanswer
 

D1 est déjà fonctionnel. Tu peux dev avec geany ou code::block .
 
C'est D2 qui peine à venir, mais en même temps, il y a des fonctionnalité très innovantes dans D2.

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  6  7  8  9  10

Aller à :
Ajouter une réponse
 

Sujets relatifs
Upload en JAVA[Java] Architecture pipes-filters
[java] Tracer un rectangle en temps réel[Java] Aide sur projet avec interface graphique ( Pas des fenêtres)
[JAVA] Empecher la saisie dans une jtableimpossible d'éxécuter un programme en java !!!
programmation jeux java sur samsung Z300Envoyer des fichiers sur un FTP depuis un programme Java...
[java] Agrandir le contenu d'une tab en même temps que la tab[Java] Les hint
Plus de sujets relatifs à : [Langage D]C++ + Java + Python = D


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)