Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4249 connectés 

 

Sujet(s) à lire :
    - Who's who@Programmation
 

 Mot :   Pseudo :  
  Aller à la page :
 
 Page :   1  2  3  4  5  ..  23265  23266  23267  ..  27198  27199  27200  27201  27202  27203
Auteur Sujet :

[blabla@olympe] Le topic du modo, dieu de la fibre et du monde

n°2351924
Xavier_OM
Monarchiste régicide (fr quoi)
Posté le 17-04-2020 à 12:20:17  profilanswer
 

Reprise du message précédent :

masklinn a écrit :

Sinon, partager du code entre des projets, actuellement c’est dupliqué mais c’est pas pérenne parce qu’on oublie régulièrement de synchroniser donc la partie pseudo-partagée diverge au fur et à mesure
 

  • Touche à rien malheureux!
  • dépendance externe bien lourde à publier, installer, updated régulièrement sur toutes les machines via package manager, …
  • git subtree
  • la réponse D
  • git submodule
  • autre (proposer)
  • je klaxonne


Un bon vieux dépôt monolithique ?


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
mood
Publicité
Posté le 17-04-2020 à 12:20:17  profilanswer
 

n°2351925
Jubijub
Parce que je le VD bien
Posté le 17-04-2020 à 12:29:24  profilanswer
 

gzii a écrit :


C'est si horrible ?  :lol:  
Je sais j'ai plein de trucs à apprendre, mais il est impératif que je le fasse par étape j'ai trop peu de temps restant (j'ai beau essayer d'en créer...).


Les variables en français
 
 

Xavier_OM a écrit :


 
Use more braces luke  

Code :
  1. std::unique_ptr<BstNode<int>> D { new BstNode<int> {2, nullptr, nullptr} };


 [:eneytihi:6]  
 
Sinon avec make_unique tu vas devoir te rajouter un helper du genre (je tape ça au feeling pas trop sûr de la syntaxe) :  

Code :
  1. template<typename T>
  2. std::initializer_list<T> make_initlist(std::initializer_list<T>&& list) {
  3.     return list;
  4. }


Pour faire un truc comme make_unique<T>(make_initlist({a, b, c})) car hélas :  

  • make_unique est une fonction template qui déduit le type des arguments à passer au constructeur de T
  • les braced lists ne sont pas déductible  [:pingpetrus]  



 
ça marche avec les braces...je comprends pas pourquoi cependant
 

theShockWave a écrit :


 
Déclare un constructeur qui prend les paramètres que tu veux parce que là, tu n'en as pas.
 
std::make_unique est en C++14, tu n'y as pas accès ?
Tu comptes utiliser des exceptions dans ton projet ?
 


c'était l'autre option que j'aurais tenté, mais je voulais voir si il y avait un moyen d'éviter ça (en contexte d'interview, le code que tu n'as pas à taper c'est toujours ça de pris)
j'ai mis mon compilo en C++17. J'ai essayé make_unique mais j'ai pas trouvé de syntaxe qui fasse que ça fonctionne (un make_unique de nullptr)
c'est pas un projet, c'est vraiment juste une structure de base pour pouvoir coder des algos BST
 
 


---------------
Jubi Photos : Flickr - 500px
n°2351926
Jubijub
Parce que je le VD bien
Posté le 17-04-2020 à 12:37:06  profilanswer
 

masklinn a écrit :

Sinon, partager du code entre des projets, actuellement c’est dupliqué mais c’est pas pérenne parce qu’on oublie régulièrement de synchroniser donc la partie pseudo-partagée diverge au fur et à mesure
 

  • Touche à rien malheureux!
  • dépendance externe bien lourde à publier, installer, updated régulièrement sur toutes les machines via package manager, …
  • git subtree
  • la réponse D
  • git submodule
  • autre (proposer)
  • je klaxonne


Xavier_OM a écrit :


 
Un bon vieux dépôt monolithique ?


+1, chez nous ça marche :D  
par contre ça crée d'autres problèmes : il ne peut exister que une et une seule version de n'importe quelle lib, donc tous les projets doivent monter de version en meme temps
 
https://research.google/pubs/pub45424/
https://medium.com/@Jakeherringbone [...] 5d1d6fcebe


---------------
Jubi Photos : Flickr - 500px
n°2351927
ratibus
Posté le 17-04-2020 à 12:49:34  profilanswer
 

masklinn a écrit :

Sinon, partager du code entre des projets, actuellement c’est dupliqué mais c’est pas pérenne parce qu’on oublie régulièrement de synchroniser donc la partie pseudo-partagée diverge au fur et à mesure
 

  • Touche à rien malheureux!
  • dépendance externe bien lourde à publier, installer, updated régulièrement sur toutes les machines via package manager, …
  • git subtree
  • la réponse D
  • git submodule
  • autre (proposer)
  • je klaxonne

n°2351928
ratibus
Posté le 17-04-2020 à 12:50:36  profilanswer
 

Jubijub a écrit :


+1, chez nous ça marche :D  
par contre ça crée d'autres problèmes : il ne peut exister que une et une seule version de n'importe quelle lib, donc tous les projets doivent monter de version en meme temps

https://research.google/pubs/pub45424/
https://medium.com/@Jakeherringbone [...] 5d1d6fcebe


Si tu gères tes libs pour gérer correctement les b/c breaks t'as pas de souci.

n°2351929
Elmoricq
Posté le 17-04-2020 à 13:01:31  profilanswer
 

masklinn a écrit :

Sinon, partager du code entre des projets, actuellement c’est dupliqué mais c’est pas pérenne parce qu’on oublie régulièrement de synchroniser donc la partie pseudo-partagée diverge au fur et à mesure

 
  • Touche à rien malheureux!
  • dépendance externe bien lourde à publier, installer, updated régulièrement sur toutes les machines via package manager, …
  • git subtree
  • la réponse D
  • git submodule
  • autre (proposer)
  • je klaxonne


Je vais partir du  principe que c'est du code réutilisable sur n projets (n repos git)

 

Mon favori : dépendance externe. Les galères que tu mentionnes c'est l'autre face de la pièce qui te permet de mettre à jour des installs de projets entiers juste en mettant à jour une lib. Les évolutions/maintenances sur une lib aux responsabilités bien identifiées sont plus rapide à faire et à tester.
Et l'isolement  du code ça  permet de garantir le cloisonnement des responsabilités.

 

Seconde solution : git submoduleG
J'aime pas les submodules, c'est chiant et ça te garantit pas que tous les projets utilisant le code réutilisable aient la même  version de celui-ci. Mais au moins c'est séparé, avec une ci dédiée et un scope bien défini.

n°2351930
Plam
Bear Metal
Posté le 17-04-2020 à 13:03:07  profilanswer
 

masklinn a écrit :


 
Ils viennent de sortir le Define 7 d’ailleurs :o


 
Que j'ai pris du coup [:dawa]
 
Produit de première nécessité s'il en ait, vu la gueule de mon boîtier à l'heure actuelle :o


---------------
Spécialiste du bear metal
n°2351931
Xavier_OM
Monarchiste régicide (fr quoi)
Posté le 17-04-2020 à 13:05:26  profilanswer
 

Jubijub a écrit :


j'ai mis mon compilo en C++17. J'ai essayé make_unique mais j'ai pas trouvé de syntaxe qui fasse que ça fonctionne (un make_unique de nullptr)
c'est pas un projet, c'est vraiment juste une structure de base pour pouvoir coder des algos BST
 


 
 
J'ai testé du coup, et mon histoire de make_initlist ne marcherait qu'avec des arguments du même type. En fait il te faudrait limite un truc comme ça pour que ça marche :  

Code :
  1. template<typename T, typename... Args>
  2. auto my_make_unique(Args&&... args) -> std::unique_ptr<T> {
  3.     if constexpr (std::is_constructible<T, Args...>::value)
  4.         return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
  5.     else
  6.         return std::unique_ptr<T>(new T{std::forward<Args>(args)...});
  7. }
  8. auto x = my_make_unique<BstNode<int>>(2, nullptr, nullptr);


 
sauf que ben voilà t'as pas vraiment envie de rajouter un wrapper juste pour ça  [:spamafote]


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
n°2351935
koskoz
They see me trollin they hatin
Posté le 17-04-2020 à 13:47:10  profilanswer
 

Hop, +1.3k morts en Chine :o


---------------
Twitter
n°2351936
el_barbone
too old for this shit ...
Posté le 17-04-2020 à 13:50:25  profilanswer
 

koskoz a écrit :

Hop, +1.3k morts en Chine :o


il en manque toujours 55K + :o


---------------
En théorie, la théorie et la pratique sont identiques, en pratique, non.
mood
Publicité
Posté le 17-04-2020 à 13:50:25  profilanswer
 

n°2351938
masklinn
í dag viðrar vel til loftárása
Posté le 17-04-2020 à 13:53:40  profilanswer
 

Xavier_OM a écrit :

Un bon vieux dépôt monolithique ?


Jubijub a écrit :

+1, chez nous ça marche :D  
par contre ça crée d'autres problèmes : il ne peut exister que une et une seule version de n'importe quelle lib, donc tous les projets doivent monter de version en meme temps
 
https://research.google/pubs/pub45424/
https://medium.com/@Jakeherringbone [...] 5d1d6fcebe


Habituellement oui mais la c’est vraiment pas une option acceptable pour le coup.  

Elmoricq a écrit :

Je vais partir du  principe que c'est du code réutilisable sur n projets (n repos git)
 
Mon favori : dépendance externe. Les galères que tu mentionnes c'est l'autre face de la pièce qui te permet de mettre à jour des installs de projets entiers juste en mettant à jour une lib. Les évolutions/maintenances sur une lib aux responsabilités bien identifiées sont plus rapide à faire et à tester.  
Et l'isolement  du code ça  permet de garantir le cloisonnement des responsabilités.  
 
Seconde solution : git submoduleG  
J'aime pas les submodules, c'est chiant et ça te garantit pas que tous les projets utilisant le code réutilisable aient la même  version de celui-ci. Mais au moins c'est séparé, avec une ci dédiée et un scope bien défini.


[:romf]


Message édité par masklinn le 17-04-2020 à 13:54:20

---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2351939
Shinuza
This is unexecpected
Posté le 17-04-2020 à 13:55:43  profilanswer
 

masklinn a écrit :

Sinon, partager du code entre des projets, actuellement c’est dupliqué mais c’est pas pérenne parce qu’on oublie régulièrement de synchroniser donc la partie pseudo-partagée diverge au fur et à mesure
 

  • Touche à rien malheureux!
  • dépendance externe bien lourde à publier, installer, updated régulièrement sur toutes les machines via package manager, …
  • git subtree
  • la réponse D
  • git submodule
  • autre (proposer)
  • je klaxonne

J'ai fait le 2, c'est compliqué. On a simplifié les branches sur ces projets en laissant juste la master et en mettant une review au lieu de deux sinon y'a trop de friction pour publier un truc. En plus on lock nos dépendances (python via pipenv) donc ça reste contraignant.

Je pense que le mieux ça serait d'avoir un mix entre un répo mono et une gestion lockée des deps.


---------------
Mains power can kill, and it will hurt the entire time you’re dying from it.
n°2351941
gzii
court-circuit
Posté le 17-04-2020 à 14:18:46  profilanswer
 

masklinn a écrit :


Je suis pas dans le C++ mais entre les imports directs de libc, les arrays & pointeurs bruts, les new ça semble quand même assez emblématique du “C with classes” non? Surtout avec toutes les déclarations de variable tout en haut des fonctions à la C89.


 

el muchacho a écrit :


Disons que... [:corten:2]
 
Xavier_OM avait raison, c'est du C avec des classes [:petrus75], on codait comme ça en 1998.  
 

Spoiler :

[:j_d_]


 
L'avantage, c'est que comme tu as les bases, tu vas pouvoir apprendre un nouveau langage, qui s'appelle le C++ moderne (11, 14, 17 au choix). Au début, ça fait un choc :o
 
Sinon, pour ton bout de code, là, comme j'ai aucune idée de ce qu'il fait et que la classe n'est pas complète, je ne vais pas pouvoir aider.
 
(et demande à masklinn quelles sont les bonnes balises pour que l'indentation soit correcte :o )


 
Oui comme je l'ai dit c'est du C avec classes, j'ai été minimaliste dans ce que j'ai pu apprendre, faute entre autres de temps et de volonté plus large que de réaliser ce projet sur le moment.
Et sinon la classe est complète et fonctionne bien, pas de problème là-dessus ;)
Si mon C avec classe est pas trop horrible pour du C avec classes, c'est déjà ça.
 
Maintenant il reste à voir comment m'orienter pour petit-à-petit, en très peu de temps, pouvoir y introduire des concepts plus récents.
C'est surtout ça mon challenge car j'ai pas le temps de me taper 1400 pages sur le sujet, j'ai déjà trop de livres en cours sur musique, composition, écriture, dessin, web dev, organisation du temps etc. :D

n°2351942
gzii
court-circuit
Posté le 17-04-2020 à 15:31:51  profilanswer
 

Bon je n'ai pas trouvé de livre super court mais on m'a conseillé A Tour Of C++ qui est relativement court.

Message cité 1 fois
Message édité par gzii le 17-04-2020 à 15:32:05
n°2351943
Elmoricq
Posté le 17-04-2020 à 15:40:47  profilanswer
 

Du coup si tu as aussi peu de temps pour en apprendre les arcanes, est-ce que tu as intérêt à rester sur du C++ dont les cas d'usages sont quand même assez spécifiques, et qui demande pas mal d'investissement pour pas faire de bétises avec ?
 
Tu n'aurais pas intérêt à te trouver un langage de plus haut niveau pour faire direct ce que tu veux faire de façon efficace (Node.js, Python,  ...) ?

Message cité 1 fois
Message édité par Elmoricq le 17-04-2020 à 15:41:21
n°2351945
Jubijub
Parce que je le VD bien
Posté le 17-04-2020 à 16:13:59  profilanswer
 

gzii a écrit :

Bon je n'ai pas trouvé de livre super court mais on m'a conseillé A Tour Of C++ qui est relativement court.


je le trouve assez particulier ce bouquin pour apprendre... en gros t'as Stroustrup qui présente les concepts, mais ça présuppose déjà une bonne compréhension du C++ de version antérieure. Je dirais que c'est une intro à C++17 si tu connais déjà C++98. Mais si c'est pas le cas c'est un peu ardu à suivre.
 
En cours et online tu as toujours learningcpp.com qui est pas mal : plus profond qu'une intro à base d'app genre Sololearn, mais moins indigeste qu'un C++ primer qui fait pas loin de 1000 pages, et va à fond dans le détail de tout, et qui est presque aussi une intro à la programmation.


---------------
Jubi Photos : Flickr - 500px
n°2351947
hephaestos
Sanctis Recorda, Sanctis deus.
Posté le 17-04-2020 à 17:20:30  profilanswer
 

Jubijub a écrit :


 
ça marche avec les braces...je comprends pas pourquoi cependant
 


Autant que je sache, une structure n'a jamais de constructeur : Tu dois l'initialiser avec des braces. (Et maintenant tu peux utiliser les agrégats pour toujours plus d'expressivité ! https://en.cppreference.com/w/cpp/l [...] alization)

n°2351948
gzii
court-circuit
Posté le 17-04-2020 à 17:24:26  profilanswer
 

Elmoricq a écrit :

Du coup si tu as aussi peu de temps pour en apprendre les arcanes, est-ce que tu as intérêt à rester sur du C++ dont les cas d'usages sont quand même assez spécifiques, et qui demande pas mal d'investissement pour pas faire de bétises avec ?
 
Tu n'aurais pas intérêt à te trouver un langage de plus haut niveau pour faire direct ce que tu veux faire de façon efficace (Node.js, Python,  ...) ?


Ben en fait mon C++ C objet fonctionne bien et n'est pas si long à faire, et vu ce que je fais avec en python c'est même pas envisageable.
C'est surtout que j'aimerais moderniser mon écriture donc faire un rapide tour d'horizon des concepts «récents». Si je n'en comprends pas un il est toujours temps de jeter un oeil approfondi sur le sujet.
Puis ne pas faire de bêtise ? Je pensais que le C++ récent était justement un peu plus facile de ce côté là et que c'était un de ses avantage ? (smart pointers, vector, etc.)
 
Le python3 j'en fais déjà pas mal donc j'ai un aperçu. J'aime bien d'ailleurs, c'est rapide de faire des maquettes.

Message cité 2 fois
Message édité par gzii le 17-04-2020 à 17:27:40
n°2351949
gzii
court-circuit
Posté le 17-04-2020 à 17:26:15  profilanswer
 

Jubijub a écrit :


je le trouve assez particulier ce bouquin pour apprendre... en gros t'as Stroustrup qui présente les concepts, mais ça présuppose déjà une bonne compréhension du C++ de version antérieure. Je dirais que c'est une intro à C++17 si tu connais déjà C++98. Mais si c'est pas le cas c'est un peu ardu à suivre.
 
En cours et online tu as toujours learningcpp.com qui est pas mal : plus profond qu'une intro à base d'app genre Sololearn, mais moins indigeste qu'un C++ primer qui fait pas loin de 1000 pages, et va à fond dans le détail de tout, et qui est presque aussi une intro à la programmation.


Oui merci.
Oui si je ne connais pas un truc je chercherai et il est probable que les concepts j'en connaisse déjà pas mal.
Et je comprends vite. Je préfère un truc un peu serré quitte à être moins buvable et faire une étape en plus si je bute.

n°2351950
masklinn
í dag viðrar vel til loftárása
Posté le 17-04-2020 à 17:50:06  profilanswer
 

hephaestos a écrit :


Autant que je sache, une structure n'a jamais de constructeur


En C++ tu peux mettre un ctor sur une struct. Tu peux même faire de l’héritage.


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2351951
Elmoricq
Posté le 17-04-2020 à 17:54:54  profilanswer
 

gzii a écrit :


Ben en fait mon C++ C objet fonctionne bien et n'est pas si long à faire, et vu ce que je fais avec en python c'est même pas envisageable.
C'est surtout que j'aimerais moderniser mon écriture donc faire un rapide tour d'horizon des concepts «récents». Si je n'en comprends pas un il est toujours temps de jeter un oeil approfondi sur le sujet.
Puis ne pas faire de bêtise ? Je pensais que le C++ récent était justement un peu plus facile de ce côté là et que c'était un de ses avantage ? (smart pointers, vector, etc.)

 

Le python3 j'en fais déjà pas mal donc j'ai un aperçu. J'aime bien d'ailleurs, c'est rapide de faire des maquettes.


C'était une question ouverte, et de la pure curiosité, pas une critique.
Le C++ est pas l'outil le plus adapté pour produire vite dans un investissement de temps raisonnable (il a d'autres avantages hein), et donc vu ton discours je me demandais simplement s'il n'était pas judicieux de choisir un autre outil.


Message édité par Elmoricq le 17-04-2020 à 17:55:45
n°2351952
gzii
court-circuit
Posté le 17-04-2020 à 18:02:20  profilanswer
 

Oui je comprends.
Surtout que mon discours est flou.
Je suis tout seul à faire mon truc de mon côté donc si ce n'était pas la curiosité et l'envie de m'améliorer, je pourrais continuer comme je fais.
Et faut toujours que je voie mieux le Rust qui pourrait aussi répondre.
Mais bon le C++ c'est une question de culture aussi, il y a pas mal de concepts et ça va me faire du bien de les voir ou revoir.
Mais bon mon serveur de comptage répond déjà instantané (vraiment) quand on fait une requête de sélection sur 10 millions d'adresses, croisement de populations etc.
Ça tourne vite j'ai pas à me plaindre. En python... C'est juste pas la même dimension.
Surtout avec mon truc compilé en -O3.

Message cité 1 fois
Message édité par gzii le 17-04-2020 à 18:06:41
n°2351953
theShockWa​ve
I work at a firm named Koslow
Posté le 17-04-2020 à 18:16:37  profilanswer
 

masklinn a écrit :


En C++ tu peux mettre un ctor sur une struct. Tu peux même faire de l’héritage.


This.

 

La seule différence entre struct est class, c'est que dans une struct, la visibilité par défaut, c'est public, contre private pour une classe.

 

Les braces, c'est la manière héritée du C pour initialiser les membres d'une structure (ou éléments d'un tableau) un à un, et c'est ce que les intializer lists tentent de généraliser (mais bon, je peux pas m'empêcher de trouver que c'est une généralisation faite avec dus scotch et du carton :o )


Message édité par theShockWave le 17-04-2020 à 18:16:50

---------------
last.fm
n°2351954
Jubijub
Parce que je le VD bien
Posté le 17-04-2020 à 18:25:30  profilanswer
 

hephaestos a écrit :


Autant que je sache, une structure n'a jamais de constructeur : Tu dois l'initialiser avec des braces. (Et maintenant tu peux utiliser les agrégats pour toujours plus d'expressivité ! https://en.cppreference.com/w/cpp/l [...] alization)


heu c'est cool ce truc ! ça ressemble à un with :)
 

masklinn a écrit :


En C++ tu peux mettre un ctor sur une struct. Tu peux même faire de l’héritage.


de ce que j'en ai compris, une struct et une classe c'est pareil, sauf que la classe te permet de jouer avec la visibilité des membres alors qu'une struct est totalement publique ?
 

gzii a écrit :

Oui je comprends.
Surtout que mon discours est flou.
Je suis tout seul à faire mon truc de mon côté donc si ce n'était pas la curiosité et l'envie de m'améliorer, je pourrais continuer comme je fais.
Et faut toujours que je voie mieux le Rust qui pourrait aussi répondre.
Mais bon le C++ c'est une question de culture aussi, il y a pas mal de concepts et ça va me faire du bien de les voir ou revoir.
Mais bon mon serveur de comptage répond déjà instantané (vraiment) quand on fait une requête de sélection sur 10 millions d'adresses, croisement de populations etc.
Ça tourne vite j'ai pas à me plaindre. En python... C'est juste pas la même dimension.
Surtout avec mon truc compilé en -O3.


fais toi un tuto de C++ genre https://www.learncpp.com/  
tu verras directement les façons "recentes" de faire (un des challenges du C++ plus que dans d'autres langages c'est que l'age de la doc impacte pas mal la tete du code, même si C++11 semble etre le gros pivot. Je trouve qu'en Python par ex t'as essentiellement 2 versions : Python 2, et Python >3.3, et encore les différences sont pas folles si tu exclues les string, ls tableaux de bytes et le print() statement.
 
perso je trouve le C++ intéressant parce que ça m'oblige à comprendre des concepts dont j'ai jamais eu à me soucier jusque là, par ex les pointeurs, ou cette notion constante d'efficacité du code (pour caricaturer, en Python je fais juste gaffe à pas garder des references sur des objets dont j'ai plus besoin). Par contre pour quelqu'un qui maitrise déjà ces concepts,t'as du choix en langage récents...
 


---------------
Jubi Photos : Flickr - 500px
n°2351955
gzii
court-circuit
Posté le 17-04-2020 à 18:27:40  profilanswer
 

Oui les pointeurs j'avais déjà vu ça en assembleur et c'est aussi pour ça que j'ai eu tendance à rester sur un code assez bas niveau.
Et les références d'objets je les vois toujours comme des pointeurs aussi.
D'ailleurs j'utilise naturellement plus facilement la petite flèche -> que le point.


Message édité par gzii le 17-04-2020 à 18:29:37
n°2351956
___alt
Posté le 17-04-2020 à 18:40:02  profilanswer
 


 

Citation :

Q: NOOOOOOOOOOO!!! YOU CAN'T TURN A DFA INTO A FAT32 FILE SYSTEM!!!! YOU CAN'T JUST HAVE A DIRECTORY WITH MULTIPLE PARENTS!!! YOU ARE BREAKING THE ASSUMPTION OF LACK OF LOOPERINOS NOOOOOOOOO
 
A: Haha OS-driven regex engine go brrrrr


 
[:zirk]


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2351957
el muchach​o
Comfortably Numb
Posté le 17-04-2020 à 19:23:11  profilanswer
 

gzii a écrit :


Ben en fait mon C++ C objet fonctionne bien et n'est pas si long à faire, et vu ce que je fais avec en python c'est même pas envisageable.
C'est surtout que j'aimerais moderniser mon écriture donc faire un rapide tour d'horizon des concepts «récents». Si je n'en comprends pas un il est toujours temps de jeter un oeil approfondi sur le sujet.
Puis ne pas faire de bêtise ? Je pensais que le C++ récent était justement un peu plus facile de ce côté là et que c'était un de ses avantage ? (smart pointers, vector, etc.)

 

Le python3 j'en fais déjà pas mal donc j'ai un aperçu. J'aime bien d'ailleurs, c'est rapide de faire des maquettes.


Le mieux, c'est qu'on te dise quoi apprendre dans un premier temps pour moderniser ton code sans t'enfoncer dans les détails, et ce que tu peux laisser de coté.

 

Si tu as un temps limité, je dirais que tu peux apprendre en priorité:
- unique et shared pointers et make_unique
- containers + iterators + for-each
- auto et inférence de type
- constexpr
- enum classes
- lambda (même si tu peux t'en passer la plupart du temps)

 

Avec ça tu as 80-90% de l'utilité du C++ "moderne" et ça clarifiera déjà grandement ton code. Et il n'y a pas trop de concept difficile dans les topics ci-dessus.

 

Ce que tu peux laisser de coté dans un premier temps:
- la sémantique de move (ce n'est qu'une optimisation, même si c'est bien de la comprendre)
- à peu près tout le reste, sauf pour quelques détails de syntaxe à la con

 

Mais dans un second temps, il sera probablement nécessaire d'aller dans les détails au moins une fois.

Message cité 1 fois
Message édité par el muchacho le 17-04-2020 à 19:31:33

---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2351958
___alt
Posté le 17-04-2020 à 19:43:38  profilanswer
 

masklinn a écrit :

Sinon, partager du code entre des projets, actuellement c’est dupliqué mais c’est pas pérenne parce qu’on oublie régulièrement de synchroniser donc la partie pseudo-partagée diverge au fur et à mesure
 

  • Touche à rien malheureux!
  • dépendance externe bien lourde à publier, installer, updated régulièrement sur toutes les machines via package manager, …
  • git subtree
  • la réponse D
  • git submodule
  • autre (proposer)
  • je klaxonne


Le fait que les projets utilisent des versions différentes du code partagé c'est un problème ?


---------------
TRIPS RIGHT BUNCH F SHUTTLE TOM AND JERRY RIGHT YELLOW
n°2351959
ratibus
Posté le 17-04-2020 à 19:57:16  profilanswer
 

Et on parle de combien de projets surtout.

n°2351960
gzii
court-circuit
Posté le 17-04-2020 à 19:59:53  profilanswer
 

el muchacho a écrit :


Le mieux, c'est qu'on te dise quoi apprendre dans un premier temps pour moderniser ton code sans t'enfoncer dans les détails, et ce que tu peux laisser de coté.
 
Si tu as un temps limité, je dirais que tu peux apprendre en priorité:
- unique et shared pointers et make_unique
- containers + iterators + for-each
- auto et inférence de type
- constexpr
- enum classes
- lambda (même si tu peux t'en passer la plupart du temps)
 
Avec ça tu as 80-90% de l'utilité du C++ "moderne" et ça clarifiera déjà grandement ton code. Et il n'y a pas trop de concept difficile dans les topics ci-dessus.
 
Ce que tu peux laisser de coté dans un premier temps:
- la sémantique de move (ce n'est qu'une optimisation, même si c'est bien de la comprendre)
- à peu près tout le reste, sauf pour quelques détails de syntaxe à la con
 
Mais dans un second temps, il sera probablement nécessaire d'aller dans les détails au moins une fois.


Merci ! :jap:
Je copie ta liste dans mes fichiers et j'attaque ça.

n°2351961
masklinn
í dag viðrar vel til loftárása
Posté le 17-04-2020 à 20:01:57  profilanswer
 

___alt a écrit :

Le fait que les projets utilisent des versions différentes du code partagé c'est un problème ?


Non, le problème c'est surtout qu'ils divergent parce qu'ils sont pas formellement synchronisés donc un truc est implémenté dans un, puis on se rend compte que l'autre en a besoin aussi donc on le met là bas, mais régulièrement on fait pas le transfert, ...


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2351962
Xavier_OM
Monarchiste régicide (fr quoi)
Posté le 17-04-2020 à 20:20:59  profilanswer
 

Jubijub a écrit :


de ce que j'en ai compris, une struct et une classe c'est pareil, sauf que la classe te permet de jouer avec la visibilité des membres alors qu'une struct est totalement publique ?


 
Même pas en fait, c'est la même chose à part que struct = publique par défaut et class = private par défaut


---------------
Il y a autant d'atomes d'oxygène dans une molécule d'eau que d'étoiles dans le système solaire.
n°2351963
SekYo
Posté le 17-04-2020 à 20:25:24  profilanswer
 

C'est étonnant qu'après 2 pages de discussions sur le C++ personne ait encore lâché un "mais refait le en Rust" :D

n°2351964
Elmoricq
Posté le 17-04-2020 à 20:31:22  profilanswer
 

SekYo a écrit :

C'est étonnant qu'après 2 pages de discussions sur le C++ personne ait encore lâché un "mais refait le en Rust" :D


Ben non il a dit que son code fonctionne et fait le taf, on répare pas ce qui est pas cassé :o


Message édité par Elmoricq le 17-04-2020 à 20:32:05
n°2351965
masklinn
í dag viðrar vel til loftárása
Posté le 17-04-2020 à 20:48:02  profilanswer
 

SekYo a écrit :

C'est étonnant qu'après 2 pages de discussions sur le C++ personne ait encore lâché un "mais refait le en Rust" :D


C’est parti de jubi qui fait du C++ parce que c’est un langage eng chez Google, “fais du rust” l’aiderait malheureusement pas trop (même si il commence à y en avoir, genre il y en a dans Fuschia)


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2351966
gzii
court-circuit
Posté le 17-04-2020 à 21:03:52  profilanswer
 

J'ai commencé à faire quelques tests en Rust.
Je ne suis pas contre en faire, je trouve le traitement de certaines choses élégant.
Mais chaque chose en son temps (j'ai déjà tendance à vouloir tout faire en même temps).
Déjà je vais essayer de faire une version C++ vraiment ++ :lol:


Message édité par gzii le 17-04-2020 à 21:04:44
n°2351967
Plam
Bear Metal
Posté le 17-04-2020 à 21:32:50  profilanswer
 

3 participants réguliers à ce topic se cachent dans ce blog post, sauras tu les trouver ? (comptez moi :o )

 

https://xcp-ng.org/blog/2020/04/17/ [...] or-xcp-ng/

 

edit : remarque c'est pas si trivial en fait [:ddr555]

Message cité 4 fois
Message édité par Plam le 17-04-2020 à 21:33:29

---------------
Spécialiste du bear metal
n°2351968
el muchach​o
Comfortably Numb
Posté le 17-04-2020 à 21:49:39  profilanswer
 

15 devs ! C'est une grosse affaire, ton truc.


---------------
Les aéroports où il fait bon attendre, voila un topic qu'il est bien
n°2351969
R3g
fonctionnaire certifié ITIL
Posté le 17-04-2020 à 21:56:00  profilanswer
 

Plam a écrit :

3 participants réguliers à ce topic se cachent dans ce blog post, sauras tu les trouver ? (comptez moi :o )
 
https://xcp-ng.org/blog/2020/04/17/ [...] or-xcp-ng/
 
edit : remarque c'est pas si trivial en fait [:ddr555]


Ronan, Bobby et Rushikesh ?


---------------
Au royaume des sourds, les borgnes sont sourds.
n°2351970
masklinn
í dag viðrar vel til loftárása
Posté le 17-04-2020 à 22:07:03  profilanswer
 

R3g a écrit :


Ronan, Bobby et Rushikesh ?


Le seul que je sais c’est Nicolas. Et Olivier? (mais je sais pas si il compte dans les 3).


---------------
I mean, true, a cancer will probably destroy its host organism. But what about the cells whose mutations allow them to think outside the box by throwing away the limits imposed by overbearing genetic regulations? Isn't that a good thing?
n°2351971
ratibus
Posté le 17-04-2020 à 22:14:11  profilanswer
 

Plam a écrit :

3 participants réguliers à ce topic se cachent dans ce blog post, sauras tu les trouver ? (comptez moi :o )
 
https://xcp-ng.org/blog/2020/04/17/ [...] or-xcp-ng/
 
edit : remarque c'est pas si trivial en fait [:ddr555]


Olivier, Nicolas et Pierre ?

Spoiler :

Et je connais Samuel :o

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2  3  4  5  ..  23265  23266  23267  ..  27198  27199  27200  27201  27202  27203

Aller à :
Ajouter une réponse
 

Sujets relatifs
Plus de sujets relatifs à : [blabla@olympe] Le topic du modo, dieu de la fibre et du monde


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)