Citation: Pour moi je n'ai pas de nom, mais une liste de qualités qui existent ou n'existent pas encore:

C'est parfait, c'est le type de réponse que j'attendais.

* pourquoi pas un langage qui peut faire machine virtuelle et compilation native selon les choix ?
Est-ce que quelqu'un y a seulement pensé ?
Mais bon sang, n'y a-t-il que moi qui réfléchi dans ce monde de brutes ?

Je ne sais pas si c'est techniquement possible, ça. Et quel serait l'intérêt ?


* le côté multiplateforme serait également très apprécié; de préférence sans les particularités que j'ai découvert avec le python du genre: si tu es sur linux, il y a telle ligne que tu dois ajouter au début de chacun de tes fichiers, ou si tu es sur windows tu dois faire gaffe au win32 en ajoutant telle
ou telle installation particulière, etc...
Et sur ce plan, il me semble que le pure basic a fait pas mal d'effort qu'il faudrait ne pas oublier de louer.

Ca je pense q'un moment donné, malheureusement, c'est inévitable. IL y a trop de différences entre les systèmes. Si tu veux vraiment que ça fonctionne sans différence, alors tu es obligé de prendre la logique java: un tronc commun plus ou moins conséquent qui gomme toutes les différences. Là où java pourrait être amélioré, c'est que le dit tronc commun ne soit pas monolythique et que seules les parties utilisées soient inclues dans le programme compilé. GCC a essayé avec son compilateur pour java qui s'appelle GCJ, mais c'est un échec, le tronc commun est trop gros et trop monolythique pour que ça fonctionne bien.


* Insensible à la cass. Pour moi c'est primordial. Cela fait un soucis de moins quand on programme. Je tiens à éviter les cheveux blancs le plus longtemps possible.

Ca c'est un point de vue de syntaxe avec lequel j'ai déjà dit que je n'étais pas d'accord, prétextant l'habitude. Mais ça se défend.

* surtout pas d'accolade... Pitié... en tout cas, pas pour délimiter les blocks de code. Car, j'en ai marre des codes spaguettis.

C'est bizarre, moi c'est l'inverse de toi. J'ai l'impression que les codes sont d'autant plus spaghetti dans les langages à la begin/end. Le then obligatoire après un if même quand il n'y a qu'une seule instruction en lua par exemple, ça me saoule, et ça me donne l'impression d'avoir du code encore plus spaghetti parce que du coup je ne sais que faire de ces 12 end qui se suivent.

De nouveau, c'est sûrement juste une histoire d'habitude.

* qui offre plusieurs façon de faire les choses, qu'on ne soit pas obligé par exemple de passer par uniquement les expressions régulières pour faire de la recherche de texte, ou par les DataTables pour savoir quelle est la liste des tables d'une base de données. Confert lua, confert .net.

Dans ce domaine, c'est ruby qui devrait te plaire, leur philosophie de base est de te laisser le choix de faire parmi plein de possibles. ET le fameux perl avec la citation historique de son créateur: tehre's more than one way to do it (il y a plus d'une façon de le faire)
Point commun, les deux sont à fond dans les regex !

A noter que les regex, c'est aussi un truc qu'il faut apprivoiser. C'est assurément pas quelque chose de facile à prendre en main, mais une fois qu'on en a l'habitude, on a envie de les mettre partout, parce que ça permet juste de résoudre à peu près tous les problèmes de manipulation de texte qu'on peut avoir beaucoup plus facilement que de penser en terme de procédural, de conditions et de substring/concaténation.

* le dynamisme dans les déclaration. Qu'on puisse en cours d'exécution, créer une fonction, un objet, une classe, voir une API... Dans les langage interprétés, cela peut se faire en bidouillant, mais je n'ai pas connaissance d'un langage qui ailles aussi loin. Ce serait selon moi le langage ultime pour créer une véritable intelligence artificielle, le rêve de tout programmeur fou.

Créer des API et des fonctions à la volée, tu peux dans pas mal de langages interprétés. Pour le coup, php a un truc bien, tu peux faire à peu près ce que tu veux avec une série de méthodes/fonctions magiques. Et avec les langages dit objets à prototype comme lua et javascript, tu peux personnaliser tes objets un par un si tu veux, pour qu'ils aient un comportement spécifique ou pour les faire coller à une API précise. C'est un des gros avantages des langages objets à prototype.


* des bibliothèques qui font le café... ou presque. Qui permettent de manipuler le plus bas niveau comme le plus haut niveau. Comme par exemple faire souffler les ventilateurs à un instant t pour lever la jupe de la secrétaire.

Les bibliothèques, gros débat aussi. C'est sûr qu'un langage sans bonnes bibliothèques, ce n'est plus grand chose aujourd'hui. Idéalement, on ne devrait pas choisir tel ou tel langage parce qu'il a telle bibliothèque qu'il n'y a pas dans un autre langage, mais il faut reconnaître que ce n'est pas facile !

* multiparadigme. Pour ma part je choisirais : procédural, modulaire, orienté objet, et fonctionnel. Rien que ça.

C'est aussi 4 qualités que je tiens à avoir: à la fois du procédural et de l'objet, une petite pointe de fonctionnel, et le tout suffisament modulaire bien entendu.

* qui n'oblige pas à faire des déclaration de prototypes de fonctions. C'est un truc que je n'ai jamais compris. Pourquoi nous faire ch... à le faire quand le compilateur peut simplement scanner notre code pour en créer une liste ?

Deux remarques à ce propos.

La première, c'est qu'une liste de prototypes, ça peut être drôlement utile pour construire une API et la diffuser sans être obligé de publier tout le code. Par exemple si je prends une bibliothèque comme QT, WXWidgets, FMOD, BASS..., je veux pouvoir te la vendre sans pour autant que tu puisses modifier mon code. Pour que tu puisses l'utiliser, il faut que je te fournisse une liste des fonctions utilisables, mais pas le code des dites fonctions parce que sinon, tu n'aurais pas besoin de l'acheter car tu pourrais refaire la tienne. Dans les langages où on n'a pas clairement cette séparation, c'est compliqué. Par exemple si je veux te vendre une bibliothèque en python, je peux bien de passer les fichiers .pyc, python n'y trouvera aucun inconvénient, mais si tu veux tu peux facilement les décompiler, retrouver quasiment le code source original, et du coup après tu fais ce que tu veux et tu n'as plus besoin de moi. Et en plus, je dois faire une documentation de chaque fonction séparément... pas forcément pratique. IL y a plein de bibliothèques C/C++ où les fichiers .h qui contiennent les prototypes font aussi office de documentation directement, et ça suffit très bien.


* une documentation disponible et compréhensible. Dans certaines documentations, on a l'impression de lire des philosophes.
A ce demander si le but est d'être compris ou de nous embrouiller.

Tu peux développer ? Je ne vois pas trop qui tu vises et où tu veux en venir avec ça.
Progliste :
Pour se désinscrire de la liste : 
mailto:[email protected]?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/[email protected]/       

Je vous rappelle que les pièces jointe sont activés leur taille est limité à 2 MO
Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Ou en utilisant la nouvelle page de partage :
http://outils-n.archive-host.com/partage-fm0m7b947vglikp9Efpso94gt
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je 
vous répondrez en privé.
        
        

Répondre à