01net    Web


Actuellement en ligne : 113 Utilisateurs dont 4 dans Programmation et développement >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par A.Ouloube, Beno@  
01net > Forum de 01net > Programmation et développement > C/C++
> POO, je peux l'apprendre ?
Passionné(e) d'internet, de logiciels, de forums ? 01net recrute...
Auteur
Message
 
<     1       >
Toshiba
  En galère... :D
  :-)
      ?   @     Posté le 13/08/2004 11:57:36  
Voter pour ce message
Bah voilà, a votre avis, je peux apprendre un language de prog orienté objet ou pas, c'est chaud ou pas ?
Nico5779
  ex-deus
  :-)
      ?   ^   @     Posté le 13/08/2004 11:59:56  
Voter pour ce message
ben si tu compte évolué un jour faudra bien y passer.
Harkonnen
  Comodo déporté
   
      ?   @     Posté le 13/08/2004 12:06:55  
Voter pour ce message
Bien sur que tu peux apprendre un langage OO.

As tu des notions de programmation procédurale ? Si oui, alors il faut savoir que l'OO, c'est une philosophie totalement différente (on parlera de paradigme). Un peu déroutant au 1er abord, mais bien vite on finit par se demander comment on a pu coder si longtemps en procédural.

N'importe qui peut apprendre, mais il est bien évident que ceux qui ont déjà fait de la programmation seront plus à l'aise.

D'un autre coté, se lancer dans l'OO directement sans passer par le procédural permet justement d'acquérir des habitudes propres en s'affranchissant de certaines bidouilles du procédural.

Maintenant, le choix du langage : si tu n'as aucune notion de programmation, oublie le C++, c'est clair ! Dirige toi plutot vers des langages comme Python, très simples d'emploi et OO.

Tu peux aussi t'essayer au C# ou Java. Ces 2 langages sont similaires sur pas mal de points, avec une préférence pour le C# qui gère les propriétés, les pointeurs de fonction sécurisés (delegate), etc...

Par la suite, si tu es de nature masochiste, tu pourras t'essayer au C++, mais là c'est une autre paire de manches. Le C++ a pour lui la généricité (par le biais des templates), et est compilé (alors que les précédents langages sont interprétés), améliorant la rapidité d'exécution. Mais alors, quelle complexité... Pour peu que tu t'aventures dans les templates, tu vas vite regretter ton choix. Mais d'un autre coté, la maitrise de ce langage te permet d'appréhender d'autres langages bien plus rapidement et aisément.
-------
L'assembleur c'est bon, mangez en
Toshiba
  En galère... :D
  :-)
      ?   @     Posté le 13/08/2004 12:07:29  
Voter pour ce message
Une petite question : Il vaut mieux commencer par le C ou C++ ?
Nico5779
  ex-deus
  :-)
      ?   ^   @     Posté le 13/08/2004 12:08:30  
Voter pour ce message
bah si tu compte faire de la poo, le c te sera pas fort utile.
Harkonnen
  Comodo déporté
   
      ?   @     Posté le 13/08/2004 12:08:58  
Voter pour ce message
Toshiba a écrit :
Une petite question : Il vaut mieux commencer par le C ou C++ ?


cf ma réponse précédente :

- le C n'est pas un langage orienté objet, donc à oublier dans ton cas précis,

- le C++ est un cauchemar pour les débutants, à proscrire
-------
L'assembleur c'est bon, mangez en
Nico5779
  ex-deus
  :-)
      ?   ^   @     Posté le 13/08/2004 12:10:06  
Voter pour ce message
Harkonnen a écrit :
- le C++ est un cauchemar pour les débutants, à proscrire




Pk? j'ai commencer par ca, et je dors toujours très bien.
Harkonnen
  Comodo déporté
   
      ?   @     Posté le 13/08/2004 12:22:41  
Voter pour ce message
Nico5779 a écrit :
Pk? j'ai commencer par ca, et je dors toujours très bien.


Les fonctionnalités de base n'ont rien de sorcier. Par contre, dés qu'il va vouloir se lancer dans l'héritage multiple, le typage dynamique, et autres joyeusetés, je lui souhaite bien du plaisir.

