OVH Cloud OVH Cloud

Comment sont créée les applications commerciales ?

77 réponses
Avatar
Spoofix
Salut,

J'aurais voulu savoir comment sont créée les applications comme Visual
Studio, Office, Nero, Photshop etc... quel langage ? Quels standards ? Quels
bibliotheques ?

Merci d'avance....
Clément.

10 réponses

Avatar
Ambassadeur Kosh
> >> - des outils qui prennent en charge une partie du travail répétitif
>> (bibliothèques de classes, composants,...) et qui soient compatibles
> Et la STL?

Je ne suis pas sûr que ce soit un outil à la portée du plus grand
nombre.



pour commencer, excusez moi de contribuer à la l'explosion combinatoire des
sujets. j'ai suivi avec interet vos threads jusqu'à maintenant en sous
marin, et je partage votre avi vous sur pas mal de points.

mais qu'est ce qui fait d'apres vous fait que la stl n'est pas utilisable
par le plus grand nombre ? et qu'est ce qui la rendrait plus utilisable ?

pour ma part, c'est un outils incontournable. ni les MFC, ni la VCL ne
m'avaient apporté un tel potentiel de rigueur, de productivité, et de
qualité.

certes, sans un point d'entrée html dans le catalogue des containers, des
algorithmes et des principes, il faut enormement de chance, de motivation et
de patiente pour en acquerir la maitrise. mais n'en est il pas ainsi pour
toute bibliotheque ? les aides de la stl comme celle qui se trouve dans BCB
ne sont elles pas assez accessibles ?
Avatar
Mickael Pointier
Franck Guillaud wrote:
Patrick Philippot wrote:
Au moins, avec MS je suis plus
tranquille: avant que quelqu'un ne les rachète, j'ai le temps de voir
venir.



Certes, mais le temps au bout duquel Microsoft décidera de laisser
tomber le produit sera lui beaucoup moins long ;-)



A voir.
VC6 est tout de même sortit en 1998, et jusqu'a preuve du contraire il y
avait encore des updates il y a peu de temps. Ca me semble être une
durée plus qu'honorable :)

Mike
Avatar
Mickael Pointier
Ambassadeur Kosh wrote:
- des outils qui prennent en charge une partie du travail répétitif
(bibliothèques de classes, composants,...) et qui soient
compatibles


Et la STL?



Je ne suis pas sûr que ce soit un outil à la portée du plus grand
nombre.



pour commencer, excusez moi de contribuer à la l'explosion
combinatoire des sujets. j'ai suivi avec interet vos threads jusqu'à
maintenant en sous marin, et je partage votre avi vous sur pas mal de
points.

mais qu'est ce qui fait d'apres vous fait que la stl n'est pas
utilisable par le plus grand nombre ? et qu'est ce qui la rendrait
plus utilisable ?

pour ma part, c'est un outils incontournable. ni les MFC, ni la VCL ne
m'avaient apporté un tel potentiel de rigueur, de productivité, et de
qualité.

certes, sans un point d'entrée html dans le catalogue des containers,
des algorithmes et des principes, il faut enormement de chance, de
motivation et de patiente pour en acquerir la maitrise. mais n'en est
il pas ainsi pour toute bibliotheque ? les aides de la stl comme
celle qui se trouve dans BCB ne sont elles pas assez accessibles ?



J'aime bien la STL, je m'en sert beaucoup, mais franchement,
honnetement, je trouve la documentation a chier.

Sans tutoriels et groupe de discussion, c'est franchement dur à
utiliser.

Alors évidement faire un push_back sur un vector ca c'est pas compliqué.
Mais dès qu'on commence à vouloir faire des tri, utiliser des maps avec
des clefs de type string insensible à la casse, ou faire une opération
sur tous les éléments d'un conteneur... les règles d'invalidation des
opérateurs, le pourquoi tel conteneur accepte d'avoir un const_iterator,
mais pas tel autre... savoir qu'une map retourne des éléments de type
pair que l'on accède avec first et second, etc... ca devient vite
imbitable.

Et encore je ne parles pas des (faux) memory leaks qui font ruisseller
la sueur sur le front du povre codeur se demandant ce qu'il a fait de
foireux, ou bien le fait qu'il faut mieux faire gaffe lorsque l'on met
des objets dans des conteneurs, etc...

Alors oui c'est puissant, accessible non. La masse de connaissance à
connaitre pour ne pas se faire avoir est considérable.

Mike
Avatar
David Scrève
"Patrick Philippot" a écrit dans le message de news:3f82fdd4$0$20167$
Mickael Pointier wrote:
Au
moins, avec MS je suis plus tranquille: avant que quelqu'un ne les
rachète, j'ai le temps de voir venir.


Bof...Pense aux développeurs qui ont investi dans Visual C++ for Macintosh (14000 FF de l'époque, en plus
des 6000 de l'IDE) que Microsoft a gentiment laissé crever dans leur coin au lieu de suivre le produit...


David
Avatar
David Scrève
"Mickael Pointier" a écrit dans le message de news:bm0fod$nsu$
Franck Guillaud wrote:



A voir.
VC6 est tout de même sortit en 1998, et jusqu'a preuve du contraire il y
avait encore des updates il y a peu de temps. Ca me semble être une
durée plus qu'honorable :)


Le fait est que VC6 répond a pratiquement tous les besoins des développeurs ayant deja de gros
package de code entre leur main. Les améliorations de l'IDE .Net sur ce point (pour les développeurs d'applications C++ natives)
sont plutôt minimes : Le compilateur reste non conforme aux standards, ne génére pas de code pour les derniers processeurs,
et l'environnement, en intégrant VB en son sein, devient un vrai fouilli.

Pour un développeur C++ comme moi, VC .net est une usine à gaz qui n'apporte rien, je dirais meme que je regrette de ne plus
pouvoir
acheter VC6, parce qu'en terme de productivité (toujours en ce qui me concerne), VC .Net me fait reculer.

David
Avatar
Franck Guillaud
Mickael Pointier wrote:
Franck Guillaud wrote:

Certes, mais le temps au bout duquel Microsoft décidera de laisser
tomber le produit sera lui beaucoup moins long ;-)



A voir.
VC6 est tout de même sortit en 1998, et jusqu'a preuve du contraire
il y avait encore des updates il y a peu de temps. Ca me semble être
une durée plus qu'honorable :)



Franchement: bof. 5 ans de durée de vie pour un compilateur utilisé aussi
massivement, c'est pas exceptionnel.

Sans compter que maintenant, on a plus choix : si on veut se passer des
bugs de
VC6, faut migrer sous Visual Studio 2003. Imagine ce que ça représente pour
une
équipe de plus de 2 développeurs :-)

Franck.


Mike


Avatar
Quentin Pouplard
Marre du spam wrote:
Le fait est que VC6 répond a pratiquement tous les besoins des
développeurs ayant deja de gros package de code entre leur main. Les
améliorations de l'IDE .Net sur ce point (pour les développeurs
d'applications C++ natives) sont plutôt minimes : Le compilateur
reste non conforme aux standards,



Tu as des points particulier qui t'ont posé problème dans la pratique?
j'ai lu quelques cas théorique, mais j'avais toujours du mal à imaginer
des cas réel ou le problème pouvait se poser... tu peux me faire de ton
expérience?

ne génére pas de code pour les
derniers processeurs,



les intrinsics, et la génération de SSE2 c pas assez récent? ;)

et l'environnement, en intégrant VB en son
sein, devient un vrai fouilli.



Question d'habitude je trouve, j'ai pas aimé VS.NET, je suis resté
longtemps avec VC6, un jour j'ai fait le bon (pour tester C#) et
finalement y'a de bonne idée: les tab viennent immédiatement, la
completion syntaxique est meilleure, etc... comme tous nouveaux
produits qui n'est pas qu'une évolution du précédant ça déroute
cependant, et ce n'est pas toujours acceptable au milieu d'un projet...
mais c'est la même chose pour tout finalement...

--
Quentin Pouplard (Tene/MyOE)
http://www.myoe.org | http://graff.alrj.org
Avatar
Mickael Pointier
>> Le fait est que VC6 répond a pratiquement tous les besoins des
développeurs ayant deja de gros package de code entre leur main. Les
améliorations de l'IDE .Net sur ce point (pour les développeurs
d'applications C++ natives) sont plutôt minimes : Le compilateur
reste non conforme aux standards,



Tu as des points particulier qui t'ont posé problème dans la pratique?
j'ai lu quelques cas théorique, mais j'avais toujours du mal à
imaginer des cas réel ou le problème pouvait se poser... tu peux me
faire de ton expérience?



Pareil, ca m'intéresse de connaitre en détail les problèmes concrets.


ne génére pas de code pour les
derniers processeurs,



les intrinsics, et la génération de SSE2 c pas assez récent? ;)



Donc pas besoin d'installer le processeur pack, c'est d'office dedans ?
Ca c'est cool :)


et l'environnement, en intégrant VB en son
sein, devient un vrai fouilli.



Question d'habitude je trouve, j'ai pas aimé VS.NET, je suis resté
longtemps avec VC6, un jour j'ai fait le bon (pour tester C#) et
finalement y'a de bonne idée: les tab viennent immédiatement, la
completion syntaxique est meilleure, etc... comme tous nouveaux
produits qui n'est pas qu'une évolution du précédant ça déroute
cependant, et ce n'est pas toujours acceptable au milieu d'un
projet... mais c'est la même chose pour tout finalement...



Je suppose que ca dépend aussi beaucoup de quel Visual 6 on parle :)

Certains utilisent Visual 6...
Moi j'utilise Visual
6+VisualAssist+WindowTabs+WorskpaceWhiz+IncrediBuild :)

En passant du VC6 brut de pomme au VC7 ca doit faire tout drôle, plein
de trucs nouveaux partout... en passant de VC6 stéroïdé à VC7 on est
déja plus blasé si on ne fait pas de .NET/C#

Mike
Avatar
Ambassadeur Kosh
> J'aime bien la STL, je m'en sert beaucoup, mais franchement,
honnetement, je trouve la documentation a chier.


la doc ? mais il y en a une par produit. elle n'est pas unique. moi j'ai
appris avec celle de BCB qui est tres didactique en fait : prototype, voir
aussi assez complets, un exemple à chaque fois et l'essentiel bien expliqué.
et de nombreux points d'entrée bien faits qui couvrent les besoins
habituels.

Sans tutoriels et groupe de discussion, c'est franchement dur à
utiliser.


le groupe de discussion peut être d'un grand secours, mais pour l'essentiel,
on peut s'en passer.

Alors évidement faire un push_back sur un vector ca c'est pas compliqué.


oui...

Mais dès qu'on commence à vouloir faire des tri, utiliser des maps avec
des clefs de type string insensible à la casse, ou faire une opération
sur tous les éléments d'un conteneur...


ben ça, c'est le minimum, ça fait même partie de "l'interet" de la stl.

les règles d'invalidation des
opérateurs, le pourquoi tel conteneur accepte d'avoir un const_iterator,
mais pas tel autre... savoir qu'une map retourne des éléments de type
pair que l'on accède avec first et second, etc... ca devient vite
imbitable.


à utiliser ça va. je trouve même qu'on gagne une certaine qualité dans
l'ecriture, vu qu'on dégage les ruptures de séquences à grand coup de
pompes... bon des fois faut se relire, mais ça aurait pareil sans stl, voire
pire. la complexité ne se volatilise pas comme ça.

Et encore je ne parles pas des (faux) memory leaks qui font ruisseller
la sueur sur le front du povre codeur se demandant ce qu'il a fait de
foireux, ou bien le fait qu'il faut mieux faire gaffe lorsque l'on met
des objets dans des conteneurs, etc...


la je percutes pas de quoi tu parles. un vector s'alloue toujours un peu de
mémoire à l'avance, mais à part ça...

Alors oui c'est puissant, accessible non. La masse de connaissance à
connaitre pour ne pas se faire avoir est considérable.


t'as pas du tomber sur la bonne doc, c'est pas possible autrement.

