Et bien je m'amuse à écrire des spécifications pour de nouveaux langages à 3 heures du matin :-)
Oui je sais, c'est mal, j'ai d'autres trucs à faire.
Et bien je m'amuse à écrire des spécifications pour de nouveaux langages à 3 heures du matin :-)
Oui je sais, c'est mal, j'ai d'autres trucs à faire.
1 De mauriz -
Au lieu de modifier un langage, pourquoi ne pas passer à un autre?
2 De Alexis -
Je trouve que ce C++ modifié n'inclut que des modifications le rapprochant de Java. Dès lors, je ne comprends pas pourquoi tu n'as pas utilisé les fonctionnalités de Java Tiger quand tu faisais du Java. Le langage adopte les generics (à peu près équivalent aux templates de C++), il utilise de vraies énumérations, les arguments variadiques, etc. Bref, le Java prend des trucs bien au C++. Ca devient un langage extrêmement intéressant (plus que le C++, même modifié), et on aurait peut-être besoin de compiler ce langage nativement pour qu'il devienne rapide comme le C++ :-). On aurait alors un langage moderne et puissant, tandis que le C++ est puissant mais je doute que Mr Stroustrup le rende moderne ;-)
3 De Florian -
Plutot qu'une classe par fichier, je proposerais un namespace par fichier.
Ce qui me gêne dans dans le un fichier = une classe, c'est que autant je programme en objet en général, autant, de temps en temps, une j'ai une petite fonction (mathématique, en général), pas particulierement reliée à une classe, et je n'aime pas en faire une methode statique d'une classe qui n'existe que pour la contenir. si un fichier contient uniquement une classe, que fais-tu de ce genre de fonctions?
Tant que tu en es à ce genre de reflexion, va voir www.digitalmars.com/d/ . Tout n'est pas focement bon dans son langage, mais j'aime bien en particulier sa répartition dans les fichiers, son système de pragma et de "versionning", qui remplacent bien le pré-porcesseur à mon avis. Aussi, J'aime sa partie "contract", ses tableaux, ses chaines de caractères, et les "properties".
le reste du langage peut être intéréssant aussi, mais bon, ca m'a moins fait le coup du "ah! ouais, ca je le veux!"
4 De Florian -
en fait, va plutot voir cette page là www.digitalmars.com/d/sdw...
Ca présente le language de façon plus concise, et tu peux toujours aller voir le détail apres si ça te chante.
5 De Fangorn -
Florian,
Pour un programme rigoureusement objet, tu doit faire une classe pour ta fonction mathématique, même isolée dans un premier temps, tu aura tôt ou tard besoin d'une version polymorphisée de ta méthode et ça te fera deux méthodes dans ta classe ce qui est déjà pas mal :)
Et puis il y'a les inner-class pour résoudre le problème de une classe - un fichier.
Je parle du Java dans les deux cas.
6 De Florian -
Fangorn,
Je sais bien que c'est comme ça qu'il faut faire pour faire un programme rigoureusement objet. Ce que je veux dire, ce que dans certains cas, c'est plus simple de ne pas faire du rigoureusement objet. Et quand c'est plus simple, c'est plus vite écrit, y a moins de bugs, c'est plus facile a relire...
Le paradigme objet est bien et beau, et dans l'ensemble, je l'aime. Mais des fois, il complique les choses inutilement. C'est la l'un des intérets du C++ : il te permet de programmer rigoureusement en object, mais il ne t'y force pas quand tu n'a pas envie.
7 De Vincent -
Je n'ai pas envie de me justifier pour ce que j'ai fait, alors je vais aller vite.
@mauriz, parce que je n'ai rien trouvé qui me convienne et qu'il faut bien que je m'amuse :)
@Alexis, parce qu'il y a des concepts importants de Java que je ne veux pas avoir (introspection et interfaces notamment).
@Florian, j'avais déjà regardé D et je n'ai pas apprécié, principalement parce que je souhaite conserver la gestion de la mémoire de C++.
@Fangorm, tout à fait la réponse que j'allais faire :)
@Florian again, cette limitation est voulue. Ce que tu dis me dérange, je n'ai pas remarqué que le paradigme objet faisait perdre du temps. Il fait partie de ses choses que les programmeurs considèrent en apparence comme complexe mais qui globalement simplifie toujours et réduit toujours les temps de développement.
8 De teddyber -
je eux pas faire mon relou, mais bon ya que l'Ada qui tienne la route en terme de langage... mais je ne suis pas un troll, non non, je le pense vraiment.
9 De Florian -
Non pas pour insister, mais juste pour alimenter le débat.
- gestion de mémoire en D. Il y a un garbage collector, oui. mais il est désactivable, et tu a toujours accès au malloc/free, new/delete. Donc le garbage collector est la pour te simplifier la vie quand tu n'as pas envie, d'être particulièrement pointilleux sur la gestion de mémoire, mais dans les cas ou tu a besoin, tous les outils du c++ restent là. Il y a aussi ca : www.digitalmars.com/d/mem... Je ne suis pas sur que C++ propose ca. Ou du moins, pas sous cette forme.
- Je ne dis pas que l'objet c'est pas bien. Je dis que si tu as une bonne raison de ne pas faire de l'objet une fois de temps en temps, c'est tant mieux si le langage ne t'en empeche pas. Ce que j'aime bien dans C++ ou dans D, et pas dans Java, c'est que le language de donne tous les outils qu'il faut, mais il ne t'impose pas une façon de penser.
10 De Batmat -
Florian
> Je ne dis pas que l'objet c'est pas bien. Je dis que si tu as une bonne raison de ne pas faire de l'objet une fois de temps en temps, c'est tant mieux si le langage ne t'en empeche pas.
La souplesse, c'est bien, mais je suis fermement convaincu que la possibilité de faire un truc de 1000 façons différentes n'est pas forcément une bonne chose, loin de là.
Ce qui fait la puissance d'un langage et la qualité des développements, je pense que ce sont les règles que l'on y appose pour empêcher le tout de partir en vrille. Pouvoir faire tout et n'importe quoi, c'est joli, mais ça ne sert pas. Je préfère un langage restrictif qui permet de faire un truc d'une ou deux façons différentes seulement, mais qui le fait bien.
11 De Batmat -
Pas mal, le C+++, mais comme dit Alex, c'est vrai que toutes tes propositions (ou presque) proviennent du Java.
Personnellement, je commence vraiment à aimer le Java (ça me rappelle le syndrome du geolier, comprenne qui pourra :p) depuis que je l'utilise vraiment. Il apporte des outils extrêmement puissants que le C++, parce qu'il est compilé ne peut pas obtenir (ou en utilisant un JIT ou un truc du genre, je crois).