OVH Cloud OVH Cloud

Débuter en C++

78 réponses
Avatar
H.
Bonsoir...

[Copie d'un message sur fr.comp.lang.c]
Bon, je sais, c'est une question de débutant, mais bon... je n'arrive
pas à trouver de réponses pertinentes sur internet ou dans la FAQ.
En gros, j'hésite à passer au langage C (je maîtrise bien GW Basic,
Turbo Pascal, PHP et quelques autres langages). Et j'hésite entre C et
C++... Je ne trouve pas de comparatif "pertinent" au sens ou je l'entend
(i.e.
pour débutant !), donc je me permets de poser quelques questions simples,
dont les réponses me permettront de choisir :
- quelle est la différence entre C et C++, "à part" que C++ permet la
programmation orientée objet ?
- peut-on programmer en C++ sans se servir dans l'immédiat de la
programmation orientée objet (autrement dit, apprendre progressivement, mais
juste sous C++) ?
- quel compliateur choisir (sur quels critères se baser ?) ? J'ai
téléchargé sans les installer Dév-C++ et MS Visual C++ 2005 Express
(gratuits).

En fait, mon objectif à court terme est de faire un programme spécifique
(évolutif et assez complexe) avec une interface graphique et une base de
données (j'ai l'habitude en PHP) :
- est-ce qu'il est possible (autrement dit pas trop complexe pour
quelqu'un qui débute avec ce langage), en C ou en C++, de faire "sa" base de
données avec des fichiers texte (sans se servir de SQL ou autres) ?
- pour les interfaces graphiques, d'après ce que j'ai lu, on en revient
toujours à l'OS, et puis ce n'est pas le sujet du forum, etc. Néanmoins, je
ne vois pas bien "comment" on peut s'occuper d'une interface graphique : par
l'intégration d'une bibliothèque spécifique ? Pour Windows, y en a-t-il une
qui soit relativement simple d'abord, ou, à défaut, quelle est la plus
répandue (et libre) ?


Cordialement,
Christophe

10 réponses

4 5 6 7 8
Avatar
Gabriel Dos Reis
James Kanze writes:

| Gabriel Dos Reis wrote:
| > "kanze" writes:
|
| > [...]
|
| > | CaLyon Cheuvreux. Mais je doute que tu arriveras à avoir des
| > | contrats avec de telles garanties. C'est comme partout : plus
| > | tu es gros, plus tu peux négocier des avantages.
|
| > yup, le principe de c'est d'en donner plus à ceux qui n'en ont pas
| > besoin :-)
|
| Et pourquoi est-ce que ça serait différent qu'ailleurs ?

Je n'ai pas souvenance avoir dit quelque chose ressemblant à cela de
près ou de loin. Ma remarque, comme on peut le voir dans les follow-ups,
était de portée très générale.

Les grosses entreprises « en bonne santé » sont souvent celles qui ont
développé des aptitutes particulières à soutirer à ceux qui n'ont pas
pour en donner à ceux qui n'ont pas besoin.

[...]

| Le fait reste que quand tu fais exécuter des transactions pour plusieurs
| milliards de titres par an, si tu dis lors du passage de la commande que
| tu veux qu'elle soit exécutée dans la journée, tu aurais un prix qui
| correspond au prix moyen dans la journée. Tandis qu'en tant qu'individu,
| si tu passes un ordre à ta banque, tu auras le prix qu'ils veulent bien
| te donner.

Ceci est une instanciation de ma rematque template (et hop, on passe
onnetopique)

-- Gaby
Avatar
Gabriel Dos Reis
Sylvain writes:

[...]

