Partage
  • Partager sur Facebook
  • Partager sur Twitter

Etude technique du C++

vos idées

    8 février 2018 à 22:48:14

    Bonsoir,

    Dans le cadre de mon diplôme, je dois réaliser une étude technique dans un domaine informatique de mon choix (sous la validation du professeur).
    Les sujets des années précédentes concernent des domaines d'études variés comme la stratégie de sauvegarde,
    les objets connectés, les outils collaboratifs pour la gestion de projet, le big data ...

    Le projet se compose des éléments suivants :
    - Rédaction d'un rapport technique de 40-50 pages,
    - Présentation de son sujet pendant 20-25 minutes,
    - Phase de questions pendant 15-20 minutes.

    Ma question (oui la voilà enfin ^^), pensez-vous qu'il est possible pour moi de réaliser ce genre de projet sur une étude du langage C++ ?
    Un fonctionnement, une technologie, ... Du C++ (je sais pas trop) avez-vous des idées de projet ?

    Je suis à l'écoute de toutes vos propositions / idées concernant mon projet.
    Merci d'avance :)
    • Partager sur Facebook
    • Partager sur Twitter
      9 février 2018 à 11:15:22

      Je pense que le C++ est un sujet bien trop restreint comparé aux sujets des années précédentes.

      C'est un peu comme faire un rapport sur le marteau de charpentier alors que les années d'avant c'était sur l'avenir de la maison.

      • Partager sur Facebook
      • Partager sur Twitter
      Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
        9 février 2018 à 11:26:09

        Je suis pas trop d'accord, si c'est une étude technique, il y a beaucoup à dire sur un langage. En témoignent les centaines de blogs/papiers de recherches/bouquins qui peuvent existe pour approximativement chaque langage de programmation.

        On fait un peu plus que planter des clous avec un langage quand même.

        Entre les types de besoins auxquels il sait répondre, le fonctionnement intrinsèques des trois langages présents dans C++ (celui de base, constexpr, et les templates), l'analyse du bordel qu'est devenu sa norme (notamment sur ce qui est UB et ce qui ne l'est pas dans les corners cases), la difficulté d'appropriation du langage (et par extension la difficulté de validation des programmes écrits dans ce langage), le fonctionnement du modèle mémoire, les mécaniques existantes pour les exceptions, pour la résolution de virtual, et ... on ne fait encore que gratter la surface.

        -
        Edité par Ksass`Peuk 9 février 2018 à 11:29:08

        • Partager sur Facebook
        • Partager sur Twitter

        Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C

          9 février 2018 à 12:07:26

          Je n'en disconviens pas Ksass`Peuk mais c'est une étude bien plus pointu que "Big Data", ou le sujet est tellement vaste que juste reprendre les articles de vulgarisation suffit à remplir 40 ou 50 pages.

          On peut faire une étude extrêmement pointus sur le marteau, son histoire, ses usages, les différences entre un marteau de charpentier et celui d'un tapissier, l'affordance de l'engin, son équilibrage dans la main, etc... mais c'est plus pointu que l'évolution des maisons depuis me moyen âge. :-°

          • Partager sur Facebook
          • Partager sur Twitter
          Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
            9 février 2018 à 12:35:35

            Salut,

            A vrai dire, je crois que C++ est trop vaste pour en faire une étude sérieuse en seulement 40 ou 50 pages...

            A titre d'exemple, rien que pour les bonnes pratiques que je décris dans mon livre, au début, je pensais faire un ticket de blog ou un article d'une dizaine de pages, et je me suis retrouvé avec ... 400 (bon, y a pas mal de code aussi) :p

            Par contre, une étude des possibilités de la programmation générique et des défis qu'elle permet de relever pourrait faire l'affaire, non?

            A ceci près, bien sur, que, pour faire une étude valable du bastringue, il faut arriver à le maitriser suffisamment que pour savoir de quoi on parle...  Et que cela demande du temps pour cette partie spécifique de C++ :p

            • Partager sur Facebook
            • Partager sur Twitter
            Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs  à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
              9 février 2018 à 12:49:41

              koala01 a écrit:

              A titre d'exemple, rien que pour les bonnes pratiques que je décris dans mon livre, au début, je pensais faire un ticket de blog ou un article d'une dizaine de pages, et je me suis retrouvé avec ... 400 (bon, y a pas mal de code aussi) :p

              (Par contre ces éléments sont annexes au langage).

              • Partager sur Facebook
              • Partager sur Twitter

              Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C

                9 février 2018 à 13:12:37

                Tout à fait, mais c'est pour faire remarquer que l'on peut parfois très mal évaluer la taille de ce que l'on veut faire.

                A la base, je m'étais dit : "une page pour chacun des principes SOLID, une page sur Déméter, une page sur les commentaires et une page sur PPC (en moyenne)... Une dizaine de pages, et c'est emballé" ... Tu parles !!!!

                • Partager sur Facebook
                • Partager sur Twitter
                Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs  à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
                  9 février 2018 à 13:47:16

                  Bon, on va faire dans l'efficace, renseignes-toi sur les marottes de tes profs pour les caresser dans le sens du poil avec ton sujet.

                  S'ils sont des fanas du C++ et que tu ne dis pas trop de conneries et c'est le jackpot.

                  Mais, moi, j'en doute, vu la qualité "moyenne" de l'enseignement du C++.

                  Ou, fait dans les sujets à buzz comme le Big Data ou le Machine Learning.

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
                    9 février 2018 à 15:46:59

                    Le problème des buzz words, c'est que les profs ont déjà vu 100 fois ces sujets de mémoire. Prendre un sujet original qui intéresse vraiment l'étudiant, ca peut etre un plus.

                    Et tant que le sujet est assez dense pour faire 50 pages (et c'est le cas avec le C++), c'est bon.

                    En plus des points cités par Ksass`Peuk, quelques idées pour étendre l'analyse.

                    - Évolution du C++. Pourquoi les langages évoluent ? Quand et pourquoi faire évoluer un langage ou créer un nouveau ? Pourquoi le comité C++ a fait le choix de l'évolution ? Quel est le futur du C++ ?

                    - Comité C++. Quelles sont les spécificités de la norme C++ ? (ISO) Comment fonctionne le process ? Qu'est ce que cela implique en termes d'évolution, de ce qui doit etre dans le langage ou non ?

                    - Écosystème du C++. Qu'est ce qui constitue l'écosystème d'un langage ? (outils de compilation, de vérification, de tests, de paquetage, d'édition, de partage de code, de gestion des bug reports, etc). Quelles sont les spécificités du C++, ressemblances et différences avec les autres langages ?

                    - Comment le C++ s'interface avec les autres langages ? Est-ce que cela a encore du sens de nos jours de faire des applications mono langage ?

                    Si tu veux encore plus de questions, je dois en avoir encore au moins 500 :)

                    (Mais ce ne sont que des idées, ce n'est pas forcément une bonne idée d'essayer de répondre a toutes les questions possibles. Il est souvent plus pertinent de prendre 1 question et bien la traiter que d'en prendre 100 et de survoler)

                    • Partager sur Facebook
                    • Partager sur Twitter
                      9 février 2018 à 23:21:14

                      Bonsoir,
                      Je vous remercie pour vos nombreuses réponses, elles me permettent d'avoir une vision de ce que je souhaite proposer à mon professeur.

                      Pour le moment, après lecture de vos propositions, les 3 suivantes attirent mon attention :
                      a ) Le fonctionnement du modèle mémoire, (Mes premières idées : allocation dynamique, statique, pointeur, comment le C++ gère la mémoire, ...)
                      b ) Les possibilités de la programmation générique (et défis), (Mes premières idées : template, polymorphisme, réutilisabilité des fonctions/fonctions membres, ...)
                      c ) L'écosystème du C++. (Mes premières idées : préprocesseur, compilateur, éditeur de liens, les outils : mingw, cmake, ide, ... , l'analyse du code, les performances, ...)

                      Vos idées sont très techniques ce qui correspond bien à ma recherche :), ce week-end je regarderai plus en profondeur ce que je peux faire sur ces 3 sujets ! Afin de faire un choix.
                      Si vous avez des pistes pour orienter mes recherches, n'hésitez pas !

                      Merci.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        10 février 2018 à 9:15:35

                        Ce qu'on appelle un modèle mémoire, ce n'est pas les questions de comment sont réalisées les allocations (qui n'est pas spécifié ou à peine). C'est le modèle d'accès à la mémoire par les threads en présence de mémoire partagée.

                        • Partager sur Facebook
                        • Partager sur Twitter

                        Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C

                          10 février 2018 à 20:21:16

                          Merci pour la précision.

                          Après quelques recherches, je pense faire une proposition à mon professeur sur l'étude de l’écosystème du C++, qui je pense correspond plutôt bien à mes recherches de sujets et je pense que je serais plus à l'aise avec ce sujet :)

                          -
                          Edité par Carl Grimes 10 février 2018 à 20:21:54

                          • Partager sur Facebook
                          • Partager sur Twitter
                            19 février 2018 à 20:54:24

                            Bonsoir !

                            Je suis en train de réfléchir pour le plan de mon document afin de partir sur une bonne base avant de me lancer dans les recherches, la rédaction, et la mise en pratique ^^

                            Sujet (merci gbdivers) :

                            Écosystème du C++. Qu'est ce qui constitue l'écosystème d'un langage ? (outils de compilation, de vérification, de tests, de paquetage, d'édition, de partage de code, de gestion des bug reports, etc). Quelles sont les spécificités du C++, ressemblances et différences avec les autres langages ?

                            Pour le premier point "outils de compilation" :

                            • Préprocesseur,
                            • Compilateur,
                            • Éditeur de lien.

                            Je vais expliquer le fonctionnement, le rôle, les outils et faire des exemples de chaque points ( code sources, schémas, ... ).

                            Pour le second élément "Vérification" qu'entendez-vous par vérification ? ( vérification avant la compilation ? pendant ? ), idem pour les autres points "Test" ( logiciel permettant de tester son programme vous voulez dire ? ).

                            En soit, si vous pouvez me donner quelques petites pistes (pour chaque points) pour me mettre sur les rails afin que je puisse faire des recherches sur les bonnes notions sans partir dans tous les sens.

                            Merci :)

                            • Partager sur Facebook
                            • Partager sur Twitter

                            Etude technique du C++

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown