Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

... et ils ont viré le C

158 réponses
Avatar
Rakotomandimby Mihamina
Bonjour,
Aller ca concerne le C donc c'est bon.

C'est incroyable, la Fac d'orleans vient de passer au LMD et ils ont viré
le C des programmes.

Ils ont conservé le Caml pour les 2eme années

Et ont remplacé Pascal (1ere année) et C (2eme année) par je Java sur
les deux années.

En troisieme on aura directement droit au C++.

Je trouve ca injuste. Et dire que j'etais vraiment content de faire du C,
d'autant plus que je tourne uniquement sous Linux et que sous Linux le C
est tres abondant ... je devrais donc apprendre le C a coté : une masse
de travail supplémentaire ... Quel desastre ... vous voyez un bon coté
des choses dans cette histoire, moi je suis un tantinet deprimé la ...

--
ASPO Infogérance - http://aspo.rktmb.org/activites/infogerance
Unofficial FAQ fcolc - http://faq.fcolc.eu.org/
Linux User Group sur Orléans et alentours.
Tél: + 33 2 38 76 43 65 (France)

10 réponses

Avatar
cedric
Misterjack wrote:
Des étudiants qui programment du haut niveau sans connaître du tout le
bas niveau ça va être chaud.


Tiens en parlant de pile, ca me rapelle une anecdote dont j'ai promis de
taire la provenance : Suite à une remarque sur le danger pour la pile de
revenir d'une sous-fonction par un goto (non, pas en C), la personne en
charge du programme (et de tout le département info de la boite) a
marqué une pause et s'est ravivée : "non, pas de problème, il y a un
ebatterie sur les AS400 !"

:-)

Avatar
Stephane Legras-Decussy
cedric a écrit dans le message :
415b1085$0$30927$
Mais à mon tour de vous renvoyer la question : quel est le langage le
plus abstrait ? C++ ? Certainement pas. Haskell ? Erlang ?
Faut-il choisir un langage déclaratif ? full-objet ? Perl ]:) ?


le langage le plus abstrait est celui du type qui vous explique
ce que doit faire le programme...


le reste n'est que sous-couches...

Avatar
Charlie Gordon
"Vincent Lefevre" <vincent+ wrote in message
news:20040929134001$

Je conseillerais plutôt la VO, car dans la VF, il y a des erreurs de
traduction gênantes (genre byte -> octet).

En quoi est-ce une erreur ?


http://fr.wikipedia.org/wiki/Byte

On s'instruit chaque jour : le zébioctet vous salue !

Chqrlie

Avatar
Jean-Marc Bourguet
"Charlie Gordon" writes:

"Vincent Lefevre" <vincent+ wrote in message
news:20040929134001$

Je conseillerais plutôt la VO, car dans la VF, il y a des erreurs de
traduction gênantes (genre byte -> octet).

En quoi est-ce une erreur ?



Un octet c'est 8 bits.

Un byte isole n'a pas de sens, c'est comme "mot" une unite dont la
taille est determinee par une architecture ou un systeme. Plus encore
que pour un "mot" la definition est imprecise (un mot correspond a ce
qui est stockable dans les registres d'usage general). Un byte est
generalement le groupe de bits le plus petit manipulable aisement.
C'est alternativement la taille du jeux de caractere employe -- les
deux correspondent souvent mais certaines architectures peuvent
manipuler des bytes de n'importe quelle taille. Au fait la traduction
AFNOR de byte est multiplet. En pratique il existe ou a existe des
machines/systemes avec des bytes de 6,7,8,9,16 et 32 bits.

A+

--
Jean-Marc
FAQ de fclc: http://www.isty-info.uvsq.fr/~rumeau/fclc
Site de usenet-fr: http://www.usenet-fr.news.eu.org


Avatar
Eric Deveaud
cedric wrote:
Eric Deveaud wrote:
l'expérience nous a montré que l'acquisition des concepts se faisait
plus facilement via un langage (dit) de haut niveau.


Vous tenez-là un argument-massue.


sans doute un aspect de mon côté néanderthalien ;-)

dans ce cas pourquoi ne pas utiliser une machine de turing pour
apprendre la programation ??


Et pourquoi ne pas en concevoir une petite (en pensée!) avec les
étudiants lors du premier cours ? Un peut comme Knuth dans son cours ?


l'idée est tentante, je vais la caresser (en pensée aussi !)

Eric

--
Pour comprendre la suite, je collectionne les CD que je reçois d'un peu
partout y compris ceux que je grille involontairement, tout cela pour me
fabriquer une lampe qui diffuse par la tranche des CD empilés...
-+- AB in Guide du Macounet Pervers : Bien Recycler ses CD AOL -+-


Avatar
kilobug

Un octet c'est 8 bits.


[snip]. Au fait la traduction AFNOR de byte est multiplet. En
pratique il existe ou a existe des machines/systemes avec des bytes
de 6,7,8,9,16 et 32 bits.


Et 4 bits aussi, sur les calculatrices HP48 par exemple (et il existe
un compilateur C, hp48cc). Sinon, je suis totalement d'accord, il faut
faire attention avec "byte" et "octet", la taille d'un "byte" varie.

Par contre, la norme du C dit que "char" doit faire au moins
8-bits. Donc, sur les machines où le "byte" fait 4 bits, le "char"
faiut plusiuers "byte"...

--
Gael Le Mignot "Kilobug" - - http://kilobug.free.fr
GSM : 06.71.47.18.22 (in France) ICQ UIN : 7299959
Fingerprint : 1F2C 9804 7505 79DF 95E6 7323 B66B F67B 7103 C5DA

Member of HurdFr: http://hurdfr.org - The GNU Hurd: http://hurd.gnu.org

Avatar
Eric Deveaud
Stéphane Goujet wrote:

Je suis tout à fait d'accord : je n'ai jamais eu de problème avec les
notions basiques d'architecture et d'assembleur, alors que les notions
de haut-niveau, par leur charabia conceptuel, me laissent encore et
toujours perplexe.


une fois le cahrabia mis de côté on se rend compte que cela n'est pas
forcement si complexe. beaucoup d'entre nous font du "haut niveau" (je
trouve cette appélation pédante) comme Monsieur Jourdain ;-)

Le C est pour moi un bon compromis car il me permet de ne pas trop
m'éloigner du "terre à terre", et une connaissance de base du niveau
en-dessous permet de rapidement dissiper les principaux pièges et
malentendus qui se présentent au débutant, comme vous les citez plus
bas.


OUI.
le revers de la médaille des gens qui n'ont appris que via des langages
qui masquent les aspect de bases et main dans le cambouis, est une
incompréhension des limites de tel ou tel algo dans la vraie vie.

c'est ainsi que l'on voit des gens essayer de charger tout genbank (de
l'ordre de la 10aine de Go de fichier) dans une liste de chaînes

ces notions de comportement bas niveau sont nécessaires, mais il me
semble que l'on est plus en mesure de les appréhender quand on est
irelativement à l'aise au niveau algo.
je em trompe peut-être ;-)

Eric
--
Pour comprendre la suite, je collectionne les CD que je reçois d'un peu
partout y compris ceux que je grille involontairement, tout cela pour me
fabriquer une lampe qui diffuse par la tranche des CD empilés...
-+- AB in Guide du Macounet Pervers : Bien Recycler ses CD AOL -+-

Avatar
Eric Deveaud
Marc Boyer wrote:

Pourquoi ne pas commencer alors à Turing, puis le lamda-calcul
typé (équivalence de Church au passage si on a 2mn), puis le
reste n'est que mise en pratique ?


c'est bien le lambda calcul. C'est d'ailleur par schemeque j'ai appris la
programation, et aujourd'hui j'en rend grace à ceux qui ont fait ce
choix pédagogique
AMHA il faut en avoir fait un peu et touché d'autre "modes de
programations" pour ne pas se limiter conceptuelement.

Quel est le critère de "bonne méthode pédagogique" ? Pour moi,
c'est celle qui permet de faire entre de manière durable un max
d'information en un min de temps à un max d'élèves.


j'espère

Et le C est d'expérience un bon moyen de perdre du temps
et des élèves en route.


je confirme, dans le cas ou les élèves sont des débutants, n'ayant pas
les moindre notions.

Eric

--
Pour comprendre la suite, je collectionne les CD que je reçois d'un peu
partout y compris ceux que je grille involontairement, tout cela pour me
fabriquer une lampe qui diffuse par la tranche des CD empilés...
-+- AB in Guide du Macounet Pervers : Bien Recycler ses CD AOL -+-

Avatar
Jean-Marc Bourguet
(Gaël Le Mignot) writes:


Un octet c'est 8 bits.

[snip]. Au fait la traduction AFNOR de byte est multiplet. En
pratique il existe ou a existe des machines/systemes avec des
bytes de 6,7,8,9,16 et 32 bits.


Et 4 bits aussi, sur les calculatrices HP48 par exemple (et il
existe un compilateur C, hp48cc). Sinon, je suis totalement
d'accord, il faut faire attention avec "byte" et "octet", la taille
d'un "byte" varie.


La on tombe sur un cas ou les deux definitions de bytes sont
conflictuelles (si j'ai bonne memoire le jeu de caractere de l'HP48
est une extension proprietaire de l'ASCII, dont a 8 bits).

Par contre, la norme du C dit que "char" doit faire au moins
8-bits. Donc, sur les machines où le "byte" fait 4 bits, le "char"
faiut plusiuers "byte"...


J'avais voulu l'ecrire mais l'ai oublie. Merci de l'avoir signale.

A+

--
Jean-Marc
FAQ de fclc: http://www.isty-info.uvsq.fr/~rumeau/fclc
Site de usenet-fr: http://www.usenet-fr.news.eu.org


Avatar
Marc Boyer
Misterjack wrote:
Misterjack wrote:
L'intérêt d'apprendre le C c'est de comprendre ce que l'on fait et de ne
pas travailler "en aveugle".


scanf("%d",&i);
scanf("%s", prenom);

C'est clair qu'une fois qu'on a compris tout ce que font ces
lignes, on a compris beaucoup de choses.
Mais bon nombre de débutant font ça "en aveugle" (pendant quelques
mois en tout cas).


Je voulais dire que savoir vaguement comment fonctionne un processeur et
son environnement immédiat est utile. Ca permet de ne pas rester comme
un couillon devant un problème complexe qui y est lié.


Et en quoi le C comme premier langage permet-il de comprendre
comment fonctionne un processeur ?

void foo(int i);
char c= '';
foo(--c);

Commencer par le C permet à l'étudiant de
savoir ce qu'il fait et l'aidera à résoudre beaucoup plus facilement ses
problèmes, et à passer plus facilement à d'autres langages ou plateformes.


A condition qu'il réussisse à le faire.


Si certains n'y arrivent pas c'est soit qu'ils ont des difficultés
certaines, soit qu'ils ne sont pas motivés pour y arriver, soit qu'ils
ne bossent pas. C'est pas insurmontable quand même !


Non, mais on peut arriver au même résultat avec moins
d'heures en prenant un autre langage.

Avant de programmer, en C ou en assembleur, il me semble
nécessaire de savoir écrire un algorithme.


Oui. C'est nécessaire avec tous les langages, et c'est à mon sens le
seul vrai intérêt des cours d'informatique à l'université en plus des
méthodes.


D'ou l'intérêt que je vois d'utiliser comme premier langage
quelque chose qui est proche d'un langage algorithmique.

Résultat après 3 ans : une maîtrise correcte du C, une autonomie en C++
et Java. Et ceux qui bossent vriament le truc ont rapidement un très bon
niveau.


Et si on avait commencé par autre chose ?


On voit arriver la génération "langages haut niveau". Le résultat est
déplorable : ils savent appeler des fonctions toutes faites, savent
utiliser des composants téléchargés sur internet, savent utiliser des
générateurs de code. Mais en conditions réelles, on a des gens
incapables de créer. C'est très triste. C'est en partie ce qui me fait
militer pour donner une approche plus "hard" à la programmation. Il y a
15 ans les programmeurs maitrisaient la machine et le développeemnt.
Aujourd'hui ce n'est plus forcément vrai.
On a des utilisateurs de langages de programmation, pas des programmeurs.


Et quel est le coeur du métier actuellement ? Quel est le
besoin majoritaire de l'industrie ?

Non, AMHA le principal problème c'est de faire un code
maintenable, et la question n'est plus de savoir ce qu'on
fait que de savoir le partager de manière péreine.


L'un n'empêche pas l'autre.


Donc, on a deux problèmes principaux.

Marc Boyer
--
La contractualisation de la recherche, c'est me donner de l'argent pour
faire ce que je ne sais pas faire, que je fais donc mal, pendant que ce
que je sais faire, je le fais sans moyens...