IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Affichage des résultats du sondage: Quel langage conseillez-vous pour l'apprentissage de la programmation ?

Votants
135. Vous ne pouvez pas participer à ce sondage.
  • Java

    42 31,11%
  • JavaScript

    13 9,63%
  • C++

    23 17,04%
  • C

    38 28,15%
  • C#

    13 9,63%
  • Python

    47 34,81%
  • PHP

    7 5,19%
  • Scala

    2 1,48%
  • Perl

    0 0%
  • MATLAB

    0 0%
  • ARM Assembly

    0 0%
  • Visual Basic

    1 0,74%
  • Racket

    2 1,48%
  • R

    0 0%
  • Prolog

    0 0%
  • Ruby

    7 5,19%
  • Lisp

    4 2,96%
  • CSS

    2 1,48%
  • HTML

    3 2,22%
  • Haskell

    3 2,22%
  • Objective-C

    0 0%
  • Swift

    5 3,70%
  • TypeScript

    6 4,44%
  • Pascal

    16 11,85%
  • Pascal Objet / Delphi langage

    16 11,85%
  • Autres (précisez)

    8 5,93%
Sondage à choix multiple
Langages de programmation Discussion :

Le Stanford CS choisit le JavaScript comme langage d'initiation à la programmation en 2017, aux dépens de Java


Sujet :

