IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

La jungle des C


Sujet :

C

  1. #21
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 309
    Par défaut
    Je te remercie, vraiment tes explications defrichent le terrain comme tu peux pas savoir

    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
    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.Moi, je fonctionne comme ça

    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
    Et puis bon....on a dépassé l'epoque des chateaux forts non ??

    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

    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

    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

    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

    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 ...)

    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.

    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.
    On pourrait dire en fin de compte que comme dans la finance, y'a le placement a long et court terme

    Donc je suis convaincu...tu m'a convaincu...et mes copains de PB m'ont aussi dit la meme chose.
    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
    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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;
    Mais autrement ça se ressemble drolement, en un peu plus compliqué
    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

    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

    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 ????

    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
    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 ????

  2. #22
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 875
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Obsidian Voir le message
    Alors, avec tout cela, affirmer que ce sont les utilisateurs Linux qui écrivent les virus Windows, c'est tout de même gonflé.
    L'histoire comme on se la rappelle se transforme avec le temps. En fait, c'est parce que le tout premier programme autoreproductible (un virus quoi) a été créé sous Unix que l'idée est devenue ensuite "les méchants linuxiens sont de gros fabriquants de virus..."

    Citation Envoyé par andrebernard Voir le message
    Ce que je n'ai pas compris c'est a quoi on sait que c'est un code C++ ???
    Ben faut connaitre un minimum ces deux langages. Et donc tu les reconnais aux mots clefs utilisés. C'est comme dans la vie. Je te fais lire une page de Harlan Coben et une page de Bernard Werber Hugo ben celui qui a un peu lu ces deux auteurs arrivera à distinguer l'une de l'autre...


    Citation Envoyé par andrebernard Voir le message
    Est ce que le C++ est une continuité du C ??
    C'est a dire que y'a le code de base qui est en C, puis si on veut coder qu'en C++ on y rajoute la notion objet ???
    Au début peut-être. L'auteur a certainement utilisé le C pour créer le C++. Mais maintenant plus du tout. Et ne va surtout pas dire à un pro C++ qu'il ne fait que du C objet, tu vas te faire jeter.

    Citation Envoyé par andrebernard Voir le message
    Tous les compileurs acceptent t'ils le C et le C++ ???
    Le C est un sous-ensemble du C++. Donc tous les compilos qui compilent le C++ peuvent compiler du C. L'inverse n'est pas vrai.

    Citation Envoyé par andrebernard Voir le message
    Peut on actuellement ne coder qu'en C, c'est a dire occulter completement cette notion OBJET, (Que je n'aime pas du tout d'ailleurs, meme en VB ).
    ARGH !!! J'ai l'impression de me voir quand j'avais 7 ans et que je venais d'apprendre à faire du vélo. Je ne voulais monter que sur un vélo à "roues larges" car j'avais l'impression qu'on tenait mieux que sur un vélo de course aux roues si fines et je comprenais pas qu'on puisse ne serait-ce que monter dessus. Tu me verrais aujourd'hui faire mes 60km dans les collines...
    Faut pas te faire d'illusion. Sans objet tu galèreras grave. Même pour faire des trucs les plus simples parfois je me retiens pour pas créer un objet...

    Petit exemple
    Tu dois gérer une date dans un langage très basique. Tu vas donc créer une variable pour le jour, une pour le mois et une pour l'année. Ok, 3 variables ça le fait.
    Maintenant, tu dois gérer 2 dates (date de naissance et date de mariage pour une mairie). Tu vas donc devoir gérer une variable jour_naissance, une variable jour_mariage, une variable mois_naissance, une variable ...
    Bon, 6 variables ça va encore.
    Mais maintenant faut gérer la date de divorce => 9 variables. Et puis faut gérer les 3000 bonhommes de ton village => 9 tableaux jour_naissance[3000], jour_mariage[3000], jour_divorce[3000], mois_naissance[3000]... Et si tu dois faire un algo style classer les gens par âge, là, tu vas galérer avec tes annee_naissance[i] < annee_naissance[j] or annee_naissance[i] == annee_naissance[j] and mois_naissance[i] < mois_naissance[j] (rien que là j'en ai déjà marre).

    Arrive maintenant le langage structuré (le C). Là, tu définis une structure "s_date" contenant une variable jj, une variable mm et une variable aa.
    Là, ça se simplifie grandement car t'as plus 9 variables à gérer mais ça redescend à 3 (date_naissance, date_mariage et date_divorce). Et si tu veux un jour particulier, ben tu demandes plus précisément "date_naissance.jj".
    Et pour tes tableaux, là aussi ça se simplifie. T'as maintenant que 3 tableaux "date_naissance[3000]", "date_mariage[3000]" et "date_divorce[3000]".
    Et pour la comparaison si le langage est un poil assez évolué, peut-être que l'instruction date_naissance[i] < date_naissance[j] peut marcher. Sinon faut redescendre à date_naissance[i].aa < date_naissance[j].aa etc mais ça reste quand-même un poil plus lisible (ou au-moins plus facile à appréhender)

    Toutefois, tu veux maintenant afficher tes dates. Tu crées donc la fonction "affiche()" qui reçoit en paramètre une date et qui l'affiche. Et tu peux appeler à loisir affiche(date_naissance[i]), affiche(date_mariage[j]), affiche(date_divorce[k]). Ok, tout va bien... sauf que tu dois aussi gérer maintenant (toujours pour ta mairie) les plans cadastraux. Et ces plans, ben à un moment donné faudra aussi les afficher. Alors tu vas créer une fonction... affiche() ? Ben non car la fonction affiche existe déjà et elle, elle affiche des dates. Donc si t'es pas trop porc tu renommes affiche() en affiche_date() et tu crées ensuite la fonction affiche_plan() pour afficher les plans. Ok, ça marchera. Mais là encore tu recommences à galérer.

    Et donc tu te décides enfin à grandir et là, tu te mets à l'objet. Et là, c'est la révélation. Car dans ta structure date tu peux rajouter maintenant la fonction "affiche()" qui devient une méthode de ta date. Et donc si tu veux afficher la date de naissance du gars [i] ben tu appelles date_naissance[i].affiche(). Et pour ton objet "plan" ben lui aussi tu peux lui mettre la méthode "affiche()" de même nom. On s'en fout puisque le nom "affiche()" est associé à l'objet "plan" et ne sera pas vu pareil que le nom "affiche()" de l'objet "date". Et là, tu es illuminé par la simplicité et plus jamais tu ne reviens en arrière...

    Surtout qu'ensuite, tu peux définir des opérateurs + ou - ou < ou >. Et donc s'il faut calculer le nombre de jours entre la date[i] et la date[j] ben te suffit de faire simplement "nb=date[i] - date[j]" (le calcul qu'il y a derrière l'opérateur "-" est peut-être monstrueux, l'utilisation est hyper simple).
    Et là maintenant, l'instruction date[i] < date[j] fonctionnera...

    Alors si tu veux programmer utile, mets-toi très vite à l'objet!!!

    Citation Envoyé par andrebernard Voir le message
    PELLES C, pour commencer dans le C, qu'en pensez vous ????
    Quand j'ai commencé le shell, j'ai pris un tuto
    Quand j'ai commencé le C, j'ai pris un tuto
    Quand j'ai commencé php, j'ai pris la doc (parce que j'ai commencé php en 1999 quand il est sorti et que les tutos n'existaient pas encore)
    Quand j'ai commencé Python, j'ai pris un tuto.

    Alors si tu veux commencer le C, ne te focalise pas sur le compilo ou l'EDI. Prend un tuto. Et pour le compilo ben c'est comme tu le sens...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #23
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 309
    Par défaut
    Alors si tu veux commencer le C, ne te focalise pas sur le compilo ou l'EDI.
    Je ne me focalise pas...mais pour moi c'est tout nouveau d'avoir le choix
    J'suis un peu comme un russe qu'on ammene aux champs élysés

    Et puis chat echaudé....j'ai appris 20 ans apres que j'avais fait le mauvais choix avec Visual basic...oui je sais...j'suis un rapide
    Alors maintenant, je demande au moins le prenom de la fille avant de passer ma vie avec elle

    Bon apparemment pas de reaction negatives a PELLES C..je vais prendre ça comme une reponse positive
    Apparement aussi, pas trop de mal est dit de celui de CROSOFT VC6, contrairement a son frere VB6

    Donc je vais commencer avec ces deux la...un portable USB et l'autre que de toutes façon j'ai obligatoirement sur ma machine ....because VB6 obligatoire pour moi

    Quand j'aurais pris un niveau, je regarderais certains autres que l'on m'a proposé, comme GCC ou autres qui sont surement super vu le bien qu'on en dit

    Bon bah j'ai du "bread sur la board"...faudra aussi que j'ameliore mon anglais au passage
    Ca fait beaucoup pour un seul homme tout ça
    Alors je vais y aller par dose homeopathiques
    Et j'ai un adage qui me va bien...qui veut aller loin .....menage sa ...

    Encore merci de tous vos precieux conseils, "is a long rooooaaaad !!" comme dirait rambo, mais a combattre sans peril, on triomphe ....

    Nadine...aujourd'hui "je fi le zoeuf"

    Au plaisir de vous relire, et encore merci, vous etes supers

  4. #24
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 875
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par andrebernard Voir le message
    Bon apparemment pas de reaction negatives a PELLES C..je vais prendre ça comme une reponse positive
    Ben s'il compile, que lui demander de plus ?

    Citation Envoyé par andrebernard Voir le message
    Quand j'aurais pris un niveau, je regarderais certains autres que l'on m'a proposé, comme GCC ou autres qui sont surement super vu le bien qu'on en dit
    Ni mieux ni moins-bien !!! (surtout que gcc n'est dispo que sous Linux et si tu veux un équivalent zindow, beaucoup préconisent MinGW). Un compilo ne fait que transformer un langage un un autre. Quand tu transformes ton raisin en vin, tu discutes pas 500 ans avec les paysans du coin sur s'il faut prendre la coopérative des frères "GrosRougeLaVinasse" ou celle des soeurs "BelleHelèneLaBonnePoire". Tu choisis celle qui est la plus proche et tu y amènes ton raisin sans te poser de questions. Plus tard, quand tu auras fait du vin et que les gros poivrots du coin te diront "celui des soeurs est meilleur" tu pourras commencer à réfléchir sur le compilo que tu préfères...

    Citation Envoyé par andrebernard Voir le message
    Bon bah j'ai du "bread sur la board"...faudra aussi que j'ameliore mon anglais au passage
    Juste l'anglais technique mais on s'y fait très vite.

    Citation Envoyé par andrebernard Voir le message
    comme dirait rambo, mais a combattre sans peril, on triomphe ....
    on triomphe sans problème !
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #25
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 610
    Par défaut
    Citation Envoyé par andrebernard Voir le message
    Je te remercie, vraiment tes explications defrichent le terrain comme tu peux pas savoir
    Comme je vois que tu es aussi volubile que moi, je vais te donner le prochain conseil : assez parlé, au boulot maintenant. Trouve le compilo de ton choix, ouvre un Notepad et écrit ton premier « Hello World », si tu ne l'as pas déjà fait, bien sûr, puisque tu as l'air de connaître les premières notions.


    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
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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;
    Mais autrement ça se ressemble drolement, en un peu plus compliqué
    Oui, alors justement. Gérer d'emblée une fenêtre, c'est une fausse bonne idée. Cela semble élémentaire car tous les O.S. sont graphiques aujourd'hui mais en réalité, ça reste très compliqué. Il faut gérer tous les paramètres de la fenêtre elle-même (titre, taille, couleur, etc.), puis lui donner des attributs vis-à-vis du gestionnaire de fenêtre (est-elle redimensionnable ? peut-on la fermer avec le bouton « X » ? etc.). Ensuite, tu dois gérer un système d'événements (voir modèle vue-controleur). Tu dois faire en sorte que ces événements soient toujours disponibles au risque de freezer certains gestionnaires coopératifs. Une fois tout cela en place, il faut écrire dedans. Le plus simple restant d'y inclure un objet « boîte texte », mais la déclaration de celui-ci est presqu'aussi fastidieuse que celle de la fenêtre elle-même. Ouf !

    En plus, je n'aime pas du tout la C.API de Windows, que je trouve mal conçue (c'est un avis personnel).

    Enfin, l'exemple que tu as pris est clair pour un programmeur C ayant un minimum de pratique, mais ce n'est certainement pas un exemple à donner à un débutant, parce qu'il est rempli de casts, de macros #define et de typedef. Pas étonnant que tu n'y reconnaisses rien.

    Fais comme tout le monde et fais tes premiers programmes en console. Elle a l'avantage d'être standard, d'être exécutable partout (même sous D.O.S.), légère et simple à manipuler. Tu ne peux pas te lancer directement dans les interfaces graphiques sans maîtriser parfaitement les flux d'entrée/sorties standard. C'est un coup à tout rater et à abandonner dans la foulée, écœuré.

    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.
    Pas forcément. La boucle principale peut tout-à-fait se trouver dans ton propre programme. Une fois que tu auras l'habitude de programmer un peu, tout cela deviendra clair et ces concepts te viendront à l'esprit d'eux-mêmes, sans avoir à les apprendre à la dure. Mais chaque chose en son temps.

    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éclarer les variables, cela n'a pas été inventé pour embêter les programmeurs non plus. C'est bien de le faire pour le principe, mais c'est facultatif dans la plupart des langages interprétés.

    En C, par contre, c'est non seulement nécessaire mais il faut obligatoirement le faire au début d'un bloc, avant le code. Il y a une bonne raison à cela : les variables locales vont dans la pile et le C a besoin de connaître à l'avance la taille qu'il doit réserver, parce qu'il accédera directement aux variables via leur adresse mémoire par la suite. Et comme un programme doit pouvoir être compilé en une passe, pas question de déclarer en cours de route une variable « oubliée ».

    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 En plus c'est un environement qui me parait simple, complet et portable en clef USB ce qui pour moi est primordial
    Essaie GCC, si jamais tu trouves une distrib' de Linux quelque part. C'est un compilateur en ligne de commande. Ça aura le mérite de tracer une frontière nette entre l'IDE et le compilateur.




    Citation Envoyé par Sve@r Voir le message
    L'histoire comme on se la rappelle se transforme avec le temps. En fait, c'est parce que le tout premier programme autoreproductible (un virus quoi) a été créé sous Unix que l'idée est devenue ensuite "les méchants linuxiens sont de gros fabriquants de virus..."
    Hmm. Moui, c'est surtout parce qu'il n'y avait pas grand chose d'autre à l'époque non plus !

    Et là, tu es illuminé par la simplicité et plus jamais tu ne reviens en arrière...
    Ce n'est pas tout-à-fait vrai, mais je dirais que tu ne reviens au procédural ordinaire qu'après un certain temps.

    Disons qu'on y revient quand on commence à suffisamment bien manipuler l'objet pour structurer ses programmes suivant ce concept sans avoir obligatoirement besoin d'un langage orienté. On y revient aussi quand on se rend compte que les langages objets peuvent devenir très gourmands en mémoire si on ne surveille pas l'évolution de la hiérarchie de ses classes…

    Surtout qu'ensuite, tu peux définir des opérateurs + ou - ou < ou >. Et donc s'il faut calculer le nombre de jours entre la date[i] et la date[j] ben te suffit de faire simplement "nb=date[i] - date[j]" (le calcul qu'il y a derrière l'opérateur "-" est peut-être monstrueux, l'utilisation est hyper simple). Et là maintenant, l'instruction date[i] < date[j] fonctionnera...
    C'est vrai en C++ ou en C#, pas en Java, par exemple.

    Pour bien te former sur le C tu peu regarder ces cours pour apprendre C et la FAQ C.

  6. #26
    Membre éclairé
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 309
    Par défaut
    Ben s'il compile, que lui demander de plus ?
    De le faire bien

    Je me rappelle avoir entendu, justement dans la periode ou je suis retombé de mon "trone" qui en fin de compte s'est avéré, etre plutot un "toilette", pour n'avoir de commun que la position assise
    Donc que VB6 changeait bien le code VB en langage machine.
    Lui aussi il fait des petit "exe" comme le C ou PB...mais quand on essaye de lire cet exe en ASM, les connaisseurs etaient soit morts de rire, soit outrés de ce que pouvait faire faire VB a un processeur.

    Du style passer par MARSEILLE pour aller a PARIS quand on vit a LYON

    Il paraissait meme que VB etait comme une espece de protection anti hacker, car il fallait un temps fou pour "cracker" un exe VB, tellement il fallait se taper des pages d'ASM inutiles et surtout illogiques

    C'est donc encore une fois le chat echaudé qui parle, quand j'ai choisi PB, j'ai aussi pris soins de regarder la taille des EXE, et de lire, les commentaires sur ce qui sortait du compilo
    Certe ...les connaisseurs reconnaissent qu'il ne cree pas un code ASM, parfait et loin de la, mais il est concidéré correct par rapport a celui qu'on se taperait a la mano

    Dans un autre domaine, j'ai failli mettre des couches pour une semaine lorsque j'ai vu quel code HTML generait FRONTPAGE de notre ami eternel BILOU
    Des pages et des pages pour rien, je me rappelle avoir fait "Source page" dans IE et la premiere fois, pour un depot d'image vu des dizaines de lignes, a croire que c'est un egyptien qui avait créé le generateur de script

    J'ai failli abandonner le HTML, puis je suis tombé sur DREAMWEAVER, et la.... 2/3 lignes plus tard, avec juste les BALISES qu'il faut ou presque, j'avais une page internet statique toute simple, en fin de compte ce que je recherchais.
    La aussi, y'avais moyen de virer quelques mots, mais c'etait buvable.

    Donc, je demande ça, deja pour savoir si l'IDE est pas sous evolué, ne créé pas de bugs, et aussi surtout pour savoir si le compilo ne traduit pas la reponse du docteur au telephone un peu comme ça l'arrange.
    Quand un mec se fait piquer l'appendice urinaire par un serpent dans la brousse, et qu'il demande a son ami de telephoner et de demander au docteur ce qu'il faut faire.
    La reponse de ce dernier est "Il faut sucer la plaie immediatement" ce qu'un bon compilo traduirait par "Il faut trouver un moyen d'extirper le venin" a defaut de repeter exactement la meme phrase (On le comprend d'ailleurs)
    Mais un mauvais compilo, traduira a sa sauce la dite phrase par "Il dit que tu vas mourrir"

    Comme je vois que tu es aussi volubile que moi, je vais te donner le prochain conseil : assez parlé, au boulot maintenant. Trouve le compilo de ton choix, ouvre un Notepad et écrit ton premier « Hello World », si tu ne l'as pas déjà fait, bien sûr, puisque tu as l'air de connaître les premières notions.
    Tu as raison je vais m'y mettre
    Je suis juste un peu allergique au consoles, en PB aussi y'a ce mode console, et je ne l'utilise jamais
    Tu as aussi raison, pas mal de pro l'utilisent, mais moi je sais pas si c'est le "noir c'est noir et y'a plus d'espoir"..mais ça me cause pas trop.
    Meme le DOS j'avais parfois quelques mal...

    Des que je pourrais passer meme dans un mode "fenestré" quelconque simple, je sais que ce n'est pas un mot qui colle au C , je me sentirais plus a l'aise.
    Remarque y'a peut etre aussi des debugs, comme dans PB, une fenetre qui te donne les valeurs

    Mais bon si le mode console y permet d'acceder au reste, je ferais comme tu dit
    C'est comme les piqures..pendant que ça fait mal, je me dit que ça va faire du bien apres

    Merci a nouveau de vos reponses

Discussions similaires

  1. La jungle du cross-platefome cross-os. Le points des solutions debut 2015.
    Par BeRoots dans le forum Langages de programmation
    Réponses: 5
    Dernier message: 25/12/2015, 21h27
  2. Jungle des licences
    Par vinzzzz dans le forum Licences
    Réponses: 2
    Dernier message: 03/08/2013, 19h36
  3. la jungle des numéros de version XI R3 !
    Par fred_a dans le forum Administration-Migration
    Réponses: 4
    Dernier message: 19/11/2010, 13h50
  4. La jungle des catalogues interactifs
    Par lorence dans le forum Services
    Réponses: 0
    Dernier message: 02/10/2008, 15h53
  5. recherches des cours ou des explications sur les algorithmes
    Par Marcus2211 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 19/05/2002, 22h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo