Aller au contenu

Pour Tous Ceux Qui Ne Connaissent Pas Linux


Librekom

Messages recommandés

Invité jabial
Posté
C'est, par définition, impossible.

Quoi, tu veux me donner des cours? :icon_up:

Posté
Quoi, tu veux me donner des cours? :icon_up:

Ca me parait normal que le multi-plateforme sans compris soit impossible : par exemple, sous Mac OS X, les applications peuvent définir quelle est la signification du bouton '+' sur la barre de titre (bouton que je trouve plutôt inutile ceci dit, ce n'est qu'un exemple). Or comme ce n'est pas présent ailleurs, ou de la même façon, il est peu probable que ce soit présent dans une librairie multi-plateforme (sans que ça empêche de l'exploiter autrement, même en Java on se retrouve à vouloir faire des choses différentes suivant les OS).

Invité jabial
Posté
J'ai rêvé ou Jabial participe à The Gimp ?

Je ne participe pas au GIMP. J'ai simplement participé à la liste de discussion des développeurs GIMP, parce que j'ai choisi, lorsque j'étais en DEA, de rendre un projet sous forme de plugin GIMP et qu'il me fallait de la doc rapide.

Si ce n'est pas indiscret, tu es tombé là-dessus comment?

Ca me parait normal que le multi-plateforme sans compris soit impossible : par exemple, sous Mac OS X, les applications peuvent définir quelle est la signification du bouton '+' sur la barre de titre (bouton que je trouve plutôt inutile ceci dit, ce n'est qu'un exemple). Or comme ce n'est pas présent ailleurs, ou de la même façon, il est peu probable que ce soit présent dans une librairie multi-plateforme (sans que ça empêche de l'exploiter autrement, même en Java on se retrouve à vouloir faire des choses différentes suivant les OS).

J'entendais compromis en terme d'efficacité bien sûr : il est évident que le rôle de Qt n'est pas d'émuler toutes les caractéristiques de chacune de ses plateformes sur toutes les autres.

Posté
Je ne participe pas au GIMP. J'ai simplement participé à la liste de discussion des développeurs GIMP, parce que j'ai choisi, lorsque j'étais en DEA, de rendre un projet sous forme de plugin GIMP et qu'il me fallait de la doc rapide.

Si ce n'est pas indiscret, tu es tombé là-dessus comment?

Tout à fait par hasard: je faisais une recherche sur une fonction de The Gimp et je suis tombé sur la liste de discussion et ton nom.

Posté
J'entendais compromis en terme d'efficacité bien sûr : il est évident que le rôle de Qt n'est pas d'émuler toutes les caractéristiques de chacune de ses plateformes sur toutes les autres.

Ok mais ton message originel n'était pas clair.

Voilà pourquoi j'ai peu a peu abandonné tous ces machins multiplateformes qui en font le minimum pour un tarif maximum et que je suis revenu au bon vieux C en attendant d'avoir un peu de temps pour appréhender Objective-C.

PS: Loin de moi l'idée de te donner des leçons! Néanmoins de la part d'un défenseur de Windaube, ta répartie était assez savoureuse :icon_up:

Posté
Soyons clair : du point de vue de la théorie des langages, C++ est une grosse merde puante, bien pire que Java. Ceci dit, ça se rattrape largement avec des politiques de codage, et d'un point de vue pratique, ça tourne bien plus vite. Qt offre le multiplateforme sans le moindre compromis : il y a absolument tout, ça rend le style de programmation par objects bien plus propre, et on ne perd pas un atome de rapidité.

Et, juste pour savoir, tu penses quoi du LISP ?

Posté
Et, juste pour savoir, tu penses quoi du LISP ?

Ce que son nom veut dire. Lot of insane stupid parenthesis.

Posté
Ce que son nom veut dire. Lot of insane stupid parenthesis.

Peut-être. Mais c'est le premier langage à m'avoir profondément donné l'impression de programmer proprement.

Posté

Pas d'accord avec Jabial, Java et .NET = :icon_up:

Sinon tout langage est "interprete", meme le code natif est interprete par le processeur, ca ne veut rien dire. Ce qu'on appelle un langage interprete en general c'est un langage qui n'est pas compile dans un code binaire. Java est compile en p-code. Ah oui et gcj compile java nativement aussi.

Par ailleurs ces deux langages ont l'immense avantage d'avoir une gestion des objets a peu pres saine contrairement a C++. Le fait de manier des objets en C++ et pas des references d'objets est a se taper la tete sur les murs, ce qui se passe lors des passages de parametres, des retours de valeurs, des casts etc, tout cela est implicite et lie a la connaissance profonde du langage, ca n'est jamais clair dans le code.

Invité jabial
Posté
Et, juste pour savoir, tu penses quoi du LISP ?

Comme OCAML : génial mais ça manque diablement de bibliothèques, et l'orientation objet est à chier.

Au passage, aucun compilateur LISP n'est aussi performant qu'OCAML.

Sinon tout langage est "interprete", meme le code natif est interprete par le processeur, ca ne veut rien dire.

Ce que tu dis est typique de la non-pensée. C'est complètement crétin de dire qu'interprété ne veut rien dire. Tu peux dire que les avantages de l'interprétation dépassent ses inconvénients, ce qui est faux :icon_up: mais pas complètement idiot ; par contre, là, tu te comportes comme un troll sur CPL.

Quand un langage est interprété, il y a deux niveaux de décodage : le processeur, et l'interpréteur. Ca génère de l'overhead et donc fatalement une perte d'efficacité. Nier son existence est ridicule. Les facteurs sont de 1 à 10.

Ce qu'on appelle un langage interprete en general c'est un langage qui n'est pas compile dans un code binaire. Java est compile en p-code. Ah oui et gcj compile java nativement aussi.
Il y a deux niveaux d'interprété : les langages interprétés, et les implémentations de langages interprétées. Un langage interprété est un langage qui ne peut qu'être interprété parce qu'il a besoin d'un niveau de dynamicité qui fait qu'il est impossible de traduire en code machine sans inclure un compilateur dans ledit code machine qui devra être distribué. Une implémentation interprétée est une implémentation d'un langage qui fait appel à un interpréteur. Il peut y avoir des interpréteurs de C.

C est totalement compilable. C++ est à 90% compilable. Java est à 70% compilable.

Dans les faits, le résultat de la compilation en code machine d'un source C ne fera des appels de fonctions quasiment que lors des appels explicites. En C++, il y a déja pas mal d'appels de fonctions cachés, mais c'est bien inliné et bien optimisé - ça reste plus lent que du C mais ça ne se voit pas "à l'oeil nu" si j'ose dire. En Java, c'est ignoblissime. Tu fais 2+2 et ça appelle une fonction. Python est pire mais au moins Python est un langage de script : avec, tu codes 100 fois plus vite qu'en Java.

Par ailleurs ces deux langages ont l'immense avantage d'avoir une gestion des objets a peu pres saine contrairement a C++. Le fait de manier des objets en C++ et pas des references d'objets est a se taper la tete sur les murs, ce qui se passe lors des passages de parametres, des retours de valeurs, des casts etc, tout cela est implicite et lie a la connaissance profonde du langage, ca n'est jamais clair dans le code.

Deux mots : connaissance et discipline. Si tu sais vraiment programmer en C++ (contrairement à Java où il suffit d'avoir parcouru un tutorial), etque tu te tiens à une discipline de codage, tu n'auras pas de problème.

Entre parenthèses, ce qui est pour toi un défaut est pour moi une qualité : j'aime choisir si j'utilise une référence ou un objet et précisément comment. C'est aussi pour ça que mon code tourne plus vite que le tien :doigt:

Posté

Quand j'étudiais la mécanique (il y a 20 ans environ), on m'a fait apprendre le Turbo Pascal et le Fortran. Ça existe toujours ?

Invité jabial
Posté
Quand j'étudiais la mécanique (il y a 20 ans environ), on m'a fait apprendre le Turbo Pascal et le Fortran. Ça existe toujours ?

Le TP est toujours utilisé pour l'enseignement, et le FORTRAN est toujours utilisé pour faire des calculs. Ceci dit, il semble que le changement arrive.

Posté
C'est aussi pour ça que mon code tourne plus vite que le tien :icon_up:

Mauvais premisse, je code en C :doigt:

Posté
Quand j'étudiais la mécanique (il y a 20 ans environ), on m'a fait apprendre le Turbo Pascal et le Fortran. Ça existe toujours ?

On m'a aussi fait apprendre ces deux langages. Le Turbo-Pascal pour le côté algorithmique (il faut avouer que c'est formateur, même si l'on sent bien l'aspect un peu verbeux et bridé), et le Fortran pour la simulation numérique (une bête simulation d'advection 2-D m'a fait détester ce langage aussi crade que vide de potentiel).

Posté
Puisque le sujet dévie un peu, j'en profite pour placer cette nouvelle pub Get a Mac qui est excellente :icon_up:

Très bonne idée, mais bon n'oublions pas qu'Apple a tout de même iTunes, un machin à DRM. Bon, c'est clair qu'on ne rivalise pas avec Vista qui a DRMisé tout ce qui était possible d'imaginer.

Posté

les anagrammes sont aux français ce que les fautes sont à mon orthographe ! C'est quoi un DRM ? Directeur des Ressources Mécaniques ?

Posté
On m'a aussi fait apprendre ces deux langages. Le Turbo-Pascal pour le côté algorithmique (il faut avouer que c'est formateur, même si l'on sent bien l'aspect un peu verbeux et bridé), et le Fortran pour la simulation numérique (une bête simulation d'advection 2-D m'a fait détester ce langage aussi crade que vide de potentiel).

Mécanique des fluides aussi. En ce qui concerne la programmation, ça n'a jamais été une passion…

Posté
Mécanique des fluides aussi. En ce qui concerne la programmation, ça n'a jamais été une passion…

En l'occurence, l'advection à simuler était basée sur un cas ultra-simplifié de mécanique des fluides. C'est vrai que le ForTran, en dehors de la simulation numérique de milieux continus… Même la simulation de trajectoires se fait plutôt en C, maintenant. Mais bon, c'est l'héritage du passé, le poids de la tradition, tout ça.

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...