CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Comment comprendre profondément les structures et différent concept des languages de programations ?

Salut-les-khey2
Salut-les-khey2
Niveau 7
12 septembre 2021 à 11:08:03

J'ai suivi pas mal de formation, mais aucune d'entres elle ne s'attarde à expliquer en détail, c'est quoi exactement une classe, c'est quoi instancié, bref tout le vocabulaire, et la façon dont s'articules les différents élément d'un langage de prog

Vous avez des bonnes ressources à conseiller ?

Message édité le 12 septembre 2021 à 11:09:37 par Salut-les-khey2
Exkeez
Exkeez
Niveau 20
12 septembre 2021 à 11:57:31

En lisant la doc, et je dis pas ça pour te tacler, je programme depuis 4 ans (3 ans études + 1 ans pro), et c'est que y'a très peu de temps que j'ai commencé a m'attarder sur la doc, certes, ça prend du temps, mais en contrepartie tu comprends beaucoup mieux, juste un bête exemple, je fais de l'Angular depuis 3 ans, et c'est seulement il y a 4 mois que j'ai été comprendre le cycle de vie des components... or qu'avant je les utilisais a moitié et sans vraiment savoir à quoi ça servait.. xD

damsover
damsover
Niveau 5
12 septembre 2021 à 12:02:29

Pour moi ça a été expliquer par mes prof
Après tu peux poser la question sur un forum
Pour tout ces concept faut te faire des images mentales

Moi par exemple je vois une classe comme un moule et une instance de classe c'est comme un objet fabriqué à partir du moule

Message édité le 12 septembre 2021 à 12:02:43 par damsover
Salut-les-khey2
Salut-les-khey2
Niveau 7
12 septembre 2021 à 12:10:12

Le 12 septembre 2021 à 11:57:31 :
En lisant la doc, et je dis pas ça pour te tacler, je programme depuis 4 ans (3 ans études + 1 ans pro), et c'est que y'a très peu de temps que j'ai commencé a m'attarder sur la doc, certes, ça prend du temps, mais en contrepartie tu comprends beaucoup mieux, juste un bête exemple, je fais de l'Angular depuis 3 ans, et c'est seulement il y a 4 mois que j'ai été comprendre le cycle de vie des components... or qu'avant je les utilisais a moitié et sans vraiment savoir à quoi ça servait.. xD

Ouais je vois je suis d'accord avec toi mais la doc par du principe que tu maitrise parfaitement les concepts de base, c'est juste les spécificité qu'elles t'explique. Par exemple tu va avoir les différents objet manipulables, comment les manipuler elles va pas t'expliquer ce qu'est un objet.

C'est vraiment les concepts fondation commun à quasi tout les language que je souhaite comprendre, les intéraction entre le code et la machine.... je souhaite avoir un niveau précision le plus important possibles quitte à rentrer dans une grande complexité, pour avoir des fondation en béton armé.

Bien sur un tel niveau de compréhension n'est pas nécessaire pour simplement utilisée le code, y'a des choses que j'utilise, je fait intuitivement mais que je ne comprend pas réellement, dans l'essence. Et y'a toujours des petites questions qui viennent me tarauder au moment ou je fais les choses, sur le pourquoi du comment je le fais, comment je pourrais l'optimisé....

Azerban
Azerban
Niveau 16
12 septembre 2021 à 12:55:05

Il y a le livre de Bertrand Mayer : https://www.eyrolles.com/Informatique/Livre/conception-et-programmation-orientees-objet-9782212675009/

En revanche, je te préviens il est vraiment super complexe :noel:

Salut-les-khey2
Salut-les-khey2
Niveau 7
12 septembre 2021 à 13:28:41

Le 12 septembre 2021 à 12:55:05 :
Il y a le livre de Bertrand Mayer : https://www.eyrolles.com/Informatique/Livre/conception-et-programmation-orientees-objet-9782212675009/

En revanche, je te préviens il est vraiment super complexe :noel:

Sympa je vais aller checker ça :)

Pseudo supprimé
Pseudo supprimé 12 septembre 2021 à 14:04:59

Le 12 septembre 2021 à 12:10:12 :

Le 12 septembre 2021 à 11:57:31 :
En lisant la doc, et je dis pas ça pour te tacler, je programme depuis 4 ans (3 ans études + 1 ans pro), et c'est que y'a très peu de temps que j'ai commencé a m'attarder sur la doc, certes, ça prend du temps, mais en contrepartie tu comprends beaucoup mieux, juste un bête exemple, je fais de l'Angular depuis 3 ans, et c'est seulement il y a 4 mois que j'ai été comprendre le cycle de vie des components... or qu'avant je les utilisais a moitié et sans vraiment savoir à quoi ça servait.. xD

Ouais je vois je suis d'accord avec toi mais la doc par du principe que tu maitrise parfaitement les concepts de base, c'est juste les spécificité qu'elles t'explique. Par exemple tu va avoir les différents objet manipulables, comment les manipuler elles va pas t'expliquer ce qu'est un objet.

C'est vraiment les concepts fondation commun à quasi tout les language que je souhaite comprendre, les intéraction entre le code et la machine.... je souhaite avoir un niveau précision le plus important possibles quitte à rentrer dans une grande complexité, pour avoir des fondation en béton armé.

Bien sur un tel niveau de compréhension n'est pas nécessaire pour simplement utilisée le code, y'a des choses que j'utilise, je fait intuitivement mais que je ne comprend pas réellement, dans l'essence. Et y'a toujours des petites questions qui viennent me tarauder au moment ou je fais les choses, sur le pourquoi du comment je le fais, comment je pourrais l'optimisé....

T'as une analyse de la question extrêmement bonne pour, je suppose, un débutant. :ok:

Comme tu le soulignes y a deux types de concepts : les concepts propres au langage et les concepts généraux théoriques. Généralement les premiers sont des implémentations des seconds.

Un exemple typique de pourquoi lire la doc n'est pas la solution universelle : la documentation de Control.Monad. Bon courage pour comprendre ce qu'est une monade en te contenant de la documentation de l'implémentation des monades en Haskell.

Là où c'est vicieux c'est que certains concepts sont plus facilement compréhensibles par le seul prisme de leur implémentation, typiquement les classes. Y a beaucoup de gens qui confondent les classes d'un point de vue théorique et leur implémentation dans le langage de programmation qu'ils utilisent.

Typiquement les gens qui t'expliquent que tu peux pas faire de programmation orientée objet en C n'ont absolument pas compris ce qui fait l'essence des objets et de la programmation orientée objet. Même chose pour les gens qui pensent que obj.method(args) c'est orienté objet mais pas method(obj, args), tout ça c'est juste de la syntaxe et ce qui compte c'est comment la résolution est dispatchée.

Bref, pour en revenir à ta question de base à mon sens y a trois prismes par lesquels tu peux étudier un concept théorique et qui sont tous trois complémentaires

1) Étudier directement la théorie

Exemple, tu veux comprendre ce qu'est une classe ? Lis un bouquin de programmation orientée objet qui ne soit associé à aucun langage de programmation, juste un bouquin purement théorique.

Généralement n'importe quel bouquin fera l'affaire ou alors tu te rendras vite compte que le livre ne convient pas à tes attentes.

2) Étudier l'implémentation du concept dans les différents langages de programmation existants

Tu regardes comment fonctionnent les classes dans chaque langage et t'essaies d'inférer un modèle plus général.

3) Faire des recherches assez superficielles sur le concept

Souvent c'est un bon point de départ. Tu veux savoir ce qu'est une monade ? Cherche monade sur wikipedia, tu vas tomber sur un article quasiment imbitable mais toute la subtilité repose dans le quasiment. Le peu que tu comprendras t'aidera grandement à te mettre sur la bonne voie pour comprendre le concept. L'idée étant juste de gratter la surface pour comprendre le genre de concept qu'il s'agit.

Jency20
Jency20
Niveau 6
13 septembre 2021 à 19:29:37

Y a 1 classe Humain et 7 milliards d'objets Humain.

En général un objet c'est une zone de la mémoire de l'ordinateur qui a une certaine structure (définie par la classe de l'objet)

class PaireEntiers
{
    int premier;
    int deuxieme;
}

PaireEntiers ma_petite_paire { 1, 2 };

Dans la mémoire tu auras (en binaire) :
0000 0000 0000 0001 0000 0000 0000 0010 ____________________ ___________________ . . . premier . . . . . . . deuxieme

Si tu poses tes questions à Google en anglais et que tu regardes les résultats d'image (avec des schémas) tu devrais trouver ce que tu cherches.

Pseudo supprimé
Pseudo supprimé 13 septembre 2021 à 20:22:01

Le 13 septembre 2021 à 19:29:37 :
Y a 1 classe Humain et 7 milliards d'objets Humain.

En général un objet c'est une zone de la mémoire de l'ordinateur qui a une certaine structure (définie par la classe de l'objet)

class PaireEntiers
{
    int premier;
    int deuxieme;
}

PaireEntiers ma_petite_paire { 1, 2 };

Dans la mémoire tu auras (en binaire) :
0000 0000 0000 0001 0000 0000 0000 0010 ____________________ ___________________ . . . premier . . . . . . . deuxieme

Si tu poses tes questions à Google en anglais et que tu regardes les résultats d'image (avec des schémas) tu devrais trouver ce que tu cherches.

Merci d'illustrer pourquoi il ne faut jamais écouter qui que ce soit sur internet sur le moindre sujet théorique.

Ce dont tu parles c'est juste la notion de type produit (ou de structure pour reprendre la terminologie de C). Prétendre expliquer la notion d'objet sans parler d'encapsulation et de polymorphisme c'est quand même du sacré foutage de gueule ou la preuve d'une incompréhension totale du concept.

C'est un peu comme si on te demandait de définir ce qu'est un pointeur et que tu répondais "c'est un entier".

Bref, je réitère mon conseil à l'auteur : lis des bouquins.

Salut-les-khey2
Salut-les-khey2
Niveau 7
14 septembre 2021 à 01:46:35

Le 13 septembre 2021 à 20:22:01 :

Le 13 septembre 2021 à 19:29:37 :
Y a 1 classe Humain et 7 milliards d'objets Humain.

En général un objet c'est une zone de la mémoire de l'ordinateur qui a une certaine structure (définie par la classe de l'objet)

class PaireEntiers
{
    int premier;
    int deuxieme;
}

PaireEntiers ma_petite_paire { 1, 2 };

Dans la mémoire tu auras (en binaire) :
0000 0000 0000 0001 0000 0000 0000 0010 ____________________ ___________________ . . . premier . . . . . . . deuxieme

Si tu poses tes questions à Google en anglais et que tu regardes les résultats d'image (avec des schémas) tu devrais trouver ce que tu cherches.

Merci d'illustrer pourquoi il ne faut jamais écouter qui que ce soit sur internet sur le moindre sujet théorique.

Ce dont tu parles c'est juste la notion de type produit (ou de structure pour reprendre la terminologie de C). Prétendre expliquer la notion d'objet sans parler d'encapsulation et de polymorphisme c'est quand même du sacré foutage de gueule ou la preuve d'une incompréhension totale du concept.

C'est un peu comme si on te demandait de définir ce qu'est un pointeur et que tu répondais "c'est un entier".

Bref, je réitère mon conseil à l'auteur : lis des bouquins.

Merci pour les conseils, effectivement je débute, et je compte partir sur le bouquin de bertrand meyer, j'ai regarder vite fait une de ces conf et j'aime bien son approche "Penser comme un ordinateur, pour comprendre l'ordinalteur" :)

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment