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

Discussion :

Quelques questions [Débutant(e)]

  1. #1
    Membre actif
    Avatar de Thomas404
    Homme Profil pro
    dev
    Inscrit en
    Novembre 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Novembre 2009
    Messages : 99
    Points : 234
    Points
    234
    Par défaut Quelques questions
    D'abord je précise que j’apprends en autodidacte et non pas à l'école.

    1)Bonjours tout le monde, alors voila, je me demandais quel est l’intérêt d'avoir un langage qui crée des programmes plus rapide à l’exécution ? (je parles du C par exemple) à part gagner quelques secondes? Je dis ça en rapport avec python et son temps d’exécution lent. 'Fin je vois pas bien en quoi c'est réellement un problème en fait.

    2)J'ai les bases en python / AutoIT j'ai tenter un peu le C mais euh... je n'en suis pas fan sans savoir réellement pourquoi d'ailleurs. [pourtant j'aime bien le procédural, bon j'ai pas essayer les autres genre]Par contre j'ai du mal a comprendre en quoi peut bien être utile les pointeurs (je me sert du tuto de developpez.com "Initiation au langage C " qui explique très tôt les pointeurs)

    Du coup je cherche un langage sympas à apprendre avec un vraie IDE sous ubuntu (oui ... ruby c'est bien beau mais la simple console de commande me décourage, même pour python j'utilise IDLE et non la console de commande)

    Enfin mon but est de faire de la sécurité réseau et j'ai crus comprendre que les Python & C sont bien dans ces domaines

    Et ensuite après avoir appris ce futur langage j'en apprendrais un qui s'utilise sur le web.

    3) C'est vrais que les tuto de sdz sont mauvais ? si oui, pourquoi?

  2. #2
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Bonjour,
    J'ai quelques pistes pour le 1:
    • Pour une opération vraiment longue, c'est des minutes (ex: compilation d'un projet) voire des heures que l'on gagne. Ma boîte a plusieurs tâches pour lesquelles une amélioration a gagné une heure ou deux. Par contre, le projet en question a toujours été en C#, on ne l'a pas accéléré en changeant son langage.
    • Pour des graphiques, surtout des graphiques rapides, on a besoin d'accéder à des zones mémoire telles qu'elles sont: Pas en tant que tableaux associatifs, et sans vérification des bornes à chaque accès. En gros, dès que tu fais quelque chose qui a une contrainte de temps (un jeu dit "en temps réel", un lecteur vidéo), tu as besoin de vitesse.
    • En sachant ce qu'on fait, on peut aussi réduire l'empreinte mémoire de son programme, et augmenter la localité mémoire de ses propres accès. Le second améliore la vitesse du programme en question, mais le premier aide aussi tous les autres.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 119
    Points
    28 119
    Par défaut
    Citation Envoyé par Thomas404 Voir le message
    1)Bonjours tout le monde, alors voila, je me demandais quel est l’intérêt d'avoir un langage qui crée des programmes plus rapide à l’exécution ? (je parles du C par exemple) à part gagner quelques secondes?
    Lorsque ton programme affiche "Hello world", tu t'en fous. Lorsque ton programme gere, quotidiennement, des millons de donnees, un gain d'une milliseconde par donnees peut te faire gagner plusieurs heures de calcul. Et sachant que tu n'as que 24h par jour, gagner des heures de calcul, c'est vital. (il s'agit de donnees reelles de production).


    Citation Envoyé par Thomas404 Voir le message
    2)J'ai les bases en python / AutoIT j'ai tenter un peu le C mais j'ai du mal a comprendre en quoi peut bien être utile les pointeurs
    Beaucoup d'interets. Le premier que je vois est de manipuler une variable directement, dans une sous-fonction par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    int ma_fonction (void)
    {
    int variable1;
    
    // du code
    
    mon_autre_fonction (&variable_1); // je passe a "mon_autre_fonction" un pointeur sur variable_1, pour que cette variable soit modifiee
    
    printf ("Apres calcul, ma variable vaut : %d", variable_1);
    return EXIT_SUCCESS;
    }
    Citation Envoyé par Thomas404 Voir le message
    Du coup je cherche un langage sympas à apprendre avec un vraie IDE sous ubuntu (oui ... ruby c'est bien beau mais la simple console de commande me décourage, même pour python j'utilise IDLE et non la console de commande)
    Un IDE est un environnement de developpement qui sert, en gros, a te faciliter la tache dans certains cas. C'est un peu incompatible avec l'idee du C, qui est que le developpeur a le droit de tout faire, y compris des grosses conneries (ce que ne permettent pas d'autres langages).

    Citation Envoyé par Thomas404 Voir le message
    Enfin mon but est de faire de la sécurité réseau et j'ai crus comprendre que les Python & C sont bien dans ces domaines

    Et ensuite après avoir appris ce futur langage j'en apprendrais un qui s'utilise sur le web.
    Oula, tu pars loin la
    Securite reseau : est-ce que tu veux pouvoir securiser une machine du point de vue du reseau, securiser un reseau, ou faire des programmes qui offrent une securite maximale du point de vue du reseau ?
    Dans le dernier cas, le C est effectivement pas mal. Pour les deux premiers, il vaut mieux te pencher sur les tutos Linux/OpenBSD/Securite reseau.

    Citation Envoyé par Thomas404 Voir le message
    3) C'est vrais que les tuto de sdz sont mauvais ? si oui, pourquoi?
    Tous non. Certains oui. C'est le cas de tous les sites qui hebergent des tutos, avec plus ou moins d'erreurs dans les tutos.
    Ou as-tu eu cette information ? Une rumeur lue sur un forum ?

    Pourquoi ? Parce que relire un tuto prend du temps, que ca demande des gens competents dans le domaine, ce qui n'est pas toujours facile a trouver.

    Tu n'as qu'a regarder le nombre de fautes d'orthographes ou de grammaire dans les livres pour te rendre compte que corriger toutes les erreurs, ca doit etre complique, car il y en a tout de meme beaucoup.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  4. #4
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 058
    Points
    32 058
    Par défaut
    ==>Pour les tutos(sdz ou pas).

    C'est gentil, mais ça t'apprend juste à coder(i.e. aligner des lignes de codes), pas à programmer(i.e. définir le comportement que doit avoir la machine, puis coder jusqu'à ce que la machine se comporte conformément à tes attentes), encore moins développer(partir d'une vague idée, genre trouver facilement des choses sur internet, découper l'idée en éléments unitaires, programmer chacun des modules en question, les articuler avec un architecture futée, refuser une offre de Yahoo!, et devenir Google).

    Je ne dis pas qu'ils sont inutiles. Moi qui apprend java, là, maintenant, j'en ai toujours plusieurs d'ouverts en même temps, et je tape dedans pour retrouver la syntaxe dont j'ai besoin pour faire telle ou telle opération. Mais je ne les suis pas pas-à-pas. Ca peut être utile pour débuter(je n'en sais rien), mais ça ne suffira pas.

    Pour réellement progresser, à mon sens, il faut définir ses propres objectifs, et développer le projet qui va autour. Evidemment, un débutant commençera petit(une petite page web sécurisée, un lemonade.....). Pour mon premier projet java, je m'attaque aux règles de Rolemaster, c'est plus gros, mais je suis un velu avec pas mal d'expérience dans d'autres langages. Et je pense apprendre bien plus qu'en suivant servilement tel ou tel tutorial. J'ai déjà jeté plusieurs classes, pour les refaire autrement, et c'est bon signe : je progresse.

    ==>pour la performance

    Comme les autres. Je citerais un exemple dans une boite d'assurance ou nous avons refait la chaine d'édition des courriers. Nous sommes passés de 24 à 16 heures de traitement. Ca veut dire 8 heures de plus pour tout imprimer. Et, pour les gens travaillant à l'impression, 8 heures de plus sur environ 48 heures. Un confort énorme pour eux, qui leur permettait soudain de faire des vérifications avant de lancer l'impression de masse.

    La performance est utile pour tous les traitements massifs ET non triviaux. Dans le temps, c'était massifs OU non triviaux, mais l'amélioration des machines a permis de gagner un peu. Mais du massif ET non trivial, dans bien des domaines, c'est le pain quotidien.
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

  5. #5
    Membre actif
    Avatar de Thomas404
    Homme Profil pro
    dev
    Inscrit en
    Novembre 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : dev

    Informations forums :
    Inscription : Novembre 2009
    Messages : 99
    Points : 234
    Points
    234
    Par défaut
    ==> performances :

    ah oui ... évidement vue comme ca, ça semble évident en fait, merci.

    ==> Tutos :

    Ah bon ... De toutes façon, entre temps je me suis remis à Python avec le livre "Apprendre à programmer avec python 3" Gérard Swinnen, j'aime beaucoup.

    Merci

    Et pour répondre a gangsoleil : je l'ai lus ici en fait (je lurke pas mal le forum en fait.) Bref lus sur Developpez.com et d'autre petits sites dont j'ai oublier le nom.

    @el_slapper : en effet une lemonade c'est sympas, surtout l'été.

    ==> sécurité :

    Oui je veux apprendre à sécuriser mon pc d'un point de vue réseau (le mien surtout). Donc linux Open/BSD, merci, m'enfin, plus tard

    ===> Pointeurs :

    Merci pour les explications, je comprend mieux

Discussions similaires

  1. Quelques question sur Win 32 Appli
    Par lvdnono dans le forum Windows
    Réponses: 5
    Dernier message: 15/06/2004, 12h37
  2. [Débutant]Quelques questions de principe sur l'API win32
    Par silver_dragoon dans le forum Windows
    Réponses: 4
    Dernier message: 19/03/2004, 18h38
  3. [install]Install sous windows... quelques questions
    Par omega dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 26/02/2004, 09h50
  4. [MFC] Quelques questions de débutant...
    Par Sephi dans le forum MFC
    Réponses: 4
    Dernier message: 20/02/2004, 17h25
  5. Quelques questions sur le TWebBrowser...
    Par CorO dans le forum Web & réseau
    Réponses: 3
    Dernier message: 17/01/2003, 21h23

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