Je te remercie, vraiment tes explications defrichent le terrain comme tu peux pas savoir 8-) 8-)
Parce que on a beau lire et lire..et bien on trouve jamais de reponse exacte a la question que l'on a dans sa tete, ou que tres rarement :?
Et moi dans ma tete...y'a un bordel..et aucun livre...ni personne a le meme que moi :aie:
L'avantage de discuter avec des maitres, c'est que c'est comme à l'ecole...on lit les livres, mais de temps en temps, on leve le doigt, et le prof donne la reponse exacte a la question, et si elle n'est pas tout a fait exacte, on peut peaufiner la question, afin d'obtenir exactement la reponse que son cerveau reclame.8-)Moi, je fonctionne comme ça :oops:
Si je n'ai pas exactement la brique qui entre dans le trou...et ben impossible de continuer a monter le mur...ou alors si je le fait..toute ma vie j'aurais une meurtriere dans mon mur :aie:
Et puis bon....on a dépassé l'epoque des chateaux forts non ?? :mouarf:
Bon, je crois que mon choix est fait...moi j'suis un vieux de la vieille, un nostalgique, je n'aime que ce qui a été fait et qui a fait ses preuves.
Si je retourne "en arriere" c'est justement parce que j'en ai marre de ces quantités de langages qui sortent tous autant differents les uns des autres, et qui sont censés simplifier ma vie :?
Je l'ai deja dit, mais PureBasic m'a mis un pied a l'etrier du C, en me montrant comment travailler bas niveau, les pointeurs, les API, les callback, les threads, les ressources, les prototypes, structure, le haschage.
Procedural a "donf" comme j'ai toujours aimé dans le Qbasic, on avance ligne a ligne et j'adore ça.
C'est une question de choix, beaucoup ne jure que par la POO, mais moi j'y ai jamais rien compris.
C'est vrai qu'il m'arrive de me surprendre en creant une variable structurée, et en me disant que ça ressemble un peu a de la POO, mais bon ça me suffit ...
C'est vrai que par moment dans VB6 qui n'est pas POO a fond, il est plus simple d'ecrire "objet.left" 'objet.show' que Show(Objet), mais avec l'arrivée de DOT.NET, les bras m'en sont tombé par la complexité qu'est devenu VB :cry:
Alors je me suis dit...tant qu'a apprendre compliqué....autant se rapprocher de la machine, comme ça je serait sur d'etre maitre de ma programmation, et non pas dependant d'un langage qui va encore evoluer sans que je puisse donner mon avis.
En fin de compte comme les salades, si tu va au rayon de supermarché, t'en a "What mille sortes" mais dans chacune t'as toujours un ingredient qui ne te plait pas.
Du coup tu passes des heures a faire ton choix, alors ça parait plus facile au debut, mais si tu allais dans le rayon legume, que tu achetes chaque produit que tu aimes, et que tu brasse tout ça, tu a exactement ce que tu veux, et en plus tu es sur de ne pas bouffer une saloperie de produit chimique qu'ils auraient rajouté a ton insu, pour que ça se conserve :?
Et au final...y'en a pas pour beaucoup plus longtemps pour avoir quelque chose de simple et robuste, sans surprise et fiable :ccool:
PB m'a aussi appris une chose, il a la meme approche que le C, car il est ecrit en C, alors au debut, je me suis tiré les cheveux car comme pour le C, il faut tout lui dire :?
Gerer les evenements, sinon le programme s'arrette avant de commencer, et tu clic 10 fois sur run avant de comprendre que ton programme il est deja fini au relaché du bouton de souris :lol:
Tout ça, m'a perturbé...et mes collegues de boulot se foutaient de moi, car ils disaient qu'il fallait drolement se casser la tete pour juste ouvrir une fenetre :?
Je pouvais que faire l'huitre car ils avaient raison :oops:
J'ai failli abandonner, puis j'ai persisté, et au fur et a mesure que je "progressais" (Ce mot ne me convient pas vraiment, car moi j'ai la facheuse impression de danser avec la programmation...un pas en avant...deux pas en arriere ...:oops:)
Bref plus j'en faisais, plus je m'appercevais que quand je voulais manipuler un handle, appeler une API, il ne fallait que quelques lignes et la mes collegues etaient comme une poule devant une fourchette, et me voyaient faire valser les API, comme on fait valser les instructions natives. 8O
J'ai donc compris que ce qui est dur au debut te permet de te faciliter la vie plus tard, et ce qui est simple au debut te prepare a l'enfer si un jour tu veux faire des choses pas permises, ou etudié pour. :ccool:
On pourrait dire en fin de compte que comme dans la finance, y'a le placement a long et court terme :mrgreen:
Donc je suis convaincu...tu m'a convaincu...et mes copains de PB m'ont aussi dit la meme chose. 8-)
Car ce que je veux comme je suis un ouvrier et que j'ai surtout des mains et pas trop de cervelle, c'est essayer de m'approcher le plus de la machine, tout en essayant de me choquer le moins possible dans la transition des langages.
Je crois que le C va m'aller, en plus il est tres proche de l'ASM, et sait lui aussi parler a l'oreille des processeurs 8-)
Ca va etre tres dur au debut, je le sent...mais comme avec PB, j'ai fait la moitié de la route...je devrait comprendre.
J'ai choisi cet exemple de fenetre, car je voulais un truc qui fait deja appel au evenements, justement a l'appel d'API, pour voir si je comprenait un peu.
En fait c'est presque le meme code que PB, sauf que dans PB le concepteur nous a caché la conception de la classe
Mais autrement ça se ressemble drolement, en un peu plus compliqué 8-)Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 WNDCLASS wc; HWND hWnd; MSG msg; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1); wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); wc.hInstance = hInstance; wc.lpfnWndProc = WndProc; wc.lpszClassName = "Classe 1"; wc.lpszMenuName = NULL; wc.style = CS_HREDRAW | CS_VREDRAW;
Je me suis pas senti perdu, la seule chose c'est que la gestion des evenements de la fenetre, elle se fait dans une callback.
En Pb le callback s'ecrit comme ça, mais ce n'est pas obligatoire, FRED a prevu une gestion native des evenements.
Et comme PB est multiplateforme LINUX,WINDOW, MAC il est conseillé de rester dans le natif pour ceux qui veulent migrer d'un OS a l'autre
Mais c'est tres utilisé par les programmeurs C, qui utilisent PB, avant ça m'ennervait, maintenant je comprend pourquoi :roll:
J'ai appris aussi quelque chose dans la programmation, c'est que plein de choses paraissent inutiles, du chipotage, et quand on sort de l'oeuf, on veut toujours apprendre aux vieux c...
Puis en devenant ceux qu'on a toujours critiqués...et que l'on n'a pas ressenti le passage de l'autre coté de la barriere..et bien on s'apperçoit que tout ce qui donnait l'impression d'en....les mouches, ça prend toute son importance.
Les declarations de variables par exemple, en sont un tres grand exemple, car en VB elles ne sont pas obligatoires, et quand on nous dit qu'en C ça l'ait....je me disait que c'etait vraiment pour se la "peter" que les programmeurs aimaient rajouter des lignes :D
Aaaaahhhh !!! je commence a revivre....j'ai fait mon choix, et je n'y reviendrais pas...apres 20 ans....c'est quand meme une decision plus que murie non ???? :mouarf:
Reste maintenant a choisir le compilateur....alors la evidement, chacun preche pour sa cremerie....
J'ai beaucoup apprecié PELLES C, que je viens de decouvrir avant hier.
Il ressemble beaucoup a PB, et comme je te l'ai dit...je n'aimes pas trop le changement :oops:
En plus c'est un environement qui me parait simple, complet et portable en clef USB ce qui pour moi est primordial
Fait il du C++ ???
PELLES C, pour commencer dans le C, qu'en pensez vous ????