| >> donnes-moi les coord. de ton trader dans ce cas, je vais faire
| >> qlq aller-retours sympa !!
| > CaLyon Cheuvreux.
|
| "CaLyon" ? "CALyon" ? "CA-Lyon" (quel arrondissement?) ??
|
| la société que je connais et dont Chevreuil est filiale à 100% est
| "Calyon" ("CALYON CORPORATE AND INVESTMENT BANK", 100% française,
| enregistrée à Nanterre et née du rapprochement CA-Indosuez / Bq de
| financement du Crédit Lyonnais, comme son nom l'indique).

quelqu'un m'avait dit que la tradition veut qu'un avocat se garde de
poser une question dont il ne connaît pas déjà la réponse.

-- Gaby
Avatar
Gabriel Dos Reis
Sylvain writes:

| Fabien LE LEZ wrote on 11/07/2006 18:21:
| > Yep. Reste le corollaire : peut-on programmer pour Windows en C++ ?
|
| impliquant: ne peux-t'on faire du C++ que pour 10% des ordis ?
| serait-ce une secte ?

d'après ce que j'ai compris, on peut y adhérer et sortir librement.

-- Gaby
Avatar
Fabien LE LEZ
On 11 Jul 2006 20:58:45 GMT, John Deuf :

Elles font surtout partie de .Net, qui est la nouvelle API Windows. Ce
n'est donc pas specifique au C#, puisqu'elles sont aussi accessibles avec
d'autres langages (dont C++).


Si je ne me trompe, .Net n'est pas accessible depuis C++.
Cette API est, par contre, accessible à deux langages créés pour
l'occasion, et pas très éloignés de C++ (par le nom, au moins) : C# et
C++/CLI.

Avatar
Loïc Joly
On 11 Jul 2006 20:58:45 GMT, John Deuf :


Elles font surtout partie de .Net, qui est la nouvelle API Windows. Ce
n'est donc pas specifique au C#, puisqu'elles sont aussi accessibles avec
d'autres langages (dont C++).



Si je ne me trompe, .Net n'est pas accessible depuis C++.
Cette API est, par contre, accessible à deux langages créés pour
l'occasion, et pas très éloignés de C++ (par le nom, au moins) : C# et
C++/CLI.


Elle est aussi accessible depuis COM, un autre truc qui est interfacé au
C++.

--
Loïc


Avatar
kanze
Sylvain wrote:
James Kanze wrote on 12/07/2006 00:00:

[...]

Le fait reste que quand tu fais exécuter des transactions
pour plusieurs milliards de titres par an, si tu dis lors du
passage de la commande que tu veux qu'elle soit exécutée
dans la journée, tu aurais un prix qui correspond au prix
moyen dans la journée. Tandis qu'en tant qu'individu, si tu
passes un ordre à ta banque, tu auras le prix qu'ils veulent
bien te donner.


mais cela n'a rien à voir ! et ne se résume pas à "on fait une
fleur aux gros", "on s'en fout des petits".


Pas complètement. La question est compliquée, et il faut bien
traiter les gros ordres différemment des petits. Mais même quand
l'ordre est pour une centaine de titres (ce qui arrive), le
client qui en passe plusieurs milliers de ce genre d'ordres dans
l'année est traité bien différent que Mme Michou.

si un trader reçoit un ordre pour un million de titres:
- il a coupé ses 8 autres portables au moment de cette
réception d'ordres, ou c'est un gros blérau (dans 99.99% des
cas c'est option 1)


Les « traders » chez nous n'ont pas de portable branché du
tout. Ni un contact direct avec le client, d'ailleurs ;
l'organisation est bien plus complexe que ça. (En partie pour
des raisons juridiques, je crois, mais j'avoue que tout ça me
dépasse.) Ils reçoivent l'ordre, en fait, à travers un des
programmes sur lequel je travaille.

il doit acheter un monceau de titres (bien supérieur au
flottant) sans se faire remarquer de ces collèges traders
d'autres d'autres (risque inexistant quand il vend les qlq
titres de Mme Michou); sans quoi ceux-ci annuleront presto les
propres ordres de vende, laissant le pauvre idiot initial dans
l'incapacité de server son client ou (s'il a fait l'erreur)
ils lui revivont petit à petit à un prix de marché qui ne
cessera de croitre (au plus grand mécontentement du 'gros
client initial' qui changera vite de traderer).


Il faut dire que la plupart de ces problèmes-là sont traité par
l'ordinateur, et non le trader. (C'est pour ça d'ailleurs, que
j'en ai un peu de connaissance. Je ne m'intéresse pas beaucoup
en ce genre de chose, mais il faut bien comprendre le cahier de
charges avant de commencer à écrire le programme.) Selon les
marchés, c'est parfois possible de passer des ordres
« invisibles » ; l'ordinateur du marché ne les revèle pas aus
autres traders. Quand ce n'est pas le cas, nos programmes le
font (mais avec les possibilités des conditions de race,
évidemment, qui ne sont pas présentes quand c'est le marché même
qui le fait).

- il factura, au final, les titres à son client à un prix moyen
résultant de la moyenne des opérations étalées sur plusieurs jour s ou
semaines (là tous les outils de suivi et d'analyse sont les bienvenus),
et non sur un prix entendus avant le démarrage de l'opération (seulem ent
planifié selon ce prix).


Le prix n'est pas nécessairement fixé d'avance, mais il faut
bien qu'on livre les actions aux prix moyen du période d'achat
(en fait, le VWAP, le prix moyen pondéré par volume). Si on
facture un prix plus elevé, avec l'excuse qu'on a tout exécuté
la dernier jour, quand le prix avait déjà monté, on perd le
client.

Si lors de la création d'une ordre, mon programme renvoie un
acquittement au salesman, et qui lui, donc, confirme l'ordre au
client, il y a bien intérêt que l'ordre soit bien écrit sur
disque, de façon à ce que le trader en soit informé, pour qu'il
puisse exécuter l'ordre. Y compris s'il y a une panne de secteur
juste au moment que je viens d'envoyer l'acquittement.

le fait reste: quand tu as a une bonne connaissance du
langage, tu n'as pas, pour autant et spontanément, une bonne
connaissance du métier,


Je ne prétends pas être spécialiste du métier ; ce n'est pas
mon rôle. J'en connais assez pour comprendre les cahiers de
charges de mes programmes, mais c'est à peu près tout.

ce sont deux 'facettes' (juste un jeu de mots hs) qu'il a pu
t'arriver de confonder.


Pas du tout, et quand je prends un travail, je me renseigne bien
avant s'il cherche un expert métier ou un expert technique ; et
je ne l'accepte que si c'est ce dernier. C'est d'ailleurs
pourquoi j'ai pu travailler aussi bien pour des banques que pour
des companies téléphoniques. (Et dans la passée, bien d'autres
choses aussi : j'ai déjà écrit et un compilateur, et un OS. À
une époque où le monde de l'informatique était bien plus simple,
évidemment, et que c'était encore possible qu'un compilateur ou
qu'un OS ait un seul auteur.)

--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34


Avatar
kanze
Sylvain wrote:
kanze wrote on 11/07/2006 09:37:
Sylvain wrote:
kanze wrote on 10/07/2006 13:41:

quand tu as accepté un ordre d'un client pour 100.000
actions, il faut les livrer au prix du marché au moment
qu'il a passé la commande, même si le prix a augmenté dans
les jours qui suivent.


t'es sur ?


Oui. Si le client dit qu'il veut acheter aujourd'hui, il
achête au prix d'aujourd'hui. On a une certaine souplesse,
mais pas beaucoup.


c'est quoi ta phrase type déjà ? "tu t'enfonces" ? "on voit
bien que tu ne sais pas de quoi tu parles" ?


Ici, en revanche, je connais quand même assez bien les cahiers
de charges des programmes que j'écris.

à tout le moins (je n'affecte pas les cliqués), cette
expression est aussi erronée que la première; les marchés (98%
des marchés) sont cotés en *continu*, le "prix d'aujourd'hui"
n'existe simplement pas; si tu confonds avec le prix au fixing
(celui que tu liras dans ton journal du lendemain) c'est juste
un prix parmi tous ceux qui ont été négociés dans la journée.


Je ne me suis pas servi du langage technique, parce que je suis
partie du principe que la plupart des lecteurs ici ne
connaissent pas VWAP. Le fait reste que quand un client nous
passe commande, on fait un grand effort pour que le prix reste
près du VWAP du periode donné. La plupart des ordres ont une
validité du jour même, et on prend donc le VWAP sur la journée
(ou plus précisement sur la période entre la reception de
l'ordre et la clôture du marché).

si la souplesse dont tu parles est la réactivité des
opérateurs du CA pour les opérations transmisses par eux, en
effet on voudrait pas "trop de souplesse", il y a dix ans
quand ils leur fallaient trois jours pour me passer un ordre
(au prix du marché) c'était un peu long; mais ceci n'a
strictement rien à voir.


J'imagine que tu ne passes pas de milliers d'ordres par an, non
plus. Ça fait une différence.

donnes-moi les coord. de ton trader dans ce cas, je vais faire
qlq aller-retours sympa !!


CaLyon Cheuvreux.


"CaLyon" ? "CALyon" ? "CA-Lyon" (quel arrondissement?) ??


À vrai dire, je ne suis pas sûr. Sur les murs ici, c'est
toujours écrit tout en majuscule. Du fait que c'est né de la
fusion du Crédit Agricole (CA) et du Crédit Lyonnais (Lyon), je
supposait une écriture particulière pour délimiter les deux
parties.

la société que je connais et dont Chevreuil est filiale à 100%
est "Calyon" ("CALYON CORPORATE AND INVESTMENT BANK", 100%
française, enregistrée à Nanterre et née du rapprochement
CA-Indosuez / Bq de financement du Crédit Lyonnais, comme son
nom l'indique).


C'est bien ça, et j'imagine bien que dans l'enrégistrement
officielle, c'est « Calyon ». Ce qui ne préjuge rien sur la
façon qu'il l'écrit dans les documents commerciaux.

Et la filiale, c'est bien Cheuvreux, non Chevreuil.

CaLyon Cheuvreux. Mais je doute que tu arriveras à avoir des
contrats avec de telles garanties. C'est comme partout :
plus tu es gros, plus tu peux négocier des avantages. Et nos
clients sont les grosses companies d'assurances, etc.


de pire en pire !

apparement tu ne connais pas bien le fonctionnement d'une
bourse,


Je connais les cahiers de charges de mes programmes. Je sais
aussi que si je vais chez ma banque pour acheter des actions, je
n'ai pas les mêmes conditions que n'ont les clients de Cheuvreux
(qui sont tous d'une certaine taille). Je sais même (de mes
activités à la Dresdner Bank) que les banques ont plusieurs
catégories de clients, et qu'elles font une distinction très
nette entre la banque des particuliers ("retail banking", en
anglais), et la banque privée ("private banking", en anglais) :
à la Dresdner Bank, le seuil était ou bien une million de DM de
revenues, ou bien six millions de DM de capitale. Si tu vas à
la banque privée, et tu passes commande de cent mille titres, à
acheter sur une période donnée, tu peux être sûr que le prix
qu'on vous les facture ne serait pas supérieur du VWAP de ce
période. Si tu vas à la banque des particuliers, en revanche, et
tu passes commande pour une centaine de titres, tu serais
facturé un prix quelconque ; la banque ne va pas faire un
effort particulier pour t'obtenir le meilleur prix.

je vais pas tout résumer mais imagine:

- une banque d'investissement offre le "prix d'aujourd'hui" à ses gros
clients,


S'il une banque d'investissement s'écarte trop du VWAP, il
n'aurait pas de gros clients.

- ces clients ont accès à des fonds (banque de prêts), puisque ce s ont
de gros clients.

le "prix du jour" (d'ouverture, du fixing de la vieille, ???)
est à 100 euros.


Le prix du jour n'est connu qu'à la fin de la journée. En ce qui
concerne les grosses commandes, c'est le VWAP qui servent.

je contacte ton trader pour acquérir 10.000 actions (soyons
raisonable) "au prix du jour", soit 1ME. pendant qu'il prends
des notes, j'achète directement 10.000 actions au dessus du
prix du marché


Comment ? Il faut être trader pour achèter directement.

- si l'action n'a pas trop de flottants, mon
ordre aspire tous les ordres de ventes et provoque la hausse
immédiate du titre avec réservation (blocaque temporaire) à la
hausse par pallier de 10%.


Il fait augmenter le VWAP. Donc, le prix du jour que le trader
va te facturer.

mon trader qui a finit de prendre ses notes, achete pour moi
10.000 actions à disons 105 euros (cela peut être 103, 115,
...) mais il me les facture, bien sur, "au prix du jour"
(comme les bons oeufs frais ma brave dame).


Il te les facture au prix du jour. C-à-d le VWAP. Si tu fais
augmenter le VWAP, il les facture plus cher.

Maintenant, si tu démandes une validité de, mettons deux heures,
et que le trader, pour une raison ou une autre qui ne dépend
pas du marché n'a pas pû les effectuer dans les deux heures, et
qu'ensuite, le prix augmente, le trader a des choix :

-- Il peut annuler l'ordre. Si la raison qu'il n'a pas pu
effectuer l'ordre est acceptable par le client, c-à-d en
gros qu'il dépend du marché (pas assez de volatilité, etc.),
et non d'une erreur de ta part, ça s'arrête là. Si en
revanche, la volatilité y était, et que le client pariait
justement sur la hausse qui a suivi, tu as perdu un client.

-- Il peut acheter plus tard, et facturer le prix réel de
l'achat. C'est une façon certaine de perdre le client.

-- Il peut acheter plus tard, et facturer le prix VWAP du
période spécifié par le client. Il perd de l'argent, mais il
garde le client. C'est ce que fait Cheuvreux si le rétard
est bien dû à une carence interne -- mieux vaut perdre une
million d'Euros une fois que perdre un client qui te
rapporte des dizaines de million d'Euros par an.

--
James Kanze GABI Software
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34




Avatar
loufoque

Cette API est, par contre, accessible à deux langages créés pour
l'occasion, et pas très éloignés de C++ (par le nom, au moins) : C# et
C++/CLI.


C# c'est plutôt du Java apparemment.

Avatar
Fabien LE LEZ
On Wed, 12 Jul 2006 14:18:59 +0200, loufoque :

Cette API est, par contre, accessible à deux langages créés pour
l'occasion, et pas très éloignés de C++ (par le nom, au moins) : C# et
C++/CLI.


C# c'est plutôt du Java apparemment.


Y'a un peu de ça.
Mais je parlais plutôt de la ressemblance du nom (C++, C#, C++/CLI).


Avatar
John Deuf
Fabien LE LEZ :

Si je ne me trompe, .Net n'est pas accessible depuis C++.


Je ne veux pas relancer le troll C++/CLI, mais oui c'est bien ce que
j'entendais par "accessible en C++".

Cette API est, par contre, accessible à deux langages créés pour
l'occasion, et pas très éloignés de C++ (par le nom, au moins) : C# et
C++/CLI.


Et bien d'autres langages aussi : J#, JScript, VB.Net, Delphi, Smalltalk,
Cobol, Eiffel...

--
John Deuf

4 5 6 7 8