Dan's Orbiter page

Orbiter Francophone => Création Orbiter Francophone => Topic started by: Profil supprimé on 03 November 2009, 19:14:22

Title: c++, la grosse désillusion
Post by: Profil supprimé on 03 November 2009, 19:14:22
Cette semaine, au boulot, j'ai enfin ma formation au visual C++, que j'attendais pour avoir les bases afin de me lancer
sur mes propres dll sous Orbiter.
Mais apres 2j (sur 5) le resultat est catastrophique. Moi et mes 2 collègues on rame et on a fini par décrocher. C'est
trop complexe pour moi.
Par curiosité j'ai regardé le code de certain addon et c'est 100 fois plus long que les exercices qu'on fait.

Donc pas la peine d'insister je ne me lancerai pas au c++ sur Orbiter.
Le module de Vinka est devenu bien trop léger pour mes ambitions donc ceci signe la fin de mes creations pour
Orbiter.

Title: Re: c++, la grosse désillusion
Post by: Schimz on 03 November 2009, 19:30:04
Tu avais déjà une expérience en programmation ? Sinon, c'est un peu normal.

Title: Re: c++, la grosse désillusion
Post by: Papyref on 03 November 2009, 19:33:39
Même un bébé arrive à parler avec le temps  et pourtant c'est difficile.

Ne te décourage pas si vite, on n'apprends pas en cinq minutes et il faut perséverer et essayer de bricoler en
s'inspirant de ce qui existe.
On ne peut pas être au niveau de Dan rapidement et il faut avancer pas à pas.

Souviens toi Fred tu as failli abandonner l'utilisation d'Animator quand nous avons commencé nos addons et en final
tu as fais des très belles choses. Alors pourquoi pas en C++ !

:sage: Papyref
Title: Re: c++, la grosse désillusion
Post by: vinka on 03 November 2009, 19:40:28
Que veux-tu, les profs ne sont pas toujours à la hauteur des élèves... Ceci dit commencer directement par le C++ c'est quand
même mettre la barre très haut. Personnellement, je trouve qu'il vaut mieux commencer par le C. J'avais déjà quelques années
d'expérience en programmation avant de commencer à programmer en C mais malgré cela mon premier programme était quasiment
buggé à chaque ligne. Le truc c'est vraiment d'y aller très progressivement. Peut-être en partant de programmes existants, en
essayant de les comprendre et en les modifiant légèrement pour voir si ça produit bien l'effet escompté. Bon courage.
Title: Re: c++, la grosse désillusion
Post by: Profil supprimé on 03 November 2009, 20:02:18
Le problème c'est que y aller très progressivement en plusieurs années c'est un peu trop long. je ne suis pas certain
qu'Orbiter durent encore de longues années.
J'avais une toute petite expérience en Pascal et en Vusal basique mais là je dois avouer que le C++ m'a refroidi.

Vinka, pendant un temps tu m'avais parlé d'un nouveau module avec plus de fonction, l'as tu abandonné ?

Title: Re: c++, la grosse désillusion
Post by: DanSteph on 03 November 2009, 21:34:38
Très franchement je dois honteusement avouer que comprend pas la moitié des discussions sur les forums C++, ça ne m'empêche pas de faire des sharewares a 70'000 lignes. J'imagine très bien comment les cours peuvent être nase d'après mon expérience des cours d'infos à l'école. Un gros merdier déconnecté de la réalité impossible à comprendre vu qu'on ne sait absolument pas ou classer ça dans la tête.

Je te fais un cours personnalisé je suis sur qu'en une semaine tu peux commencer à tripoter des addons. Je l'ai fait avec Picto il nous a pondu quelques milliers de lignes avec son Irridium et ça marchait bien.
http://orbiter.dansteph.com/forum/index.php?topic=6384.msg96509#msg96509

Bon après il a voulu en faire un peu trop, savoir s'arrêter c'est encore une autre compétence, même pour moi ça aurait été un gros addon alors pour débuter... Mais il a été très loin le bougre !

En bref si un jour tu à vraiment envie de te lancer sur un truc précis et que tu a du temps on ce fait des séances comme ici avec Picto et tu verras qu'il y aura un résultat sans trop de soucis:
http://orbiter.dansteph.com/forum/read.php?f=5&i=10220&t=10220&page=14

Le C++ pour orbiter c'est comme un gros script spacecraft3 executable rien de plus rien de moins. Faut pas s'en faire une
montagne.

Dan



Message modifié ( 03-11-2009 21:35 )
Title: Re: c++, la grosse désillusion
Post by: Profil supprimé on 03 November 2009, 22:11:24
L'idéal serait qu'après les 5j de cours (meme si je n'aurai pas accroché) je lise tous les sujets ici à ce propos.
bon je verrai ça.

Title: Re: c++, la grosse désillusion
Post by: Fast_toche on 03 November 2009, 22:20:32
Ils ont raison... vas-y!!!  :hot:

Title: Re: c++, la grosse désillusion
Post by: DanSteph on 04 November 2009, 00:31:17
Quote
Mustard a écrit:
L'idéal serait qu'après les 5j de cours (meme si je n'aurai pas accroché) je lise tous les sujets ici à ce propos.
bon je verrai ça.

Le gag c'est d'avoir d'abord un projet avec une idée de ce qu'on veux faire. Le C++ ne "s'apprend" pas vraiment au sens
classique du terme c'est beaucoup trop vaste, trop souple, un code Orbiter n'a pas grand chose à voir avec un code MFC ou
directX. Mais une fois qu'on a pigé le truc et qu'on sait de quoi on a besoin et ou chercher les infos on à pratiquement tout
compris. Le 95% de mes codes c'est les 10 mêmes fonction de bases C++ et 10 manips qui reviennent tout le temps, c'est
vraiment pas énorme, le reste je sais à quoi il doit ressembler et ou le chercher c'est la  ou ce situe surtout ma compétence
et mon expérience. "LA méthode"
http://orbiter.dansteph.com/forum/index.php?topic=6337.msg95356#msg95356

Avoir un projet précis c'est donc un préalable on ne peut pas "apprendre le C++" pas plus qu'on ne peut lire tout les livres
du monde, ce qu'il faut apprendre c'est la lecture et ça ce fait en commençant par un bouquin précis, puis un deuxième etc etc.

Pas besoin d'avoir compris tout les ressort de la littérature pour ressentir l'émotion d'un bouquin, de même en C++ pas
besoin d'avoir tout compris comment ça marche au début. Il suffit de savoir quelques trucs.

Le C++ c'est juste un gros fichier *.bat un peu plus souple et puissant ;)

A++

Dan
Title: Re: c++, la grosse désillusion
Post by: jacquesmomo on 04 November 2009, 09:59:36
Mustard, ne te décourage pas! Tout peut s'apprendre! Il faut juste du temps, de la persévérance, du temps, de la
concentration, et du temps. ;)
Courage... et sois patient...

Title: Re: c++, la grosse désillusion
Post by: Papyref on 04 November 2009, 10:04:27
Dan a raison, il faut mettre les mains dans le cambouis et cafouiller un peu au départ mais on y arrive !

Même moi qui suis un pauvre vieux dinosaure de l'informatique j'ai réussi à faire un truc qui marche avec un petit coup
de main de Dan et j'ai un Hercule.dll presque complétement fonctionnel (j'ai encore un petit problème avec la
préhension du bras, ce qui est normal à mon âge) avec quelques automatismes supplémentaires par rapport à
l'original.
Il fera l'objet d'une diffusion numérotée quand je me retirerai définitivement dans mon monastère
tibétain.

Commence par transformer un truc simple que tu as réalisé avec des petites animations, un satellite par exemple, et
réalise un dll qui fera pareil en suivant les principes exposés par Dan dans ses papiers et tu verras que C++ gratifiant
:) de voir tes animations se réaliser.

Ne baisse pas les bras, "Yes we can"

:sage: Papyref
Title: Re: c++, la grosse désillusion
Post by: tofitouf on 04 November 2009, 10:30:03
Ils ont tous raison, le C++, Oui c'est pas limpide, je te l'accorde mais c'est ce qu'il y a  de plus souple.
Commence Juste à comprendre les samples simples d'orbiter je les trouve assez bien fait, les vaisseaux comme el shuttlePB,
juste une apge de code, rien de plus.
Y'a pas mieux comme base. partir d'un truc simple. Y ajouter une fonctionnalité, puis une autre, pusi une autre sans
s'emballer....

Courage :)

Title: Re: c++, la grosse désillusion
Post by: Profil supprimé on 04 November 2009, 17:57:30
3eme journée de la formation, avec les Objet, ce n'est plus une galère c'est un naufrage. Sur les 3, un a commencer à
couler le matin, moi en milieu d'après midi, et le troisième tiens encore à la limite mais commence à boire la tasse.
Je n'ai jamais fait une formation où je terminais à ce point avec un mal de crane chaque jour. Ca devient pénible. Et le
formateur est une sacré bête (il regarde notre code de 200 ligne une ou deux sec et il voir tout de suite les erreurs
ou ce qu eça va donner).  Un fou. Il parle trop vite, avec des termes techniques qu'on ne comprend
pas "attributs", "modèle", "constructeur", "classe", "declaration", "private", intrinsèque, etc. En fait ils nous embrouille d'avantage à chaque fois qu'il essai de nous expliquer autrement.
(http://i564.photobucket.com/albums/ss88/SilentWolf8979/Smileys/Suicide.gif)
Je pense que ce formateur est plus adapté à des programmeurs expérimentés. Il n'est pas assez pédagogique. Bref on est sorti completement dégouté et démoralisé.

Non vraiment j'ai fait une erreur en voulant l'attaquer directement au C++. Vraiment trop trop dur. Il faudrait un tres gros investissement en temps et je n'ai pas ce luxe. Ce sera sans moi.



Message modifié ( 04-11-2009 19:44 )
Title: Re: c++, la grosse désillusion
Post by: tofitouf on 04 November 2009, 18:52:39
tant pis alors , mais faut pas abandonner al création sur orbiter pour autant.

trouve toi un bon codeur et tout roule à 2

Title: Re: c++, la grosse désillusion
Post by: Charlotman on 04 November 2009, 18:54:28
Et voila comment les profs arrivent a nous faire dégouter des choses...
En 3ème, j'avais un prof de Français qui a réussi a me dégouter de la lecture a vie...je m'en remet a peine.

Ado, j'ai fait du basic et un peu de pascal, j'ai appris sur le tas en expérimentant, je ne connaissais pas les "termes
techniques" mais ca "marchait". Hendrix ne connaissait pas le solfège et pourtant il jouait mieux que la plupart des experts
en solfège. Et puis on ne te demandera pas d'etre un Hendrix du C++ :). Ne baisse pas les bras un cause d'une mauvaise
expérience (Hendrix...expérience...comprendra qui pourra :badsmile: )

Title: Re: c++, la grosse désillusion
Post by: plin2bobo on 04 November 2009, 20:01:39
ouah Mustard quel chance!!! des cours de c++... Tu sais Mustard il existe des livres parlant de c++ qu'il faut lire pour avoir
une idée de tous ca. Je lis le livre pour me préparer à tous cela si tu veux le titre je te le donne pas un soucis. Je fais mes
petits tests qui se passe plus ou moins bien avec des erreurs peut etre mais bien dans l'ensemble. J ai une certaine
pratique. Un deriver de pascal (pour calculette TI) et une toute petite notion de turbo pascal. Le c++ est enorme tres difficile
à appliquer. Je ne dis pas que j'ai tout compris loin de là ( c'est tres dure) mais je sais que je ne suis pas perdu car je peux
dire que toutes l'equipe est là. Une question que je te pose. As tu lu au moin un livre sur les methode de programmation
c++? Car il t'aurrait donné une certaine idée et tu ne serai pas perdu sur les constructeurs -> destructeurs, classe, private,
pointeur (ouffffffffff :wall: )enum case etc. et là les questions que tu te serai posé lors de ta lecture aurront eut une reponse
lors de ce stage et ameliorer ta technique. En cinq jours on ne peut apprendre le c++ sauf s'il s'agit que de la théorie. Du
blabla durant 40 heures c'est hard :fool:  apres pour la pratique c'est autre chose. Dis toi bien qu'il n'est pas trop tard. Tiens
bon... Ne decourage pas. Et SURTOUT n'abondonne pas!

Bon courage Mustard et bonne chance pour la suite

A++

Ben

Title: Re: c++, la grosse désillusion
Post by: Pitx on 04 November 2009, 20:08:09
Charlotman a raison et les autres aussi d'ailleurs.

Le probleme ne vient pas du C++ sinon ce langage ne serait pas le langage numéro 1 pour la programmation logiciel.
Visiblement tu n'es pas le seul dans ce cas donc ca ne vient pas de toi non plus (au cas où tu en douterais!). Comme tu le
dis toi-meme, la formation n'est peut-etre pas adaptée.

Il serait dommage de laisser tomber le développement d'addon pour ca. Continue ta formation et glane le maximum d'info. Ca ne
sera pas perdue!! Tu verras que la prochaine fois que tu lis un tuto C++ ca te servira bien.

En attendant, nous sommes là pour tes questions.

Pitx
Title: Re: c++, la grosse désillusion
Post by: plin2bobo on 04 November 2009, 20:36:27
bien vu pitx
Title: Re: c++, la grosse désillusion
Post by: Profil supprimé on 04 November 2009, 20:44:58
J'avais déja décidé d'arrêté les addons, mais la seule condtion pour une éventuelle reprise était d'arriver à faire mes
anim en C++. Par le pass éj'ai eu l'aide de BrianJ et j'avoue que ça me dérange beaucoup de demander l'aide aux
autres (qui ont surement d'autres choses à faire). Et j'aime bien avoir la main sur tout.
Concernant ces cours, je préférai cela à un livre car là on a un prof à qui on peut poser des questions si on ne
comprend pas. En plus c'est gratuit vu que c'est mon travail qui paye. Mais malgré cette formation (mal adaptée à
mes besoin) je me rend compte que ce serait un long travail d'y arriver, sur du long terme et je doute que ce gros
investissement en mérite la chandelle.
Comme je le disais je n'ai plus beaucoup de temps dispo, surtout à cause de mon forum qui me prend un temps fou.

Title: Re: c++, la grosse désillusion
Post by: DanSteph on 04 November 2009, 21:04:39
Laisse tomber avec ce prof, son but c'est d'étaler ça science et épater la galerie.

On va pas faire chier des débutants avec des constructeurs et des attributs (tiens, je sais même pas ce que c'est un
"attribut" !!?? Merde, faudra que je prévienne mes programmes qu'ils ne devraient pas marcher)

Tu installe VC express, tu compile le ShuttlePB, tu considère que c'est un gros bat dynamique tu jette aux oubliette tout ce
que ce "mônsieur" t'a appris et après on cause.

Pour ce qui est de "faire chier les gens qui ont mieux à faire" tu host un site de tuto et est modo d'une communauté
justement dédié au partage de connaissances, alors hein ! :rant: :badsmile:

A++

Dan
Title: Re: c++, la grosse désillusion
Post by: Tom on 04 November 2009, 22:33:39
Je ne peux que confirmer ce que tout le monde vient de dire !

Je ne connaissais pas du tout le C++ avant de me lancer dans Iris ! J'en connais pas beaucoup plus et beaucoup des termes restent complètement obscure pour moi !

Cependant en bidouillant un peu certains trucs j'ai déjà réussi à animer mes panneaux solaires pour l'ouverture et la fermeture, et le tracking du soleil est en cours !

Surtout n'abandonne pas ! Ce serait trop dommage ! Après c'est sur que ça prend un temps monstre et que tout le monde n'a pas ce luxe (eh oui pause de Iris pour
cause de partiels :()

Courage !

Title: Re: c++, la grosse désillusion
Post by: tofitouf on 05 November 2009, 09:34:37
En tout cas ton prof a l'air bien nul. Il se la pète avec le jargon c++ habituel sans en expliquer tous les mécanismes.
Vous laissant patauger sans vous apporter l'aide de base nécessaire à ce mode de programmation.
Y'a de quoi être énervé et ca serait vraiment dommage d'abandonner pour autant.

Les concept du c++ sont simple mais il est vrai que al mise en place est loins de l'être. la syntaxe est précise et pas
toujours claire.
Des languages comme java ou C# sont bien plus simples dans leur syntaxe (ils ont profité des erreurs du c++) mais le c++
reste et restera surement encore longtemps le language de base pour sa performance et son caractère universel.

Pour comprendre la logique "objet" commencer par du java est surement plus clair, plus simple. et apsser après au c++ est
relativement facile. Il y a beaucoup de chose en commun même sur la syntaxe.

Par contre passer d'un language non objet comme le C ou le pascal et aller vers le C++ est souvent plus difficile car on est
englué par
1) le passage à la notion d'objet
2) la nouvelle syntaxe.
Trop de chose à compendre à la fois.

n'abandonne pas ca serait bien dommage.

Title: Re: c++, la grosse désillusion
Post by: DanSteph on 05 November 2009, 14:20:44
Tout a fait d'accord mais je tient a préciser qu'il n'y a absolument pas besoin de comprendre la notion "objet" ou quoi que
ce soit dans le genre pour programmer pour Orbiter.

On veut changer une caractéristique du vaisseaux déclarer une anim ? ça ce fait à un endroit, précis, la fonction
d'initialisation, on a envie de changer un truc dynamiquement ? c'est un autre endroit qui est exécuté chaque image.

Faut pas du tout apprendre le C++ mais juste comment marche le "gros batch" orbiter avec ces us et coutumes.

Cerise sur le gâteaux: effectivement vous apprendrez de fait le C++.

Et je rappelle mon "template" (Squelette) de projet avec de nombreux commentaires, orbitersound éja integré c'est un bon
point de départ:
"Téléchargement: Exemple de projet VC++ pour Orbiter (commenté en francais)"
http://orbiter.dansteph.com/forum/index.php?topic=6343.msg95458#msg95458

Dan
Title: Re: c++, la grosse désillusion
Post by: tofitouf on 05 November 2009, 15:17:02
eh c'est excellent ca, je ne le connaissais pas.
merci, j'ai aps encore tout lu sur ce forum, en voici la preuve.

après première lecture, je confirme c'est LE point de départ. chapeau bas Dan

Title: Re: c++, la grosse désillusion
Post by: DagoO on 05 November 2009, 17:00:45
Faut pas du tout apprendre le C++ mais juste comment marche le "gros batch" orbiter avec ces us et coutumes.

C'est là que je bloque pour mon histoire, je ne sais pas ou savoir comment marche le C++ POUR Orbiter, je veux dire, j'ai des
exemples dans la SDK, mais rien ne me dit leurs fonctions, quand les employer..

Title: Re: c++, la grosse désillusion
Post by: Schimz on 05 November 2009, 17:21:38
Concernant Orbiter, le plus simple amha, c'est de développer un vaisseau à partir du SDK en restant dans le même style.
Par exemple faire un Eagle de Cosmos1999 à partir de la shuttleA ou un DGex à partir du DG.

Title: Re: c++, la grosse désillusion
Post by: vinka on 05 November 2009, 18:16:35
Quote
Mustard wrote:
Le problème c'est que y aller très progressivement en plusieurs années c'est un peu trop long. je ne suis pas certain
qu'Orbiter durent encore de longues années.
J'avais une toute petite expérience en Pascal et en Vusal basique mais là je dois avouer que le C++ m'a refroidi.

Vinka, pendant un temps tu m'avais parlé d'un nouveau module avec plus de fonction, l'as tu abandonné ?


Tout dépend de la définition d'abandonner ... c'est pas l'envie qui me manque, c'est le temps !
Title: Re: c++, la grosse désillusion
Post by: MartySpaceLines on 05 November 2009, 19:44:32
Hey Mustard!

Faut pas se décourager! Moi j'ai commencé le C++ lorsque j'avais 13 ans, à partir de ce tutoriel:

http://www.siteduzero.com/tutoriel-3-11406-apprenez-a-programmer-en-c.html

Il demande une connaissance des bases du C, mais c'est en fait la suite d'un autre tutoriel sur le C:

http://www.siteduzero.com/tutoriel-3-14189-apprenez-a-programmer-en-c.html

Ces tutos, en combinaison avec les exemples de la SDK, sont je pense une voie royale pour faire des add-ons sous Orbiter
(c'est ce que j'ai suivi...et même si j'ai pas encore posté de nouvelles images de Gemini, je peux vous dire que chez-moi ca
marche pas mal!)

Allez, courage!

Title: Re: c++, la grosse désillusion
Post by: Drenake on 06 November 2009, 04:12:14
Bonsoir M. Mustard

J'ai commencé le c++ il y a environs 2 semaine et je n'y connaissait rien !

Le secret, c'est de commencer par quelque chose de SIMPLE. Personnellement, j'ai commencé par les tutos de Dan et le
shuttlePB. Une fois que ça compile (Dan donne toutes les étape dans le cas du PB), tu lis le code et essais de voir quel
fonction fais quoi. Le noms des fonction est généralement assez explicite.

Bref, après environs 5 heures à regarder des codes (réparti sur 2 semaine quand même...), j'ai converti un addon Spacecraft3
en dll avec les animation et tout.

Tout est possible, et dans le cas du c++, ça prend 3 ingrédients: De la patience, de la volonté et, comme l'explique si bien
Dan dans ses tutos, une bonne méthode!

Sur ce, Bonne chance !

Title: Re: c++, la grosse désillusion
Post by: DanSteph on 06 November 2009, 04:18:00
Ca fait plaisir de voir des gens qui ce lancent, merci pour ce feedback Drenake. :wor:

Dan
Title: Re: c++, la grosse désillusion
Post by: tofitouf on 06 November 2009, 09:09:54
C'est clair. Très bonne descruiption de ce qui est néccéssaire : patience et volonté. sinon coté méthode, je pense que si un
prof regardais comment je m'y prends il serait effrayé par tant de chaos. Mais au final j'y arrive, alors tant pis pour la
méthode. Quand je me relis j'ai des fois des surprises hallucinantes :)



Message modifié ( 06-11-2009 11:18 )
Title: Re: c++, la grosse désillusion
Post by: DanSteph on 06 November 2009, 10:49:21
Quote
tofitouf a écrit:
C'est clair. Très bonne descruiptiond e ce qui est néccéssaire : patience et volonté. sinon coté méthode, je pense que si un
prof regardais comment je m'y prends il serait effrayé par tant de chaos. Mais au final j'y arrive, alors tan pis pour la
méthode. Quand je me relis j'ai des fois des surprises hallucinantes :)

Ah ouais, Le code du "vendredi" :badsmile:

Tu devrais voir le code du Arrow, on dirais des fois que c'est jeté n'importe comment (la bourre) :)

MAIS !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! (Cour gratos pour les débutants)

1-J'utilise une notation très "enfantine" et basique pas de ça chez moi:

Code: [Select]
if (gear_status >= AnimState::CLOSING) {
double da = simdt * GEAR_OPERATING_SPEED;
if (gear_status == AnimState::CLOSING) { // retract gear
if (gear_proc > 0.0) gear_proc = max (0.0, gear_proc-da);
else                 gear_status = AnimState::CLOSED;
} else {                           // deploy gear
if (gear_proc < 1.0) gear_proc = min (1.0, gear_proc+da);
else                 gear_status = AnimState::OPEN;
}
SetAnimation (anim_gear, gear_proc);
SetGearParameters (gear_proc);
}

Si y a une couille c'est pas lisible du tout au premier abord :doubt:

Je prend beaucoup plus de place mais je garde la lisibilité:

Code: [Select]
// animate landing gear
if (Gear_status >= DOOR_CLOSING)
{
double da = dSimDT * 0.05;
if (Gear_status == DOOR_CLOSING)
{
if (Gear_Proc > 0.0)
{
Gear_Proc = max (0.0, Gear_Proc-da);
}
else
{
Gear_status = DOOR_CLOSED;
}
}
else
{ // door opening
if (Gear_Proc < 1.0)
{
Gear_Proc = min (1.0, Gear_Proc+da);
}
else
{
Gear_status = DOOR_OPEN;
}
}
SetAnimation (anim_Gear, 1-Gear_Proc);
if(Gear_status==DOOR_OPEN)
{
SetGearParameters (1.0);
strcpy(SendFocusScreenMessage(),"Gear down and locked");
}
else if(Gear_status==DOOR_CLOSED)
{
SetGearParameters (0.0);
strcpy(SendFocusScreenMessage(),"Gear are up and locked");
}
}

Ensuite JAMAIS de truc dans ce genre:

Code: [Select]
if (Gear_Proc < 1.0)
Gear_Proc = min (1.0, Gear_Proc+da);
else
Gear_status = DOOR_OPEN;

Ça marche, c'est nickel, mais un jour on est fatigué on rajoute une ligne et on s'arrache les cheveux pourquoi
ça marche pas ou on release un truc buggé.

Je fais ça, encore une notation de "débutant", mais c'est du "robuste" même si c'est vendredi.

Code: [Select]
if (Gear_Proc < 1.0)
{
Gear_Proc = min (1.0, Gear_Proc+da);
}
else
{
Gear_status = DOOR_OPEN;
}

Ensuite je suis absolument STRICT sur les noms de variables ou fonction.

Code: [Select]
[color=green]// y a plus qu'a ce pendre si on veux relire ce genre de code:[/color]
[color=red]int EuhCestQuelTypeDeja;
double JeSaisPlusAQuoiCaSert;
void AuSecourQueFaitCetteFonction(void);
bool Merde;
int U;[/color]

[color=green]// la c'est clair: type fonction[/color]
[color=blue]int iCompteurNombreDeUMMUaBord;
double dAltitudeMoinsHauteurLandingGear;
void*    ptrPointeurVoidSurStructUMmu;[/color]


Enfin bref comme l'erreur est humaine je BLINDE au maximum mon code en gardant une LISIBILITE
absolue. RIEN ne justifie une notation confuse ou compact et surtout pas les performances, c'est
compilé pareil.

Voila vous pouvez vous graver ça dans la tête au fer rouge: la lisibilité c'est la CLE !

Le jour on je veux cleaner un peu mon code arrow je n'aurais aucune peine, c'est jeté un peu n'importe comment (surtout dans
le header) mais les noms et le code étant hyper lisible ça ce bouge facilement.

Dan
Title: Re: c++, la grosse désillusion
Post by: tofitouf on 06 November 2009, 11:33:02
On a exactement les même principes. C'est drole :)

Cette méthode a un gros avantage : La lisibilité du code permet d'y retourner en toute situation. Si on a complètement oublié
ce qu'on a voulu faire. le noter comme l'a fait Dan suffit a s'y retrouver très rapidement.

Ca ne sert à rien de blinder son code de commentaire, le nom des variables et des fonctions a par contre une importance
capitale.
Vive les noms à rallonge qui décrive complètement ce que fait la fonctions.
éviter donc de modifier une fonction par commodité sans changer son nom si ce qu'elle fait évolue.
Idem pour les variables, Quand j'ai besoin de changer le comportement de tel ou tel tuc, souvent je commence par changer le
nom de ma variable, à la compilation j'ai alors la liste de tous les cas de test et d'affectation par les messages d'erreur,
ça me permet de relire rapidement ce qui est fait et donc de modifier en conséquence.

C'est très rapide et efficace. Il faut juste avoir le courage de changer tous les appels vers la fonction ou vers la
variable. mais cette méthode permet de ne jamais se perdre même quand le projet prends de l'ampleur.

Souvent au boulot j'ai des collèges qui rechignent à ce genre de choses alors que ca va leur prendre 10 ptites minutes et faire un bon nettoyage en passant.

Le bon nommage des fonction permet de lire du code comme si c'était des phrases de pseudo code. Si la fonction derrière fait
bien ce qu'elle décrit dans son nom (ni plus ni moins) alors plus besoin de débugagge compliqué, on évite en se relisant toutes les erreurs de comportement.

Aerer aussi en ajoutant des lignes par ci par là est très important notre oeil repère bien plus facilement ce qu'il y a d'important.

Les commentaire aussi sont important mais dans une moindre mesure.

Par exemple inutile de commenter une appel comme

this->reorganisationCompleteDesDonneeParOrdreCroissant();

Par contre cette ligne mérite un ptit commentaire

// si la distance à l'objectif est suffisamment petite
if (distance < minDistanceArea)
{
    // on a atteint la zone de sécurité. je commence à freiner
    m_pVessel->set.....





Je n'ai jamais compris les "soit disant bon codeurs" qui produisent du code compact et illisible. Ils se font une fierté de
faire sur une seul ligne des dizaines d'opérations. Au final ils se perdent eux même dans leur propre production.
leur seul mérite est souvent que personne ne pouvant les relire, ils se rendent indispensables.
J'ai vu beaucoup de gens sur le travail fonctionner comme ca. Semblant faire tout pour rendre leur code le plus illisible
possible de manière à ce que personne puisse le modifier sans leur accord.

ca dérive ce thread



Message modifié ( 06-11-2009 15:09 )
Title: Re: c++, la grosse désillusion
Post by: DanSteph on 06 November 2009, 11:43:55
Quote
tofitouf a écrit:
Je n'ai jamais compris les "soit disant bon codeurs" qui produisent du code compact et illisible. Ils se font une
fierté de faire sur une seul ligne des dizaines d'opérations.

Clair, sur les forums C++ c'est bourré de type qui ce la pètent avec leurs notation pourrie et leurs mots savant, le problème
c'est qu'aucun d'entre eux n'a sorti de grosses applications. (ni même des petites souvent)

Quote
ca dérive ce thread

Bah non, on parle bien du C++ et c'est intéressant je pense même pour les débutants.
D'ailleurs avec tofitouf on fait des séances de dédicaces à la fin du fil :)

C'est qu'on est resté modeste en plus :flower:

(Nan en fait j'ai de la peine a comprendre qu'on trouve le C++ pour Orbiter impossible à apprendre, peut être c'est juste un manque de temps de patience ou de volontés !?)


Dan



Message modifié ( 06-11-2009 14:11 )
Title: Re: c++, la grosse désillusion
Post by: Coussini on 06 November 2009, 15:10:14
J'en sais quelque chose mon Cher Mustard. C'est pour cela que je ne suis pas souvent présent sur le site de Dan. Mais mon coeur est avec vous. ;)

Je suis heureusement chanceux d'avoir eu une formation en informatique mais dans un domaine tellement à des
années lumières.... La seule différence c'est que les fameuses instructions suivantes (je les connaissait)

-IF THEN ELSE.
-Boucle while.... for... Until....
-Le principe d'affectation....

ET CELA SE RÉSUME À CELA....

Je me bas actuellement pour conserver mon poste au travail, car il m'ont engagé sans connaissance en langage
orienté objet. Je leur ai expliqué dernièrement, à titre de comparaison... que je suis une personne venant de la lune
et que soudainement, je suis parachuté sur la terre. Je dois respiré de l'air, je vois qu'il y a de la vie, des arbres, des
autos, des maison.... je dois tout réaprendre.... l'orienté objet cela prend un certain temps.... mais on arrive avec de
la persévérence. Mais mes patrons veulent des résultats.... et c'est frustrant parfois... il faut que je travaille plus fort
que mes autres collègue.

-BON SANG QUE J'EN AI RAMÉ.... MAIS JE COMMENCE À POSER MOIN DE QUESTION AU GENS DE MON ENTOURAGE :wall:

IL EXISTE DES FORMATIONS GRATUITE SUR LE NET QUI SONT FORMIDABLE....


Voici les liens:

(1-C'ÉTAIS PAR LÀ QUE J'AI DÉBUTÉ ET C'EST TRÈS BIEN )
http://www.siteduzero.com/

(2-SUPERBE COURS POUR APPRENDRE ENTRE AUTRE L'INTERFACE VISUAL STUDIO vc++)
http://msdn.microsoft.com/fr-fr/visualc/bb737992.aspx

(3-SUPERBE SITE QUI TOUCHE À TOUT)
http://www.developpez.com/

après cela tu sera un pro.... et tu comprendras ++  et encore ++ ;)



Message modifié ( 06-11-2009 15:12 )
Title: Re: c++, la grosse désillusion
Post by: DagoO on 06 November 2009, 17:56:24
Quote
(1-C'ÉTAIS PAR LÀ QUE J'AI DÉBUTÉ ET C'EST TRÈS BIEN )
http://www.siteduzero.com/

Quote
Dansteph :
Faut pas du tout apprendre le C++ mais juste comment marche le "gros batch" orbiter avec ces us et coutumes.

Cerise sur le gâteaux: effectivement vous apprendrez de fait le C++.

Ah d'accord...

Title: Re: c++, la grosse désillusion
Post by: Coussini on 06 November 2009, 19:23:10
Quote
DagoO a écrit:
Quote
(1-C'ÉTAIS PAR LÀ QUE J'AI DÉBUTÉ ET C'EST TRÈS BIEN )
http://www.siteduzero.com/

Quote
Dansteph :
Faut pas du tout apprendre le C++ mais juste comment marche le "gros batch" orbiter avec ces us et
coutumes.

Cerise sur le gâteaux: effectivement vous apprendrez de fait le C++.

Ah d'accord...


Pas d'accord dans mon contexte, car c'est pour mon travail... et je soupçonne que c'est le cas de Mustard.

Title: Re: c++, la grosse désillusion
Post by: DagoO on 06 November 2009, 19:29:27
Quote
Pas d'accord dans mon contexte, car c'est pour mon travail... et je soupçonne que c'est le cas de Mustard.

Oui c'est surtout un conseil pour celui qui ne veut programmer que pour orbiter.

Title: Re: c++, la grosse désillusion
Post by: Coussini on 06 November 2009, 19:39:26
en effet.... j'avais compris 8)

Title: Re: c++, la grosse désillusion
Post by: Coussini on 06 November 2009, 23:18:35
Quote
DanSteph a écrit:
Quote
tofitouf a écrit:
C'est clair. Très bonne descruiptiond e ce qui est néccéssaire : patience et volonté. sinon coté méthode, je pense que
si un
prof regardais comment je m'y prends il serait effrayé par tant de chaos. Mais au final j'y arrive, alors tan pis pour la
méthode. Quand je me relis j'ai des fois des surprises hallucinantes :)

Ah ouais, Le code du "vendredi" :badsmile:

Tu devrais voir le code du Arrow, on dirais des fois que c'est jeté n'importe comment (la bourre) :)

MAIS !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! (Cour gratos pour les débutants)

1-J'utilise une notation très "enfantine" et basique pas de ça chez moi:

Code: [Select]
if (gear_status >= AnimState::CLOSING) {
double da = simdt * GEAR_OPERATING_SPEED;
if (gear_status == AnimState::CLOSING) { // retract gear
if (gear_proc > 0.0) gear_proc = max (0.0, gear_proc-da);
else                 gear_status = AnimState::CLOSED;
} else {                           // deploy gear
if (gear_proc < 1.0) gear_proc = min (1.0, gear_proc+da);
else                 gear_status = AnimState::OPEN;
}
SetAnimation (anim_gear, gear_proc);
SetGearParameters (gear_proc);
}

Si y a une couille c'est pas lisible du tout au premier abord :doubt:

Je prend beaucoup plus de place mais je garde la lisibilité:

Code: [Select]
// animate landing gear
if (Gear_status >= DOOR_CLOSING)
{
double da = dSimDT * 0.05;
if (Gear_status == DOOR_CLOSING)
{
if (Gear_Proc > 0.0)
{
Gear_Proc = max (0.0, Gear_Proc-da);
}
else
{
Gear_status = DOOR_CLOSED;
}
}
else
{ // door opening
if (Gear_Proc < 1.0)
{
Gear_Proc = min (1.0, Gear_Proc+da);
}
else
{
Gear_status = DOOR_OPEN;
}
}
SetAnimation (anim_Gear, 1-Gear_Proc);
if(Gear_status==DOOR_OPEN)
{
SetGearParameters (1.0);
strcpy(SendFocusScreenMessage(),"Gear down and locked");
}
else if(Gear_status==DOOR_CLOSED)
{
SetGearParameters (0.0);
strcpy(SendFocusScreenMessage(),"Gear are up and locked");
}
}

Ensuite JAMAIS de truc dans ce genre:

Code: [Select]
if (Gear_Proc < 1.0)
Gear_Proc = min (1.0, Gear_Proc+da);
else
Gear_status = DOOR_OPEN;

Ça marche, c'est nickel, mais un jour on est fatigué on rajoute une ligne et on s'arrache les cheveux pourquoi
ça marche pas ou on release un truc buggé.

Je fais ça, encore une notation de "débutant", mais c'est du "robuste" même si c'est vendredi.

Code: [Select]
if (Gear_Proc < 1.0)
{
Gear_Proc = min (1.0, Gear_Proc+da);
}
else
{
Gear_status = DOOR_OPEN;
}

Ensuite je suis absolument STRICT sur les noms de variables ou fonction.

Code: [Select]
[color=green]// y a plus qu'a ce pendre si on veux relire ce genre de code:[/color]
[color=red]int EuhCestQuelTypeDeja;
double JeSaisPlusAQuoiCaSert;
void AuSecourQueFaitCetteFonction(void);
bool Merde;
int U;[/color]

[color=green]// la c'est clair: type fonction[/color]
[color=blue]int iCompteurNombreDeUMMUaBord;
double dAltitudeMoinsHauteurLandingGear;
void*    ptrPointeurVoidSurStructUMmu;[/color]


Enfin bref comme l'erreur est humaine je BLINDE au maximum mon code en gardant une
LISIBILITE
absolue. RIEN ne justifie une notation confuse ou compact et surtout pas les performances,
c'est
compilé pareil.

Voila vous pouvez vous graver ça dans la tête au fer rouge: la lisibilité c'est la CLE !

Le jour on je veux cleaner un peu mon code arrow je n'aurais aucune peine, c'est jeté un peu n'importe comment
(surtout dans
le header) mais les noms et le code étant hyper lisible ça ce bouge facilement.

Dan


En passant, tu fais les choses impécablement.

L'indentation et la clarté de ton code est essentiel dans la compréhension d'un objet ou d'une classe. De toute façon,
Visual Studio fait son imbrication de paragraphe de cette manière lorsque tu utilises par exemple des objets ou des
contrôle du framework... mais là, je risque de perdre du monde....:sick::bave::sick::bave::sick::bave:

Title: Re: c++, la grosse désillusion
Post by: brainstorm on 06 November 2009, 23:22:00
Histoire de rassurer du monde, en ce qui me concerne, j'ai beau avoir réussi à développer des DLL pour orbiter en c++, je ne
serais pas foutu demain de développer quoi que ce soit en c++ pour autant.

La sdk de martin y est pour beaucoup. Et juste un peu de logique pour l'utilisation des méthodes / fonctions.
Pour ma part, je suis plutôt "spécialiste java" si j'ose dire ... c'est aussi de l'objet, mais d'un pt de vue différent.
Certes le C reste plus puissant, mais le java est moins lourd d'utilisation.

Bref, tout ça pour dire que des fois, la logique suffit, pas besoin d'être un programmeur chevronné pour y arriver. Juste de
la rigueur et de la logique ...

Title: Re: c++, la grosse désillusion
Post by: DanSteph on 07 November 2009, 00:11:46
Quote
brainstorm a écrit:
Certes le C reste plus puissant, mais le java est moins lourd d'utilisation.

Question d'expérience je pense, je trouve le java imbitable perso.
Et comme je connais le grand frère aucune raison que je m'intéresse
à un truc plus limité pour faire la même chose.

Faut dire qu'au début il y a 20 ans j'ai testé des chiées de languages et chaque fois j'arrivais rapidement à la limite de
performance, ça ce mettais a ramer. Avec le C++ jamais eu ce problème. :love:

Dan
Title: Re: c++, la grosse désillusion
Post by: brainstorm on 07 November 2009, 21:59:46
Pour moi, c'est plutôt le C qui est imbitable ;) lol Bon, disons que je le comprends, mais c'est toute ces notions de
pointeurs qui me collent dedans ... Pas ce soucis en java.

Et bon, vu que je le pratique depuis presque 10 ans, bon plus trop de secret pour moi. Autant dire que certains de mes
collègues/amis hallucinent de rien comprendre à ce que je code par rapport à l'état de leur connaissance dans ce langage.

Après je dirais que les goûts et les couleurs, hein ... Ceci dit, je ne dis pas fontaine, je ne boirais pas de ton eau, je
pense qu'un jour, je m'intéresserais très sérieusement au C++, quand je deviendrais limité par java tout du moins... pas
encore eu ce soucis pour le moment, encore moins en ce moment depuis que j'ai découvert JOGL ...

Title: Re: c++, la grosse désillusion
Post by: Profil supprimé on 08 November 2009, 12:48:02
Merci pour ces encouragements mais j'ai fais une croix sur le C++. Il me faudrait il gros investissements temps que je
n'ai pas. J'avais espéré que cette formation me ferait gagné un temps fou mais il n'en fut rien.

Title: Re: c++, la grosse désillusion
Post by: brainstorm on 08 November 2009, 13:55:49
Je dirais que rien ne t'empêche de récupérer du code d'un truc basique (si tu veux je peux te filer le code d'un zinc ou un
truc dans le genre) avec pas trop de truc complexe et bien documenté.
Après, en analysant le code, y'a moyen de pondre plein de choses intéressantes... A toi de voir après, je respecte ton point
de vue ;) Ce ci dit, si tu veux des exemples de codes pas trop complexe, dis le moi ;)

Title: Re: c++, la grosse désillusion
Post by: siriusfett on 08 November 2009, 14:23:10
J'ai moi-même profité des exemples des autres, certes je ne suis pas devenu un crac, mais j'ai réussi quelque truc.
Tout comme brainstorm je suis aussi à ta disposition pour te faire parvenir mes codes.

Title: Re: c++, la grosse désillusion
Post by: DanSteph on 08 November 2009, 14:30:50
Oui bon, l'investissement est pas si énorme mais un moment quand on a pas le temps ou pas énormément envie c'est sur que c'est mort... De Vinci n'a pas non plus peint mona lisa entre deux rendez-vous après un seul stage d'entreprises. ;)

Par contre vu qu'on est dans le sujet, sur une partie "plus facile" en apparence, la modélisation, ca manque vraiment de
tutos. J'en vois pleins qui commencent avec des outils nases avec des méthode à vous dégouter de la modélisation (conversion de format, export)

Quand j'aurais un peu plus de temps courant 2010 j'espère faire un tuto sur gmax le petit frère de 3dsmax.
L'avantage c'est que c'est  l'outil est super bien et pratique et on a aucune limite car on peu passer facilement à 3dsmax
une fois qu'on connait gmax.

C'est encore une connaissance qui peut carrément servir professionnellement.

Dan



Message modifié ( 08-11-2009 14:36 )
Title: Re: c++, la grosse désillusion
Post by: Dosage on 08 November 2009, 14:41:38
Impec dan, j'osais pas demander ...

Title: Re: c++, la grosse désillusion
Post by: plin2bobo on 08 November 2009, 20:35:18
Quote
Mustard a écrit:
Merci pour ces encouragements mais j'ai fais une croix sur le C++. Il me faudrait il gros investissements temps que je
n'ai pas. J'avais espéré que cette formation me ferait gagné un temps fou mais il n'en fut rien.

euuuhhhhh.... :???:
mais.... :(

Title: Re: c++, la grosse désillusion
Post by: brainstorm on 14 November 2009, 14:46:30
<HS>
Pour infos, j'avais justement fait un ptit tutos sur métasequoia pour le D520 ...

http://orbiter.dansteph.com/forum/index.php?topic=6286.msg94383#msg94383
</HS>

Title: Re: c++, la grosse désillusion
Post by: Schimz on 28 November 2009, 15:48:36
Tieng, je viens de faire aussi une formation c++ de 5 jours.
J'ai réussi à tenir 3 jours :ptdr:
Ça allait trop vite en fait (abstraction et polymorphisme le 2eme jour... :sunk: ). Il m'aurait fallu une après-midi pour digérer un exo d'une demi heure :ptdr: :ptdr:

@Musty : bidouiller des addons, c'est bien plus simple grâce aux exemples du SDK :o



Message modifié ( 28-11-2009 15:53 )
Title: Re: c++, la grosse désillusion
Post by: plin2bobo on 28 November 2009, 19:00:16
qui peut faire mieux que 3jours?
Title: Re: c++, la grosse désillusion
Post by: DanSteph on 29 November 2009, 02:42:47
Visiblement tout les enseignant zéros ce sont reconvertis dans l'enseignement du C++.
Reste plus qu'à espérer qu'ils y soient tous.

"Sauvez l'éducation nationale, prenez des cours de C++" :badsmile: (et n'oubliez pas votre Ipod et un coussin)

Dan
Title: Re: c++, la grosse désillusion
Post by: brainstorm on 29 November 2009, 13:45:17
Quote
Schimz a écrit:
Tieng, je viens de faire aussi une formation c++ de 5 jours.
J'ai réussi à tenir 3 jours :ptdr:
Ça allait trop vite en fait (abstraction et polymorphisme le 2eme jour... :sunk: ). Il m'aurait fallu une après-midi pour
digérer un exo d'une demi heure :ptdr: :ptdr:

@Musty : bidouiller des addons, c'est bien plus simple grâce aux exemples du SDK :o

Si ça peut te consoler, je suis en stage depuis quelques mois où l'on apprend entre autre à faire du java (en ce qui me
concerne, donc je n'apprend rien de nouveau en fait ;))...

Bref, tout ça pour dire que certains de mes collègues sont aussi à la ramasse (polymorphisme et abstraction sont aussi au rdv
;)), je te passe la partie web, servlet, et j'en passe ...

Après, ce n'est qu'une question d'expérience, de temps et de persévérance. Ca ne s'apprend pas en une semaine, il faut
beaucoup de pratique pour arriver à bien percevoir le langage objet en particulier ... Mais une fois bien assimilé, ça va
tout seul ;) Faut pas hésiter à se faire aider par des gens qui touche, et surtout qui savent vulgariser des termes parfois
compliqué pour expliquer un truc tout bête. Des fois, ça m'arrive de "déformer légèrement la réalité" pour expliquer un truc
en java ... et bien, certains de mes amis ont réussi à obtenir de bonne note, car les explications leur ont semblé plus
claires qu'avec du cours littéral et des termes parfois imbuvables ...

Title: Re: c++, la grosse désillusion
Post by: astazou on 30 November 2009, 11:10:57
Quote
DanSteph a écrit:
Visiblement tout les enseignant zéros ce sont reconvertis dans l'enseignement du C++.
Reste plus qu'à espérer qu'ils y soient tous.

Dan

Eh bien, non. Y'en a plein les IUFM ou ce qui en tiendra lieu maintenant.
Title: Re: c++, la grosse désillusion
Post by: plin2bobo on 30 November 2009, 13:02:36
Quote
astazou a écrit:
Quote
DanSteph a écrit:
Visiblement tout les enseignant zéros ce sont reconvertis dans l'enseignement du C++.
Reste plus qu'à espérer qu'ils y soient tous.

Dan

Eh bien, non. Y'en a plein les IUFM ou ce qui en tiendra lieu maintenant.

oups! j'ai rien compris!? :wonder:
Title: Re: c++, la grosse désillusion
Post by: astazou on 30 November 2009, 14:15:03
IUFM : Institut de Formation des Maîtres, ou élevage de profs et d'instits
Title: Re: c++, la grosse désillusion
Post by: picto on 30 November 2009, 16:07:22
Quote
Astazou a écrit : IUFM : Institut de Formation des Maîtres, ou élevage de profs et d'instits
:lol:
Oui, mais en batterie et au maïs transgénique...
Tu avais juste oublié de préciser.



Message modifié ( 30-11-2009 18:14 )
Title: Re: c++, la grosse désillusion
Post by: Schimz on 30 November 2009, 17:00:30
Quote
DanSteph a écrit:
Visiblement tout les enseignant zéros ce sont reconvertis dans l'enseignement du C++.
Dan
Nan, c'était pas un enseignant. C'est un dev de jeux DS qui fait des formations pour-mettre-du-beurre-dans-les-épinards.

Pastagames : http://www.dailymotion.com/video/xb69ty_maestro-jump-in-music-ds-trailer_videogames



Message modifié ( 30-11-2009 17:01 )
Title: Re: c++, la grosse désillusion
Post by: DanSteph on 30 November 2009, 17:04:01
Plus concerné par le beurre ou une vraie envie de passer les connaissances et juste un manque de pédagogie ?
Normalement les élèves sont pas censés décrocher surtout que t'est pas un débutant non ?

Dan
Title: Re: c++, la grosse désillusion
Post by: astazou on 30 November 2009, 17:45:15
Quote
picto a écrit:
Quote
Astazou a écrit : IUFM : Institut de Formation des Maîtres, ou élevage de profs et d'instits
:lol:
Oui, mais en batterie et au maïs transgénique...
Tu avais juste oublier de préciser.

Nan, j'ai pas osé. J'aurais du.
Title: Re: c++, la grosse désillusion
Post by: Schimz on 30 November 2009, 17:48:57
Quote
DanSteph a écrit:
Plus concerné par le beurre ou une vraie envie de passer les connaissances et juste un manque de pédagogie ?
Pas assez d'xp en formateur. Et puis comme j'ai dis, le cours était bien dense. Et quand tu connais pas la syntaxe, ben y'a pas de miracles :/
Quote
t'est pas un débutant non ?
En prog objet, si :)
Même si après presque 10ans de php procédural, je me mets tout doucement au php objet :)



Message modifié ( 30-11-2009 17:50 )
Title: Re: c++, la grosse désillusion
Post by: DanSteph on 30 November 2009, 19:21:25
Quote
Schimz a écrit:
Pas assez d'xp en formateur.

Du coup il fait du Pk pour leveler :badsmile:

A++

Dan
Title: Re: c++, la grosse désillusion
Post by: tofitouf on 30 November 2009, 20:03:37
j'ai commencé très vite par de l'objet, et une fois la logique acquise (les concepts sont assez simple quand on ne parle plus
de polymorphisme ou autre termes barbares) j'ai beaucoup de mal à revenir à de la simple programmation procédurale. une
question d'habitude.... je trouve que l'objet est plus "cartésien" selon la méthode de descarte. C'est à dire quand on a un
gros problème à résoudre on le découpe en plus petit et puis encore plus petit. individuelllement les problèmes sont simple
et à force tout se construit tout seul.

vous me direz cette méthode peux aussi s'appliquer à la programmation précédurale. mais dans l'objet le fait d'associer les
variables et les actions que l'on peux mener dessu permet souvent de simplifier les choses. je trouve qu'il est plus diffcile
de se tromper quand on fait de l'objet que en procédural car il y a le mécanisme de variables provée, publiques etc... qui
permet de vérifier qu'on ne modifie aps une valeur en dehors de la classe elle même qui en est responsable. Rien que ce petit
principe stabilise largement un programme.
On epux toujours contourner le problème en mettant tout public mais c'est autoflinguer son code par paresse.

Quant au fameux plymorphisme, on ne l'utilise pas si souvent que ca. Mais c'est très très utile quand on a par exemple une
liste d'action à mener et qu'on a besoin de les appeler de manière anonyme (sans savoir ce que cela fait exactement). Là ca
prends tout son sens.

Un ptit exemple dans mon installeur.
j'ai des taches, classes abstraites. qui se dérivent en
* téléchargement http
* dezippage
* copie de ficheir
etc...
j'empile ces taches dans une liste et je les lance à al suite els une des autres.
La fonction qui s'occupe de les lancer ne connais aucune d'entre elle précisement elle sait juste faire un ptit "runtask" sur
chacune d'elles. et récupère si ca s'est bien passé. ca simplifie largement les choses car je peux ajouter un nouveau type de
tache sans avoir à retoucher à al fonction principale.  

en gros c'est tout l'avantage que je trouve à l'objet par rapport au procédural.
après c'est tout une question de syntaxe et il faut avouer que le C++ est loins d'eêtre limpide là dessus.
Java et C# sont bien plus simple à prendre en main.

Title: Re: c++, la grosse désillusion
Post by: DanSteph on 30 November 2009, 22:45:37
Ouais ouais le découpage... c'est le pied.

J'adore ecrire de nouvelles classes, on commence par l'architecture en définissant toutes les fonctions dont on aura besoin
dans le header et puis on écrit le code proprement dis.

C'est propre, simple, très souvent petit puisque ca ne pollue pas ou n'est pas pollué.

C'est comme une jolie petite usine toute neuve... Le pied !

Par contre polymorphisme je suis une béquille complète, si ca ce trouve j'en fais mais je ne sais pas que ca s'appelle comme
cela. Je suis total auto-didacte alors les termes... euh.

Dan
Title: Re: c++, la grosse désillusion
Post by: tofitouf on 01 December 2009, 09:57:56
à partir du moment où t'écrit virtual (en c++) quelque part dans ton code tu fait du polymorphisme. sinon t'en fait pas c'est
clair.

Juste le fait d'utiliser une classe Vessel2 d'orbiter et d'implémenter une des fonctions prévues par l'api d'orbiter alors
c'est du "polymorphisme"

Title: Re: c++, la grosse désillusion
Post by: plin2bobo on 02 December 2009, 08:32:51
Vu la difficulté du C++, Vu que dans la communauté Orbiter il y a des programmeurs super hyper sympa, vu qu'il
existe deux super forum que je regarde et lis continuellement c'est à dire "Création francophone orbiter" et "orbiter
francophone" pourquoi ne mettons pas un troisième forum qui traite le c++ en l'appelant "base du C++ Orbiter".
Je sais que c'est idiot mais c'est peut etre une idée qui pourrai differencier "création orbiter francophone" ( Apis
orbiter et modelisation) du "base c++ Orbiter" ( methode syntaxe etc en c++). Avec des termes à nous, disons un peu
plus francais quoi! pour moi les livres m'apporte beaucoup de chose mais dans certain cas, il subsiste des coins
d'ombres! Voilà...

ben

--------------------------------------------------------
Tout est difficile, la vie est vraiment dur avec moi!
Title: Re: c++, la grosse désillusion
Post by: DanSteph on 02 December 2009, 09:14:36
Ben comme y a 3 posts tout les mois dans le "création" je pense qu'un simple tag:

[C++] Titre du fil

Fera parfaitement l'affaire plutôt qu'ouvrir un forum avec max 50 fils au bout de deux ans.

Une catégorisation c'est nécessaire quand il y a beaucoup de matière pour les organiser
et retrouver facilement. Quand t'a dix truc à classer c'est plus vite fait d'avoir une seule liste... ;)

A++

Dan