Langages de programmation

  1. #41
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 614
    Points : 713
    Points
    713
    Par défaut
    Citation Envoyé par MadiPoupou Voir le message
    Enfin bref, je manque de recul pour dire quel langage doit être utilisé mais je ne suis pas certain que le premier langage doive suivre les tendances. Il est évident que l'impératif des établissements doit demeurer d'intégrer les étudiants sur le marché du travail. Cependant, à mon sens, il est plus profitable de se former sur un langage efficace et pédagogique pour mieux assimiler les concepts et mieux les transposer vers d'autres langages.
    Pour cela, il faut se remettre dans le contexte : une fac, c'est au moins 5 ans d'étude (mais on va dire qu'on va vers une thèse, 8 ans…). Entre le moment où l'étudiant
    commence "l'initiation" et où il sort, il s'écoule au moins 5 ans. Si la logique est d'avoir des étudiants prêts à l'emploi avec le langage choisi en fonction de ça, c'est donc en fonction des opportunités dans 5 ans qu'il doit être choisi. On en revient au même point à chaque fois : coté outillage, les écoles/facs forment à ce qui était utilisé, pas qui sera. Donc autant choisir un langage pour sa qualité pédagogique et enseigner l'adaptabilité.

  2. #42
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 374
    Points : 1 401
    Points
    1 401
    Par défaut
    Juste pour que ce soit clair, CS = Computer Scientist, dont le but est de produire et surtout prouver de nouvelles techniques en rapport avec l'informatique, en particulier des protocoles de routage, des techniques de chiffrement, des algorithmes, des structures de données, des langages, etc. L'IA est un bon exemple de ce que les computer scientists orientés vers la recherche sont appelés à faire. Assez typiquement, ceux qui s'orientent vers l'industrie sont plutôt chefs de projet, data analysts, ou consultants.

  3. #43
    Invité
    Invité(e)
    Par défaut
    Cette discussion est intéressante mais nécessite comme discussion préalable de définir la signification de "initiation à la programmation". Est-ce que c'est limité aux structures logiques (if...else, for, while,...) ? Est-ce que ça va plus loin et aborde les paradigmes (procédural, oo, fonctionnel) ? Est-ce que ça explique comment un programme est traité par un ordinateur ? Plus loin ?

    Le choix du langage découlera facilement de cette réponse.

  4. #44
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    614
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 614
    Points : 713
    Points
    713
    Par défaut
    Citation Envoyé par Mrsky Voir le message
    Cette discussion est intéressante mais nécessite comme discussion préalable de définir la signification de "initiation à la programmation". Est-ce que c'est limité aux structures logiques (if...else, for, while,...) ? Est-ce que ça va plus loin et aborde les paradigmes (procédural, oo, fonctionnel) ? Est-ce que ça explique comment un programme est traité par un ordinateur ? Plus loin ?
    Nope, "définir la signification de l'initiation à la programmation" signifie définir l'objectif de cette "initiation". De cet objectif découle le contenu dont le choix du langage.

  5. #45
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 562
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 562
    Points : 15 493
    Points
    15 493
    Par défaut
    Citation Envoyé par Mrsky Voir le message
    Cette discussion est intéressante mais nécessite comme discussion préalable de définir la signification de "initiation à la programmation". Est-ce que c'est limité aux structures logiques (if...else, for, while,...) ? Est-ce que ça va plus loin et aborde les paradigmes (procédural, oo, fonctionnel) ? Est-ce que ça explique comment un programme est traité par un ordinateur ? Plus loin ?

    Le choix du langage découlera facilement de cette réponse.
    De ce que je comprend, il s'agit du langage pour une première initiation. Si on doit aborder les différents paradigmes et les différent niveau d'abstraction, il faudra de toute façon voir plusieurs langages.

  6. #46
    Membre émérite
    Inscrit en
    Janvier 2011
    Messages
    805
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Janvier 2011
    Messages : 805
    Points : 2 918
    Points
    2 918
    Par défaut
    J'ai mis Python et Ruby, qui ont depuis longtemps une tradition d'accessibilité et de simplicité et une communauté toujours prête à aider ("make programmers happy" est le but premier de Ruby selon son créateur) mais il y en a d'autres, comme Io.

    • C# et Java sont beaucoup plus enterprisey, surtout dans leur écosystème et leurs outils. Et le tooling et la simplicité de la plateforme, c'est aussi important que le langage lui-même quand on parle d'initiation à la programmation. Le nombre d'obstacles qu'il faut franchir avant d'avoir un environnement Java ou C# prêt à l'utilisation peut rebuter énormément de débutants. Il y a aussi un manque criant de REPL/interface ligne de commande chez ces deux technos, qui reste pour moi le contexte idéal pour expérimenter de manière immédiate.

    • Javascript... à la fois un langage rempli d'incohérences et au tooling bof bof. Mais l'intérêt, c'est qu'on peut expérimenter dans un bête navigateur, ça peut être un point d'accroche pour des gens qui seraient attirés par le web. Après, la courbe d'apprentissage hyper raide pour apprendre à bien programmer en JS (comprendre le concept de prototype, maîtriser les quirks du langage, les patterns qui les évitent, l'aspect fonctionnel...) en fait pour moi un langage peut-être trop dangereux pour le mettre en avant en tant que modèle auprès de développeurs novices.

  7. #47
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 969
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 969
    Points : 3 375
    Points
    3 375
    Par défaut
    Pour apprendre:

    . C (qui est très très complet), à la moindre erreur ça ne pardonne pas
    . pascal (c'est bien structuré)
    . java (pour l'orienté objet)
    Si la réponse vous a aidé, pensez à cliquer sur +1

  8. #48
    En attente de confirmation mail

    Profil pro
    Inscrit en
    Septembre 2013
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 639
    Points : 2 347
    Points
    2 347
    Par défaut
    Javascript c'est pas un langage pour débutants.

  9. #49
    Futur Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Septembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Réunion

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2015
    Messages : 3
    Points : 7
    Points
    7
    Par défaut
    Pour enseigner l'initiation à la programmation à des jeunes étudiants en sciences (toute spécialité confondue donc pas forcément de futurs informaticiens) depuis plus de 15 ans, je pense qu'il faut surtout y aller progressivement. Le C ? non... on ne peut pas faire de C sans pointeurs et donc pour de grands débutants c'est déjà trop hard. Pour ma part je fais du Python au S1 pour introduire les bases (types de base, variables affectation, boucles, conditionnelle, E/S, notion de fonction, pas d'objet au début). Au S2 HTML, CSS et javascript (notamment jQuery) avec introduction à la programmation orientée objets. Nos étudiants informaticiens voient ensuite Java (L2), la programmation mobile (iOS et Androïd) (L2) et la programmation système en C (L3)... en autres.

  10. #50
    Futur Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Septembre 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Réunion

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2015
    Messages : 3
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par CodeurPlusPlus Voir le message
    Javascript c'est pas un langage pour débutants.
    Pas tout à fait faux J'avoue que j'ai galéré à construire mon cours de L1 du S2 pour faire de l'objet un peu proprement sans non plus noyer les étudiants. La gestion des événements n'a pas été simple non plus. Mais si on sélectionne des choses simples (pas essayer de coder direct un jeu par exemple) comme programmer un slider, un timer etc. Ca passe et les étudiants qui s'accrochent apprécient et s'en sortent.

  11. #51
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 803
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 803
    Points : 32 058
    Points
    32 058
    Par défaut
    C'est vraiment la question piège ou chacun projette ses propres fantasmes. D'ou l'extrême diversité des réponses. Mon, mon, fantasme, c'est celui du dimensionnement, que j'ai appris en école d'ingénieur, quand je dessinais des moules d'injection thermoplastique. Et donc je veux d'abord dimensionner l'effort. Ce qui passe par quelques questions :

    1. Qui est ma population? A-t-elle été filtrée? Sur quels critères?
    2. Est-ce une initiation, ou doivent-ils être opérationnels à la fin de la formation? Est-ce que je veux entrainer les gens à savoir réfléchir, ou à être productifs?
    3. Quel taux de perte puis-je me permettre? Veut-on activement filtrer pour ne garder que les meilleurs?
    4. De quel paradigme parle-t-on?
    5. Quel poids ont chacune des questions précédentes?
    6. Quelles question ai-je oublié?


    Voilà, en fait, vous vous êtes tous posés ces questions là, sans vous en rendre compte.....et vous avez tous répondu différemment. D'ou l'extrême variété de vos réponses. Qui sont toutes justes..... dans le contexte que vous vous êtes fixés.

    Par exemple, dans le temps, Joel Spolsky pronait le C contre JAVA. Parceque pour lui, l'important, c'est d'apprendre à réflechir et de flitrer massivement. Certains l'ont remarqué, le C est dur pour les débutants, et permet donc d'éliminer plein de gens. Ce qui peut être un effet désirable, ou au contraire fâcheux, suivant ce que l'on cherche. Si on veut avant tout former des cerveaux à la pensée algorithmique, des langages fonctionnels seront adaptés. Si on a un besoin pressant sur un langage donné, alors on va prendre le langage donné, et on s'en fout si ça donne de mauvaises habitudes(moi, j'ai été formé à COBOL pour des raisons de besoin immédiat - la théorie, je me la suis farcie tout seul après). Selon qu'on recrute des scientifiques ou non, on ne ciblera pas non plus les mêmes langages. Etc.....
    Les 4 règles d'airain du développement informatique sont, d'après Michael C. Kasten :
    1)on ne peut pas établir un chiffrage tant qu'on a pas finalisé la conception
    2)on ne peut pas finaliser la conception tant qu'on a pas complètement compris toutes les exigences
    3)le temps de comprendre toutes les exigences, le projet est terminé
    4)le temps de terminer le projet, les exigences ont changé
    Et le serment de non-allégiance :
    Je promets de n’exclure aucune idée sur la base de sa source mais de donner toute la considération nécessaire aux idées de toutes les écoles ou lignes de pensées afin de trouver celle qui est la mieux adaptée à une situation donnée.

  12. #52
    Membre confirmé Avatar de a028762
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 419
    Points : 537
    Points
    537
    Par défaut
    3 développeurs, 4 avis ! C'est drôle comme résultat

  13. #53
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2004
    Messages : 374
    Points : 1 401
    Points
    1 401
    Par défaut
    Citation Envoyé par a028762 Voir le message
    3 développeurs, 4 avis ! C'est drôle comme résultat
    Par le théorème des tiroirs (ou des trous de pigeons, selon les affinités), quelqu'un n'est pas d'accord avec lui-même, ou alors j'ai pas compris

  14. #54
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2008
    Messages : 17
    Points : 39
    Points
    39
    Par défaut
    Citation Envoyé par sebhoa Voir le message
    Pour enseigner l'initiation à la programmation à des jeunes étudiants en sciences (toute spécialité confondue donc pas forcément de futurs informaticiens) depuis plus de 15 ans, je pense qu'il faut surtout y aller progressivement. Le C ? non... on ne peut pas faire de C sans pointeurs et donc pour de grands débutants c'est déjà trop hard. Pour ma part je fais du Python au S1 pour introduire les bases (types de base, variables affectation, boucles, conditionnelle, E/S, notion de fonction, pas d'objet au début). Au S2 HTML, CSS et javascript (notamment jQuery) avec introduction à la programmation orientée objets. Nos étudiants informaticiens voient ensuite Java (L2), la programmation mobile (iOS et Androïd) (L2) et la programmation système en C (L3)... en autres.
    C'est ce qui me paraît le plus sensé comme approche...

    J'ai commencé par faire du C à l'IUT (il y a 20 ans !) et franchement je ne vois pas l’intérêt de débuter avec ce langage. En faire un peu, comme de l'assembleur, dans des cours spécifiques pour appréhender le hardware et avoir une vision bas niveau, pourquoi pas (par exemple sur des projets Arduino).

    Et autant je déteste le javascript, autant je trouve que pour de l'initiation pour des étudiants c'est plutôt adapté malgré tout ses défauts.
    Il permet de
    - voir tous les concepts algorithmique de base
    - de creuser des notions un peu plus avancées (POO et fonctionnelle),
    - de faire de petites 'applis' graphique avec HTML/CSS (c'est gratifiant)
    - le tout sans nécessiter d'environnement spécifique (on peut très bien tout faire depuis un navigateur)

    Après je ne vois pas trop l'intérêt de faire tout un cursus de CS sans toucher à d'autres langages, surtout en ne gardant que JS.

    Et cracher sur Java pour au final venir se rouler dans du JS

  15. #55
    Membre confirmé Avatar de pierre.E
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Janvier 2016
    Messages
    241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2016
    Messages : 241
    Points : 573
    Points
    573
    Par défaut
    le javascript en 1er car il est dans les navigateurs et permet de faire plein de chose ( avec le html5 css en cerise sur le gâteau)
    le c car c est un langage typé donc complémentaire du javascript

    après soit python soit c#

  16. #56
    En attente de confirmation mail

    Profil pro
    Inscrit en
    Septembre 2013
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2013
    Messages : 639
    Points : 2 347
    Points
    2 347
    Par défaut
    Citation Envoyé par sebhoa Voir le message
    Pas tout à fait faux J'avoue que j'ai galéré à construire mon cours de L1 du S2 pour faire de l'objet un peu proprement sans non plus noyer les étudiants. (...)
    La question est : "est-ce ce que ce cours de S2 est un cours d'initiation à la programmation ?"

    Si c'en est un, je pense que le choix du Javascript n'est pas du tout le meilleur... car comme tous les langages "bizarres" il peut donner à un débutant complet une vision assez fausse à la fois de ce qui se passe dans la machine et de ce à quoi ressemble la programmation.

    Si les étudiants avaient déjà vu un autre langage en S1, alors là en revanche tout va bien !

    PS : après, j'ai souvent un point de vue de vieux con sur ces genres de questions... J'ai un site, www.mutiparadigme.org, avec des liens vers des vidéos de cours de programmation que prennent tout à zéro... et on comprend vite que je suis avant tout un fan du vieux C tout pourri !

  17. #57
    Membre régulier
    Homme Profil pro
    consultant informatique freelance
    Inscrit en
    Janvier 2016
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Tchad

    Informations professionnelles :
    Activité : consultant informatique freelance
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2016
    Messages : 73
    Points : 71
    Points
    71
    Par défaut Programmation
    Pour Java est le top pour les debutant

  18. #58
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2011
    Messages : 5
    Points : 7
    Points
    7
    Par défaut Pas tout à fait d'accord
    Je pense pour ma part qu'il est important de pouvoir se familiariser dès le début de l'apprentissage de la programmation avec les type de données. Ce qui implique un langage de programmation fortement typé. Il es vrai que la majorité des langues de programmation aujourd'hui tendent à fair abstraction des transtypage (ce qui peut être motive d'une part le choix du javascript ). Mais la notion de type est très important dans l'orientété objets. Et je pense que ça pourrait les dépayser lorsqu'ils aborderons l' OO

  19. #59
    Membre régulier

    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Janvier 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2010
    Messages : 120
    Points : 120
    Points
    120
    Billets dans le blog
    1
    Par défaut Un langage fortement typé et multiparadigme : Python
    J'ai écrit sur le sujet :
    https://www.developpez.net/forums/bl...rendre-python/

    Je partage l'avis de ceux qui soutiennent un langage typé, de haut niveau et simple d'accès à l'opposé de C qui est trop complexe.
    jdd deschamps
    RPL - VB6 - C# - Wordpress - Python3 - Xamarin

  20. #60
    Nouveau membre du Club
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Avril 2002
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2002
    Messages : 26
    Points : 36
    Points
    36
    Par défaut C->JS+HTML+CSS
    Quand on parle de Javascript, ça sous-entend HTML+CSS.

    Il est clair qu'il est plus intéressant d'initier la programmation avec plusieurs langages comme avec du C et permettre de donner l'occasion de montrer les avantages et les inconvénients des langages typés et non typés pour les sensibiliser sur cette différence (entre autres). Sans compter la syntaxe du C présente dans Javascript comme dans beaucoup d'autres langages.

    Le gros avantage de Javascript pour l'initiation, c'est que couplé à HTML (et accessoirement CSS), on peut réaliser des petites Webapps simples avec des outils à portée de main sur n'importe quel OS (un éditeur de code, un navigateur).
    Je pense qu'il est important de pouvoir rapidement obtenir un résultat avec peu de code (j'entend surtout visuel), ça motive plus rapidement à continuer la programmation.

    Ceci dit, comme tout langage non typé avec une syntaxe sensible à la casse, ça entraîne un potentiel énorme de bugs mais ça oblige aussi à la rigueur dans l'écriture dès le début (enfin surtout dans les identificateurs).
    Javascript ne provoque pas de runtime error mais les navigateurs ont tous des outils de débogage !

    Je terminerai en disant qu'il ne faut pas confondre langage préféré et langage d'initiation à la programmation, effectivement.
    Et ce fou qui part...

Discussions similaires

  1. Le javascript comme premier langage
    Par Anthony.v dans le forum Débuter
    Réponses: 4
    Dernier message: 13/04/2014, 11h53
  2. Quel langage pour initiation à la programmation ?
    Par kiriyamakaneda dans le forum Débuter
    Réponses: 4
    Dernier message: 23/10/2007, 15h36
  3. Réponses: 3
    Dernier message: 19/07/2002, 15h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo