M Nebra dit vrai dans son cours de C++: les languages de programmation ont souvent les même principes.
Alors ça, c'est un des trucs les plus drôles que j'ai lu (et les plus malheureux aussi). Si les langages n'avaient pas de vrais différenciations dans les principes qu'ils utilisent, ils n'y en aurait pas autant de différents.
Typiquement :
Bam92 a écrit:
je me retrouve facillement avec mes connaissances de PHP (boucle, condition, ...).
M Nebra dit vrai dans son cours de C++: les languages de programmation ont souvent les même principes.
Alors ça, c'est un des trucs les plus drôles que j'ai lu (et les plus malheureux aussi). Si les langages n'avaient pas de vrais différenciations dans les principes qu'ils utilisent, ils n'y en aurait pas autant de différents.
Mais moi je ne trouve rien de drôle dans ça. J'en ai une expérience d'ailleurs. Les mêmes principes ici c'est juste les principes de base; certes chaque langage a sa spécificité, sa force et sa faiblaisse. Bref, tout ce qui le distingue d'un autre. Quelque soient les langages, ils doivent toujours être compris par le langage machine (langage binaire); c'est là la finalité.
Un exemple simple: les langues utilisées par les humains (anglais, français, ...), n'ont-elle pas les mêmes principes de base quand bien même elles soient si différentes les unes des autres??....
Typiquement :
Bam92 a écrit:
je me retrouve facillement avec mes connaissances de PHP (boucle, condition, ...).
Ben c'est loin de caractériser un langage.
Pouvez-vous me donner un langage dans lequel on ne trouve pas de boucle, condition, fonctions, ... ? Peut-être le langage binaire que je ne connais pas!!...
Alors je ne suis pas expert, il y en a peut être qui sont bien cachées, mais dans les langages fonctionnels genre Haskell, je ne me rappelle pas en avoir vu, on utilise des fonctions récursive en général...
En fait ce que tu dis est valable pour les langages objets à forte composante impérative, comme le C, le C++, le php, java, C# et autres, mais il y a des catégories de langages très différentes (les langages fonctionnels entre autres).
Pouvez-vous me donner un langage dans lequel on ne trouve pas de boucle, condition, fonctions, ... ? Peut-être le langage binaire que je ne connais pas!!...
Un certain nombre de langages fonctionnels n'autorisent pas les boucles.
Les premiers langages de programmations n'avaient pas de fonctions. Il faut également savoir que les fonctions n'ont pas la même signification dans tous les langages, et que tous les langages n'autorisent pas les fonctions d'ordre supérieur par exemple.
Et comme je l'ai dit : les boucles, les conditions et les fonctions, ça ne caractérise pas un langage.
Mais le Turing-Complet c'est justement les langages de programmation dont nous parlons (C, Java, etc). Je l'ai dit si haut (voir citation ci-bas), les langage de programmation doivent tous être compris par le langage binaire (machine) et c'est bien Turing (Ingénieur?) qui est à la base ...
Bam92 a écrit:
Ksass`Peuk a écrit:
Bam92 a écrit:
M Nebra dit vrai dans son cours de C++: les languages de programmation ont souvent les même principes.
Alors ça, c'est un des trucs les plus drôles que j'ai lu (et les plus malheureux aussi). Si les langages n'avaient pas de vrais différenciations dans les principes qu'ils utilisent, ils n'y en aurait pas autant de différents.
Mais moi je ne trouve rien de drôle dans ça. J'en ai une expérience d'ailleurs. Les mêmes principes ici c'est juste les principes de base; certes chaque langage a sa spécificité, sa force et sa faiblaisse. Bref, tout ce qui le distingue d'un autre. Quelque soient les langages, ils doivent toujours être compris par le langage machine (langage binaire); c'est là la finalité. C'est dans ce paragraphe ...
Un exemple simple: les langues utilisées par les humains (anglais, français, ...), n'ont-elle pas les mêmes principes de base quand bien même elles soient si différentes les unes des autres??....
Typiquement :
Bam92 a écrit:
je me retrouve facillement avec mes connaissances de PHP (boucle, condition, ...).
Ben c'est loin de caractériser un langage.
Pouvez-vous me donner un langage dans lequel on ne trouve pas de boucle, condition, fonctions, ... ? Peut-être le langage binaire que je ne connais pas!!...
Mais le Turing-Complet c'est justement les langages de programmation dont nous parlons (C, Java, etc). Je l'ai dit si haut (voir citation ci-bas), les langage de programmation doivent tous être compris par le langage binaire (machine) et c'est bien Turing (Ingénieur?) qui est à la base ..
Les langages qui ont été cités plus haut sont aussi Turing-Complet. Pour les langages fonctionnels, on parle aussi des fonctions récursives ou de lambda-calcul. Voir : Calculabilité.
M Nebra dit vrai dans son cours de C++: les languages de programmation ont souvent les même principes. Avec mes connaissances de PHP, j'ai pu aider une amie à programmer en VB sans y avoir programmer au par avant. De même, avec le MOOC de Java, je me retrouve facillement avec mes connaissances de PHP (boucle, condition, ...).
Dans l'absolu, ce n'est pas faux, mais c'est une vision très limité de la programmation.
Il est évident que quelqu'un qui connait un langage, sait ce qu'est une variable, une fonction, une boucle for, une condition if. S'il doit pondre un code simple dans un langage qu'il ne connait pas, il suffira de prendre un cours débutant pour voir la syntaxe. Il s'en sortira
Mais c'est une vision limité. Programmer une application complexe sera plus dur et plus long avec ce langage qu'il ne connait pas vraiment. Et comme il ne connait pas les "bonnes pratiques", les idiomes, les outils disponibles, le code produit sera moche, potentiellement bugé (prendre en exemple les devs C qui font du C++...), non robuste. Dès que le code sera repris par une personne qui maîtrise ce langage, ça sera une catastrophe, il devra probablement tout réécrire.
Je soutiens totallement gbdivers dans son propos. Je crois que ça coupe court. Ksass'P* est de mon avis aussi?
gbdivers a écrit:
Bam92 a écrit:
M Nebra dit vrai dans son cours de C++: les languages de programmation ont souvent les même principes. Avec mes connaissances de PHP, j'ai pu aider une amie à programmer en VB sans y avoir programmer au par avant. De même, avec le MOOC de Java, je me retrouve facillement avec mes connaissances de PHP (boucle, condition, ...).
Dans l'absolu, ce n'est pas faux, mais c'est une vision très limité de la programmation.
Il est évident que quelqu'un qui connait un langage, sait ce qu'est une variable, une fonction, une boucle for, une condition if. S'il doit pondre un code simple dans un langage qu'il ne connait pas, il suffira de prendre un cours débutant pour voir la syntaxe. Il s'en sortira
Mais c'est une vision limité. Programmer une application complexe sera plus dur et plus long avec ce langage qu'il ne connait pas vraiment. Et comme il ne connait pas les "bonnes pratiques", les idiomes, les outils disponibles, le code produit sera moche, potentiellement bugé (prendre en exemple les devs C qui font du C++...), non robuste. Dès que le code sera repris par une personne qui maîtrise ce langage, ça sera une catastrophe, il devra probablement tout réécrire.
Bref, pas faux... mais très limité comme vision
Dans la profondeur du langage, non ... mais pour les plus basiques (généralités) oui
J'ai eu ce genre de "livraison" de code en Off-Shore d'Inde.
En même temps pourquoi s'emmerder avec des objets et des méthodes, quand on peux faire la même chose avec des variables globales et de simples fonctions, hein ? Je vous conseille chaudement ses autres vidéos, elle sont du même tonneau.
PS: M.Zebra, ou la personne qui s'occupe du contenu "pédagogique", si vous lisez ce message, mon message précédent était de l'humour. Il ne faut pas contacter cette personne, le contenu n'est pas digne d'Openclassrooms. Je précise car parfois l'humour passe mal à l'écrit.. Donc si vous avez déjà contacté cette personne, dites lui simplement que votre budget ne vous permet pas pour l'instant de le payer pour créer du contenu pour le site (le comptable était en RTT / pas pu venir à cause des grèves.. ou une excuse du genre tu as confondu le point décimal avec le séparateur des milliers dans le budget (exemple 1.500,000€ )
Ca déjà été signalé ici par plusieurs personnes... par contre, je pense que personne de SimpleIt ne passe ici, donc il faut les contacter directement pour que le problème soit réglé
Voila j'avance tout doucement dans ce mooc, et il y a quelque chose que je ne comprends pas : c'est avec la commande switch.
J'ai bien compris que le break empêchait de faire les tests suivants, mais bon, je ne l'ai pas mis pour voir, ma machine n'est pas à un ou deux tests près...
voici mon code :
#include <iostream>
using namespace std;
int main()
{
int nbEnfants;
cout << "combien d'enfants avez-vous ?" << endl;
cin >> nbEnfants;
switch(nbEnfants)
{
case 0:
cout << "zero" << endl;
case 1:
cout << "un" << endl;
default :
cout << "plus d'un" << endl;
}
return 0;
}
si par exemple j'entre la valeur 0, à priori il devrait écrire zéro et c'est tout, mais non, il écrit aussi un et plus d'un.
je ne vois pas trop où est mon erreur, si vous voulez bien m'aiguiller
Le fait qu'il passe par toutes les instructions suivantes vient de la sémantique de switch qui nous dit qu'on exécute toutes les instructions qui suivent le moment où l'on rencontre une condition vérifiée dans le switch et ce jusqu'à rencontre un break.
switch cherche la valeur correspondante (le case), et ne fait rien tant qu'il ne l'a pas trouvé.
ensuite dès qu'il l'a trouvée, il exécute toutes les commandes qu'il trouve à sa suite... jusqu'à ce qu'il tombe sur un break, et là "sort" des cas, c'est bien ça ?
oui enfin j'ai l'impression d'avoir répété exactement ce que tu as dit... donc j'ai bien compris.
tu dis que c'est évident mais je ne comprends pas ce qui est ou n'est pas évident.
heu... le break renvoie apparemment après l'accolade fermante.
j'ai une autre question, les indentations ça marche comment sur C++ ? Apparemment on peut faire n'importe quoi, enfin, peut-être pas mais ça semble moins chaud que sur Python. Ha oui carrément même, j'(ai tout mis sur la même colonne après le switch et ça ne lui pose pas de problème... simple présentation alors ? pour avoir un code clair ?
L'indentation, dans tous quasiment tous les langages sauf Python, n'a pas d'impact mis à part la lisibilité. Tu peux mettre tout ton programme sur une seule ligne si ça te chante.
en faisant le 1er programme, je constate que je dois rajouter "getchar()" pour maintenir la console ouverte (comme en C d'ailleurs) et je n'ai pas les mêmes commentaires qui s'affichent dans la console.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C
Discord NaN. Mon site.
Discord NaN. Mon site.
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C