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
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.
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.
Je recherche un CDI/CDD/mission freelance comme Architecte Logiciel/ Expert Technique sur technologies Microsoft.
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)
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++
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
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)
(Par contre ces éléments sont annexes au langage).
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 !!!!
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
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)
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 !
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.
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
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
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.
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C
Discord NaN. Mon site.
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C