ProRealTime
Un problème de pc ? Une choix de logiciel ou de hardware à faire ? Besoin de conseils pour acheter ou optimiser votre station de trading ?

Re: Informations pour les futurs développeurs informatiques

par BeerIsDead » 06 avr. 2019 13:22

Certes C# est un bon langage, aucun doute là-dessus. Mais bon on ne peut pas tout apprendre : Java ou C# il faut choisir son camp :) (même s'il y a de nombreuses similitudes , ils copient leurs avancées mutuelles). Cependant, la "légende urbaine" veut que C++ reste plus performant que n'importe quel autre langage. Je vais me mettre à jour sur le sujet, du reste, vérifier ce qu'il en est à l'heure actuelle.

Re: Informations pour les futurs développeurs informatiques

par falex » 06 avr. 2019 13:49

Pour donner un exemple : python c’est un peu la voiture de monsieur tout le monde : facile à conduire et accessible au plus grand nombre mais pas très nerveuse en terme de performance
Le C/C++ c’est un peu le roadster ou la Porsche : n’importe qui peut en acheter une mais ça demande beaucoup plus de finesse dans le pilotage car on peut vite partir dans le décors.

Re: Informations pour les futurs développeurs informatiques

par Jim » 06 avr. 2019 13:52

BeerIsDead a écrit :la "légende urbaine" veut que C++ reste plus performant que n'importe quel autre langage.
En terme de rapidité d'exécution sans aucun doute.
Le gros point faible que je lui trouve : c'est un fourre-tout de tout et n'importe quoi (en langage savant : il est multi-paradigme lol).
Les dernières évolutions dans le niveau d'abstraction sont assez complexes.
Du coup, c'est parfois difficile de comprendre du code écrit par un autre que soit.

Re: Informations pour les futurs développeurs informatiques

par BeerIsDead » 06 avr. 2019 14:06

:mercichinois: Jim pour la rapidité d'exécution. Pas de raison que ça ait changé après tout => Java / C# sont compilés en langage intermédiaire alors que C++ est directement compilé en langage natif.

On est ok pour ce qui est la lisibilité du code (donc la productivité à terme) => Java et C# (entre autres), lorsqu'ils sont bien programmés, sont très "expressifs", donc une équipe peut facilement reprendre un projet, ainsi que soi-même quand on revient sur le code quelques mois / années plus tard.

Cependant sur ce thème Bernardino me disait justement qu'il y avait eu de grandes avancées côté C++. Mais je ne pourrais pas te donner les détails, je n'ai pas noté à l'époque, et je ne me suis pas penché sur ce langage depuis longtemps.

Re: Informations pour les futurs développeurs informatiques

par takapoto » 06 avr. 2019 14:32

Exemple de benchmark :
Screenshot 2019-04-06_14-26-09-662.jpg
Screenshot 2019-04-06_14-26-09-662.jpg (23.09 Kio) Vu 142 fois
Source :
https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/regexredux.html

Ceci est juste un exemple : sur le site, il y a plusieurs algorithmes différents qui donnent des résultats différents suivant le langage et qui bousculent ce classement.

@BeerIsDead:
Le C# est d'abord compilé en langage intermédiaire qui est ensuite compilé en langage natif.

Re: Informations pour les futurs développeurs informatiques

par BeerIsDead » 06 avr. 2019 14:35

Sympa ce site, je ne connaissais pas ! Des benchmarks pour différents algorithmes ok. :top: :top:

Oui le Java / C# sont compilés en langage intermédiaire, et c'est seulement à l'exécution qu'ils sont compilés en langage natif ? Donc moins performant, à priori, que du C / C++ compilé directement en natif avant l'exécution :?:

Re: Informations pour les futurs développeurs informatiques

par Jim » 06 avr. 2019 14:37

Pour ce qui est de la rapidité du C et de ses rejetons, voici une autre légende urbaine : un code bien écrit en C sera généralement plus rapide qu'un code bien écrit en assembleur. La raison ? Les compilateurs C font un énorme boulot d'optimisation pour la meilleure exécution.

La compilation C c'est un peu vaudou par moment. Ca marche mieux si tu as trempé ton CPU dans le sang d'une chèvre fraîchement décapitée...

Re: Informations pour les futurs développeurs informatiques

par BeerIsDead » 06 avr. 2019 14:45

:mercichinois: je pense que tu as raison pour le caractère "aléatoire" des compilateurs.

J'ai bossé quelques temps sur du C embarqué => le développeur initial avait tout écrit en assembleur, puis a petit à petit traduit en C ANSI (pour des raisons de lisibilité...). Il a tout de même choisi de garder certaines parties "sensibles" (en temps d'exécution) en assembleur.

Disons que si on maîtrise bien son sujet, je pense qu'on peut faire mieux en assembleur que n'importe quel compilateur côté optimisations. (je n'y connais rien assembleur, je m'occupais du C, mais c'est ce que j'en ai compris)

Malgré tout ça, ça n'empêche que même un compilateur C++ qui optimiserait "mal" le code, débouchera sur un logiciel plus performant que nos compères en langage intermédiaire, à mon avis.

Re: Informations pour les futurs développeurs informatiques

par Jim » 06 avr. 2019 14:52

Super intéressant le lien de Takapoto ! On voit bien que le même code compilé sur différents compilateurs donne des différences d'exécutions énormes (en durée d'exécution, d'utilisation de mémoire, ou des CPUs) :mercichinois:

Re: Informations pour les futurs développeurs informatiques

par takapoto » 06 avr. 2019 14:53

Je rejoins Jim en ce qui concerne l'assembleur et son optimisation par le C.
J'ai travaillé en équipe sur des systèmes de guidage de missiles (en assembleur) et il fallait sans cesse réécrire le code de certains car il était très loin des performances exigées. Quand on a pu enfin travailler en C, les résultats étaient beaucoup plus lissés.
Spoiler:
Il y avait même un original qui écrivait ses fonctions directement en langage machine :) véridique ! Evidemment ça ne marchait jamais...

Sujets similaires
Problèmes informatiques de Tahamomo
par JonhWolf » 10 mars 2014 10:14 (2 Réponses)
La place des développeurs dans le trading
par Blia » 21 mars 2018 10:37 (1 Réponses)
Cotations Futurs - Indices
par Benoist Rousseau » 24 mai 2012 22:36 (3 Réponses)
Question cfd à risque limité Futurs
par Benoist Rousseau » 24 févr. 2016 23:04 (1 Réponses)
Ramener un PP futurs sur cfds à risque limité
Fichier(s) joint(s) par Jim » 13 oct. 2016 14:44 (23 Réponses)
Précisions sur les contrats Futurs Dax
par Barik » 20 juil. 2017 00:10 (6 Réponses)
nouveau contrat pour CME : micro-futurs
par Benoist Rousseau » 13 mars 2019 19:24 (3 Réponses)
Ecart et pertinence des volume PRT et futurs euronext
par Amarantine » 08 mai 2020 03:34 (2 Réponses)