et comme j'imagine, la doc est celle du "produit compilateur", ça confirme
completement ce qu'on dit tous : le "C++" est un tout difficilement
décomposable dont l'IDE devient le vecteur, et non pas un ensemble de
briques logiquement bien distinctes et interchangeables...
Avatar
Mickael Pointier
Ambassadeur Kosh wrote:
J'aime bien la STL, je m'en sert beaucoup, mais franchement,
honnetement, je trouve la documentation a chier.


la doc ? mais il y en a une par produit. elle n'est pas unique. moi
j'ai appris avec celle de BCB qui est tres didactique en fait :
prototype, voir aussi assez complets, un exemple à chaque fois et
l'essentiel bien expliqué. et de nombreux points d'entrée bien faits
qui couvrent les besoins habituels.



Bon, bein c'est une doc propriétaire, donc par définition pas a la
disposition de tout le monde. A moins que ca soit comme la MSDN
disponible online ?


Sans tutoriels et groupe de discussion, c'est franchement dur à
utiliser.


le groupe de discussion peut être d'un grand secours, mais pour
l'essentiel, on peut s'en passer.



Vu que apparement la doc de BCB est correcte effectivement :)



Alors évidement faire un push_back sur un vector ca c'est pas
compliqué. oui...



Mais dès qu'on commence à vouloir faire des tri, utiliser des maps
avec des clefs de type string insensible à la casse, ou faire une
opération sur tous les éléments d'un conteneur...


ben ça, c'est le minimum, ça fait même partie de "l'interet" de la
stl.



Oui mais si tu ne le sais pas, tu ne l'invente pas.
Les functeurs c'est pas d'une évidence folle. Il ne me serait pas venu à
l'esprit de faire une structure de ce type pour pouvoir avoir une map de
string non sensible à la casse:

struct CompareNoCase
{
bool operator()(const string &s1,const string &s2) const
{
return stricmp(s1.c_str(),s2.c_str()) < 0;
}
bool operator()(const wstring &s1,const wstring &s2) const
{
return _wcsicmp(s1.c_str(),s2.c_str()) < 0;
}
};

map<string,T*,CompareNoCase> my_map;



les règles d'invalidation des
opérateurs, le pourquoi tel conteneur accepte d'avoir un
const_iterator, mais pas tel autre... savoir qu'une map retourne des
éléments de type pair que l'on accède avec first et second, etc...
ca devient vite imbitable.


à utiliser ça va. je trouve même qu'on gagne une certaine qualité dans
l'ecriture, vu qu'on dégage les ruptures de séquences à grand coup de
pompes... bon des fois faut se relire, mais ça aurait pareil sans
stl, voire pire. la complexité ne se volatilise pas comme ça.



Comme on dit "There's no golden bullet".



Et encore je ne parles pas des (faux) memory leaks qui font
ruisseller
la sueur sur le front du povre codeur se demandant ce qu'il a fait de
foireux, ou bien le fait qu'il faut mieux faire gaffe lorsque l'on
met des objets dans des conteneurs, etc...


la je percutes pas de quoi tu parles. un vector s'alloue toujours un
peu de mémoire à l'avance, mais à part ça...



Nan, je fait référence au fait que certaines (toutes ?) implémentations
de la STL ont un allocateur conservatif qui ne libère pas la mémoire
systématiquement. Il la garde en dessous d'une certaine taille pour
certains pools d'objets pour un gain de performance. Si tu ne le sais
pas, tu peux chercher longtemps où tu as oublié ton delete ;)



Alors oui c'est puissant, accessible non. La masse de connaissance à
connaitre pour ne pas se faire avoir est considérable.


t'as pas du tomber sur la bonne doc, c'est pas possible autrement.

et comme j'imagine, la doc est celle du "produit compilateur", ça
confirme completement ce qu'on dit tous : le "C++" est un tout
difficilement décomposable dont l'IDE devient le vecteur, et non pas
un ensemble de briques logiquement bien distinctes et
interchangeables...



Perdu, j'utilisait la doc qui vient avec la STL de SGI.

Mike