Parinux organise en collaboration avec Placenet une conférence intitulée 'Introduction au langage C'. La conférence aura lieu le jeudi 10 mai 2001 à 20h dans les locaux de Placenet (Paris 11, métro 'les boulets de montreuil', 21 ter rue Voltaire). Si vous vous sentez une âme de programmeur, n'hésitez pas...
Aller plus loin
# C ???
Posté par Blackknight (site web personnel, Mastodon) . Évalué à 1.
[^] # Re: C ???
Posté par LeMagicien Garcimore . Évalué à 1.
Dans bien des cas, la programmetion objet n'est pas indispensable (programmation système, systèmes embarqués "légers"...). Vouloir se restreindre au C permet d'aprofondir certains concept un peu "rudes". La programmation C++ necessite en outre un apprentissage de la conception objet, qui n'est pas naturelle pour beaucoup de monde.
[^] # Re: C ???
Posté par Guillaume Laurent (site web personnel) . Évalué à 1.
Rien n'est indispensable, juste plus ou moins utile.
> (programmation système, systèmes embarqués "légers"...).
Non, on peut faire ca en POO (on le fait meme assez souvent je crois), c'est tres bien aussi.
> La programmation C++ necessite en outre un apprentissage de la conception objet
Pas forcement... S'en servir simplement comme d'un C avec un type vector<> et un type string en plus, c'est deja une immense amelioration.
En plus pour apprendre la POO, le C++ n'est vraiment pas le meilleur choix.
[^] # Re: C ???
Posté par LeMagicien Garcimore . Évalué à 1.
>Non, on peut faire ca en POO (on le fait meme assez souvent je crois), c'est tres bien aussi.
Bha les modules Linux sont programmés en C non ?
En ce qui concerne les systèmes embarqués "légers", bien souvent le microcontrolleur ne posséde pas la memoire suffisante pour coder en objet. Exemple : un 68hc811E2 posséde 256 OCTETS de RAM. Impossible de faire de l'objet dans ces conditions.
>> La programmation C++ necessite en outre un apprentissage de la conception objet
>Pas forcement... S'en servir simplement comme d'un C avec un type vector<> et un type string en plus, c'est deja une immense amelioration.
Pas sur. En utilisant le type string et les vector<>, tu occulte des choses trés importante, au nivo de la gestion de la memoire par exemple.
[^] # Re: C ???
Posté par Blackknight (site web personnel, Mastodon) . Évalué à 1.
Ben ouais mais il y a déjà des gens qui se sont fait chier avec la gestion de la mémoire. Recoder ce genre de truc, c'est s'exposer à des bugs déjà rencontrés. De même, le genre de truc comme déréférencer une variable pour la recaster dans un autre type, c'est plutôt dégueulasse et c'est pas portable du tout (because taille des types entre deux plateformes par ex)
[^] # Re: C ???
Posté par Guillaume Laurent (site web personnel) . Évalué à 1.
Oui, et alors ?
> En ce qui concerne les systèmes embarqués "légers", bien souvent le microcontrolleur ne posséde pas la memoire suffisante pour coder en objet.
Si tu as la place pour une struct et des fonctions associees, tu as la place pour un objet.
> En utilisant le type string et les vector<>, tu occulte des choses trés importante, au nivo de la gestion de la memoire par exemple.
Dans la majorite des cas tu n'as rien a foutre de ce genre de details.
Il vaut mieux avoir quelques bases sur malloc/free, juste pour savoir que ca existe et comment s'en servir si tu es oblige, et utiliser des classes (ou carrement un langage) qui ne te fasse pas chier avec, plutot que de s'empetrer dedans et de croire qu'on ne peut pas programmer sans.
Il y a deja assez de jeunes couillons scleroses dans le C comme ca, pas la peine d'en former d'autres.
[^] # Explications
Posté par LeMagicien Garcimore . Évalué à 1.
[^] # Re: Explications
Posté par Guillaume Laurent (site web personnel) . Évalué à 1.
[^] # Re: Explications
Posté par Blackknight (site web personnel, Mastodon) . Évalué à 1.
Pour ce qui est des systèmes embarqués légers, il n'existe pas de compilateur C++ mais c'est sutout historique, tout comme il n'existe pas de langage unifié pour les automates Téléméca ou autre.
Dans les systèmes embarqués légers, tu trouves maintenant (je pense aux téléphones portables) du Java (ce qui était son but à sa création).
Il faut savoir que je ne craches absolument pas sur le C et que donc tout ceci n'est pas un troll (je veux pas me faire allumer).
[^] # Bof ....
Posté par Anonyme . Évalué à 0.
Le concept d'objet est une invention de l'esprit humain qui crée des associations entres elements differents (pas les memes atomes).
Par exemple, lorsque l'on voit deux stylos, on associe tout de suite la notion de STYLO a ces 2 elements alors qu'il sont totalement differents. L'esprit crée donc automatiquement des classes d'objets. Si l'un troisieme stylo est un feutre, l'esprit percoit qu'il y a des ressemblances et des differences. Si on lui demande un stylo, il repondra aussi feutre pourant si on lui demande un feutre il ne donne pas les stylo, ... ainsi le concept d'heritage est créé ;) Tout le reste de la programmation objet n'est que temps d'observation du comportement humain :)
Il est donc de-facto naturel pour TOUT le monde ;)
Mais bien sur, toute personne ayant apprit à programmer d'un autre façon (strucurer sa penser pour mieux créer un element comprehensible par une machine: ASM, C, ... ) devra des-apprendre et retrouver la notion natuelle de modelisation et structuration objet.
Pourtant meme si la programmation objet reflete ce que pense un humain, elle ne peut en decrire l'ensemble des dessins ... pour cela il faut utiliser des techniques telles que UML par exemple ;)
#2
L'objet n'est pas indispensable, il EST .
Il est et nait dans l'esprit de l'homme et pour cela est indissociable de toute pensée
#3
Ta remarque de concepts "rude" sous entends que il y aurrait les "vrai" et "purs" programmeurs qui ferait du C et seraient confrontés à la "vrai" réalité et les autres ... cliché !
Si bcp de systemes temps réels sont fait en C c'est simplement que etant présent depuis plus longtemps on dispose de plus de recul et plus de maitrise sur ce langage (le fameux EXISTANT) ! D'autre par, comme tu le sait certainement le C++ n'est rien d'autre qu'un bricolage (proche du #define) au dessus du C (cf les passages de contexte et parametres).
Il faut savoir que de plus en plus de systemes temps réels proposent des API C++ et meme Java (cf WindRiverSystems par ex) ... car pourqu'un programme soit temps réel il faut d'abord que l'OS le soit ;)
Ainsi si Java et souvent decrié comme n'etant pas temps réel, c'est tout simplement par ce que les OS sur lequel il tourne generalement ne le sont pas et que son thread de GC n'a pas comme priorité d'etre exact (temps réel) mais rapide !
L'ordonancement temps reel et la rapidité pure sont bel et bien ennemi, et un bon OS temps réel essayera de concilier les 2 sans jamais s'ellogner du premier (www.jbed.com cf. par exemple).
Ainsi meme Java peut etre utiliser dans un contexte temps réel et embarqué ;)
3hck
[^] # Re: Bof ....
Posté par Guillaume Laurent (site web personnel) . Évalué à 1.
Cliche aussi :-).
[^] # Re: Bof ....
Posté par G. R. (site web personnel) . Évalué à 1.
De plus, quand l'homme modélise et schématise son environnement, il (enfin moi) le fait aussi avec la mathématique, et la logique.
Les approches fonctionnelle (Lisp, ...) et logique (Prolog) sont très intéressantes de ce point de vue.
Il existe des langages qui permettent à la fois l'approche fonctionnelle et l'approche Objet (comme Ruby, et d'une certaine manière Lisp).
Il en va de même pour la modélisation.
Tout le monde aujourd'hui veux faire de l'objet (UML, etc...), alors que c'est si simple avec Mersise (attention hein ! ça dépend des objectifs et des contraintes techniques).
Bref, la programmation Objet (ou Orientée Objet), n'est pas forcément ce qu'il y a de mieux.
Qu'un stylo soit un objet, personne ne le nie.
Par contre, si je veux faire un calcul distribué, à quoi me sert l'approche objet ?
[^] # Re: Bof ....
Posté par Guillaume Laurent (site web personnel) . Évalué à 1.
Non, c'est l'evolution naturelle de la programmation structuree, de la meme facon que celle-ci est l'evolution de if/goto.
Des que tu commences a manipuler des structs et des fonctions, tot ou tard les bases de la POO vont apparaitre.
> Par contre, si je veux faire un calcul distribué, à quoi me sert l'approche objet ?
A organiser un peu mieux ton code.
[^] # T'y es fou toi ... ;-)
Posté par Anonyme . Évalué à 0.
pourquoi pas faire du Java aussi !
Nan vraiment ya que le bon vieux C (version K&R bien sur et pas ANSI) ca c'est fait pour les bons programmeurs !
T'immagine pas, leur apprendre à faire de la programmation objet non plus ?!
L'objet ca sert à rien : c'est une invention qui va de toute façon disparaitre ... non mais est-ce qu'on a deja vu des objets ? alors que des bons traitements avec des variables ca c'est efficace et ca produit du bon code de qualité sans aucuns bugs !
Moi, j'vous dis messieux dames, si ca continue on sera plus obligé de taper nos programes avec Vi ou edlin !
Nan vraiment, il etait beau le temps des perforatrices ... ca au moins c'etait de la programmation !
Mais oui mon bon monsieur, aujourd'hui les jeunes il savent plus rien faire ! un scandale mon bon môsieur ...!
...................
(Euh bien sur c'etait au ((*(x+24)++)<<2)*8 éme degrés !)
3hck
[^] # Re: C ???
Posté par Anonyme . Évalué à 0.
[^] # Re: C ???
Posté par Anonyme . Évalué à 0.
(ou comment lancer un auto-troll ...)
# Des oggs !
Posté par Anonyme . Évalué à 0.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.