Et s'il lui prend l'idée de jouer avec les templates... bon courage ! Avec la spécialisation partielle, totale, et j'en passe, c'est un coup à se dégouter à vie de la prog.
-------
L'assembleur c'est bon, mangez en
Nico5779
  ex-deus
  :-)
      ?   ^   @     Posté le 13/08/2004 12:32:06  
Voter pour ce message
Harkonnen a écrit :
Les fonctionnalités de base n'ont rien de sorcier. Par contre, dés qu'il va vouloir se lancer dans l'héritage multiple, le typage dynamique, et autres joyeusetés, je lui souhaite bien du plaisir.

Et s'il lui prend l'idée de jouer avec les templates... bon courage ! Avec la spécialisation partielle, totale, et j'en passe, c'est un coup à se dégouter à vie de la prog.




Bah t'as exactement les meme notions en java (juste les templates qui deviennent inutile avec la classe Object), et pourtant c'est soi disant le language clé pour apprendre la poo.
Harkonnen
  Comodo déporté
   
      ?   @     Posté le 13/08/2004 12:43:23  
Voter pour ce message
Nico5779 a écrit :
Bah t'as exactement les meme notions en java (juste les templates qui deviennent inutile avec la classe Object), et pourtant c'est soi disant le language clé pour apprendre la poo.


Certes, mais en Java, t'as pas à te soucier de la gestion de la mémoire (une galère en C++).

De plus, le C++ possède une sémantique de valeur par défaut, ce qui oblige à travailler avec des pointeurs ou des références, une difficulté supplémentaire qui n'existe pas en Java où la sémantique par défaut est une sémantique de référence.

Je te passe également les constructeurs de recopie, la fameuse loi de Coplien, et plein d'autres joyeusetés comme seules le C++ est capable d'en produire...

Pour ce qui est de la généricité en Java, pourquoi est elle présente dans le JDK 1.5 si elle est inutile ?
-------
L'assembleur c'est bon, mangez en
Nico5779
  ex-deus
  :-)
      ?   ^   @     Posté le 13/08/2004 13:06:43  
Voter pour ce message
ben typiquement, les pointeurs et la gestion de la mémoire ce sont des notions que je trouve importante a maitriser des le debut, c'est pour ca que je deconseille des langages comme java ou php pour debuter, c'est d'ailleurs d'une certaine facon meme pour ca (tu va rire) que j'ai conseiller a zplay de commencer par l'assembleur, histoire de commencer par ce qui a de plus rudimentaire, pour avoir plus facile par la suite, en maitrisant bien tout les mecanismes des instructions des languages de plus haut niveau, mais hélas les résultats de l'expérience me laisse qd meme douté de l'efficacité de ma théorie :/ :D
skyman
  Manque d'energie ?!
  :-)
      ?   @     Posté le 13/08/2004 13:22:51  
Voter pour ce message
Nico5779 a écrit :
ben typiquement, les pointeurs et la gestion de la mémoire ce sont des notions que je trouve importante a maitriser des le debut, c'est pour ca que je deconseille des langages comme java ou php pour debuter, c'est d'ailleurs d'une certaine facon meme pour ca (tu va rire) que j'ai conseiller a zplay de commencer par l'assembleur, histoire de commencer par ce qui a de plus rudimentaire, pour avoir plus facile par la suite, en maitrisant bien tout les mecanismes des instructions des languages de plus haut niveau, mais hélas les résultats de l'expérience me laisse qd meme douté de l'efficacité de ma théorie :/ :D




Il est vrai que la notion de pointeur et de gestion de mémoire est importante. Mais y'a plus facile d'apprendre ces notions qu'en C++ quand meme. Parce que le probleme du C++ est qu'il y a d'autres trucs tres importants aussi à connaitre, et de tout apprendre en meme temps c'est chaud. C'est d'ailleurs pour cela que je trouve plus simple de commencer par un langage type Pascal ou C.
Harkonnen
  Comodo déporté
   
      ?   @     Posté le 13/08/2004 13:43:35  
Voter pour ce message
Personnellement, avec la tendance actuelle qui voit apparaitre de plus en plus de langages managés par garbage collector, je trouve que la gestion de la mémoire ne devrait plus être une préoccupation majeure des développeurs "modernes".

Par pitié, laissez là aux dinosaures du C, mais en 2004, utilisez un GC
-------
L'assembleur c'est bon, mangez en
skyman
  Manque d'energie ?!
  :-)
      ?   @     Posté le 13/08/2004 14:00:08  
Voter pour ce message
Harkonnen a écrit :
Personnellement, avec la tendance actuelle qui voit apparaitre de plus en plus de langages managés par garbage collector, je trouve que la gestion de la mémoire ne devrait plus être une préoccupation majeure des développeurs "modernes".

Par pitié, laissez là aux dinosaures du C, mais en 2004, utilisez un GC




Mais c'est comme ca qu'on arrive à un windows xp qui utilise 256Mo de mémoire vive. :/ Je pense que si la gestion de la mémoire était mieux faite, on arriverait à avoir des programmes n'utilisant que peu de mémoires.
Harkonnen
  Comodo déporté
   
      ?   @     Posté le 13/08/2004 14:20:20  
Voter pour ce message
Je le pense aussi, si je m'écoutais je coderais tous mes softs en assembleur.

Mais la tendance du marché est ainsi et on n'y peut rien. La tendance est à la réduction des couts de développement, et ça passe par tout un tas de mesures comme la délocalisation du personnel en Inde, ou l'adoption de langages à temps de développement réduit comme C# ou Java, voire VB.

Et pour l'utilisation de garbage collector, y'a 2 écoles : ceux qui pensent que la gestion de la mémoire est tellement importante qu'elle ne devrait pas être faite par le programmeur, et ceux qui pensent qu'elle est tellement importante qu'elle ne devrait être gérée que par le programmeur.

Personnellement, pour avoir vu trop de programmes troués, je suis à fond pour la 1ere solution.
-------
L'assembleur c'est bon, mangez en
koala01
  
   
      ?   @     Posté le 30/05/2005 12:28:13  
Voter pour ce message
Salut,

Je pense, contrairement à Harkonnen, que la gestion de la mémoire est tellement importante qu'elle ne devrait être gérée que par le programmeur...

Encore faut-il que le programmeur utilise de bonnes méthodes algoritmique logiques...

C'est la raison pour laquelle, personnellement, j'aurais tendance à conseiller d'apprendre C++ en premier, JUSTEMENT parce qu'il présente des difficultés absentes sur d'autres langages, et qu'il permet, malgré tout, de faire des applications

1- jusqu'à quatre fois plus rapides que les langages interprétés (ou semi compliés, tels que nous les fournit visual.net)
2- moins gourmandes en mémoire...

Je suis tout à fait d'accord sur le fait que, si on ne pense pas à libérer correctement la mémoire, la saturation apporchera à grand pas...Mais, en y pensant bien, la saturation arrivera tout aussi vite si l'on ne pense pas à utiliser le garbage collector en .net :o

Ceci dit, je me pose souvent la question de savoir si la "mauvais qualité" (entendons-nous sur ce terme, quand meme) n'est pas principalement du à une mauvaise méthodologie.

Honnêtement, combien de gens, ici et ailleurs, prennent-ils la peine de créer un algoritme réel, avant de passer à la programmation?

Je ne parle pas d'UML, qui est avant tout destiné à offrir une vue d'ensemble de l'application, mais bel et bien d'un algoritme de logique qui détaille instruction par instruction...

Et, surtout, combien de ceux qui le créent utilisent-t-il cet algoritme pour déterminer la prochaine instruction à insérer dans le code?

Je doiis avouer honnetement que, si je devais me limiter au flowchart, je ne me baserais sans doute pas non plus sur lui pour créer mes codes sources, principalement parce que chacun sera d'accord avec moi: il ne permet pas vraiment une représentation "logique" des opportunités des langages évolués...
Martius
  est bon : Mangez en !
  :-)
      ?   ^   @     Posté le 30/05/2005 17:01:07  
Voter pour ce message
C'est Harkonnen de HFR < inclued picture >
-->Message édité par Martius le 30/05/2005 17:03:13<--
<     1       >

01net > Forum de 01net > Programmation et développement > C/C++
> POO, je peux l'apprendre ?

Aller à :

Page générée en : 0.412s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat

Partage de fichiers
Partagez vos gros fichiers entre amis, de façon totalement confidentielle et sécurisée.
Jeux
Nouveauté : Les chats et les chiens, c’est mignon, mais avez-vous déjà essayé d’élever un requin ?