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: Quels sont les langages de programmation à conseiller à un débutant ?

Votants
226. Vous ne pouvez pas participer à ce sondage.
  • Assembleur

    7 3,10%
  • Basic

    19 8,41%
  • Bash

    3 1,33%
  • C

    54 23,89%
  • C++

    37 16,37%
  • C#

    63 27,88%
  • Cobol

    1 0,44%
  • Delphi

    3 1,33%
  • Fortran

    3 1,33%
  • Go

    0 0%
  • Java

    85 37,61%
  • Javascript

    39 17,26%
  • Kotlin

    24 10,62%
  • Ladder

    0 0%
  • Pascal

    91 40,27%
  • PHP

    18 7,96%
  • Python

    128 56,64%
  • Ruby

    11 4,87%
  • Rust

    51 22,57%
  • Swift

    0 0%
  • Typescript

    64 28,32%
  • Visual Basic

    7 3,10%
  • VBA

    14 6,19%
  • VHDL

    0 0%
  • Autres (à préciser)

    4 1,77%
  • Je ne sais pas

    0 0%
Sondage à choix multiple
Débats sur le développement - Le Best Of Discussion :

Les étudiants de première année doivent-ils être initiés à la programmation en s’appuyant sur Python ou Java


Sujet :

Débats sur le développement - Le Best Of

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    bricoleur par les mots
    Inscrit en
    Avril 2015
    Messages
    769
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : bricoleur par les mots
    Secteur : Distribution

    Informations forums :
    Inscription : Avril 2015
    Messages : 769
    Par défaut
    Quels langages conseilleriez-vous à un débutant pour le développement web ? Pourquoi ? Partagez votre expérience
    avant tout un langage qui n'a pas été approprie par les pros qui en conséquence n'aura pas ete greffe de multiple bibliotheque frameworrk dependence sous langage et j'en passe

    dans mon cas je pense javascript qui m'a permis de m'initier a la programmation avec comme avantage le fait de ne pas compiler le programme et l'utilisation d'un simple navigateur pour admirer son œuvre mais c’était a une époque c'est toujours possible mais il faut faudra abstraction de toutes ces greffes mais dans la jungle qu'est devenu javascript c'est devenu difficile

    dernier point abuser des bases de la programmation sans avoir honte d’être has been je pense en particulier au boucle en utilisant la syntaxe for plutot que des for in, for off et j'en passe

    l'essentiel pour moi est de faire passer la logique avant la mémoire

  2. #2
    Invité
    Invité(e)
    Par défaut À éviter pour les débutants: PHP
    PHP est à mon avis le langage à éviter pour tout débutant en programmation: typage faible, structures de données "fourre-tout", mélange permissif de paradigmes de programmation et surtout évolution tentaculaire du langage avec des ajouts syntaxiques permanents "pour ressembler ou émuler les grands langages de programmation" et dont l'utilité est parfois plus que discutable. Vous n'aurez que des ennuis dans vos études ou votre carrière de développeur en commençant par ce langage de script.
    Dernière modification par Invité ; 10/07/2023 à 22h05.

  3. #3
    Expert confirmé

    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Avril 2002
    Messages
    2 907
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 907
    Par défaut
    Pour rappel autrefois en Fac ils enseignaient le C ou Pascal pour les pointeurs, listes et piles, puis le Pascal pour la programmation structurée, puis après le C++ pour la POO ou parfois ADA. Le C++ était souvent enseigné en école d'ingénieur.
    Après il y a eu la mode de Java (parfois C# à la place de Java dans certaines écoles) pour les études supérieures, puis ensuite la mode de Python.

    Je comprends qu'avec Python on peut avoir des résultats plus facilement, mais je ne sais pas si le "tout Python" c'est un progrès au final, c'est plus une facilité.

    A titre personnel j'ai beaucoup appris avec Pascal, Pascal Objet, et ADA avant de tomber sur Java et C# qui sont aussi de très bons langages.

    Maintenant je trouve que pour les nouveaux des langages plus récent comme TypeScript, Kotlin et Rust c'est aussi intéressant à voir.

  4. #4
    Membre confirmé
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2021
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mai 2021
    Messages : 125
    Par défaut
    Pas simple de donner des conseils à un débutant. Je vais donner un avis sans tenir compte des débouchés professionnels, mais plutôt dans une perspective pédagogique. Je propose chronologiquement:

    (1) Python peut être une première accroche pour commencer à jouer avec les algorithmes et certains paradigmes; en ce sens le choix des prépas scientifiques de l'enseigner est raisonnable.
    Pour autant, je conseillerais de passer très vite à d'autres langages afin de ne pas prendre de mauvaises habitudes.
    (2) L'apprentissage du C me paraît nécessaire pour bien comprendre les problématiques liées aux contraintes matérielles dont la gestion de la mémoire; et commencer à mieux comprendre la notion de typage.
    (3) Passer à l'apprentissage d'un langage multiparadigme plus structurant et contraignant que Python comme le C#. Là, je propose C# par goût personnel, car je le trouve plus agréable à utiliser que Java, et moins complexe à maîtriser que C++.
    (4) À ce stade, je conseillerais l'apprentissage d'un langage comme Rust, qui à mon avis est plutôt fait pour des programmeurs ayant une relative expérience des langages de programmation. Au stade (4), il y a évidemment toutes sortes d'autres langages intéressants à étudier. Mais je propose Rust, car je trouve d'expérience que c'est un langage riche, esthétique, sûr et performant.

  5. #5
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 814
    Par défaut
    Moi j'aime bien mon enseignement université en 2000
    • l'assembleur, mais le truc le + simple: 6800
    • 1 langage pour le génie logiciel/ algorithmie (**): SML (<- la blague c'est Stupide M*rdique Language ) [remplacé par Scheme]
    • 1 langage procédural (*): C le roi (+ du "bas niveau" au passage) et Pascal (pas Delphi): 1 légère notion de pointeurs mais c'est surtout assez proche de l'algorithmie (avec les blocs de déclarations variables, corps, ... et la manipulation des données également) et 1 compilation très rapide (idéal pour l'apprentissage)
    • 1 langage objet [pur]: Java le roi (ou éventuellement Smalltalk)
    • 1 langage fonctionnel: Lisp
    • les langages listings sont obsolètes: COBOL, BASIC

    J'avais vu d'autres langages mais liés à leurs domaines: Prolog (moteurs d'inférences), Programmation Orientée Aspect (ce sont des modules Java), bash/ sh (administration Linux), Merise (c'est 1 méthode, mais il y a tellement de trucs que bon)

    Et les incontournables: C++ (clients lourds), SQL (BD), XML (méta), HTML/ JavaScript (Web + Programmation Orientée Prototypes, maintenant on ajoute CSS et TypeScript), Ada (industriel) … maintenant on ajoute Python (script)


    Édit: *: programmation impérative me dit Internet ce terme venu des fonds des âges

    **: la + grosse partie que je me souvienne, c'est d'avoir 1 langage ultra simple à apprendre, essentiellement basé sur les booléens et ainsi prouver la validité d'un algorithme (tables de vérité/ Karnaugh, tautologie, …)

  6. #6
    Membre très actif
    Homme Profil pro
    Programmeur des cavernes
    Inscrit en
    Août 2017
    Messages
    364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Programmeur des cavernes
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2017
    Messages : 364
    Par défaut
    C, C# ou Java, Python. Dans cet ordre. Commencer par Python c'est détruire le cerveau d'un futur programmeur.

  7. #7
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 117
    Par défaut
    Je suis assez d'accord avec ceci mais en même temps j'y apporterai un petit bémol :
    Python n'est pas un bon langage pour débuter, il est très facile de coder avec, trop facile justement. Pas de type (c'est optionnel et je doute qu'un débutant le fasse), python lui apprendra pas a bien coder correctement.
    Déjà, l'une des affirmation est fausse.
    Python est typé, certes, dynamiquement, mais typé quand même.
    Python peut tout à fait être le bon langage pour apprendre à coder correctement si on est rigoureux.
    Mais c'est la qu'est le problème. Il est tellement permissif qu'il est très facile de prendre de mauvaises habitudes.

    Ce que je reproche à ces langages "faciles" (pas seulement python mais bien d'autres y compris le langage qui a ma préférence, le C#), c'est qu'on écrit des lignes très facilement mais qu'un débutant va voir que ça fonctionne et ne se posera pas plus de question que ça.

    J'ai croisé beaucoup trop de personnes se disant développeur mais ne comprenant pas ce qui se cache derrière une ligne de code et se retrouvant avec des comportements non désirés ou des performances dégradées sans être capables de l'expliquer. Trouver du code fonctionnel sur internet est à la portée de n'importe qui (encore plus avec ChatGPT).
    Le comprendre et avoir conscience de ce qui se passe en interne, c'est déjà plus compliqué.

    Pour moi l'apprentissage de la programmation passe par plusieurs étapes et plusieurs langages.

    Dans un premier temps, il faut comprendre les concepts basiques (variables, typage, conditions, itérations).
    En cela n'importe quel langage peut faire l'affaire.
    Python à l'avantage d'avoir une syntaxe très simple et l'IDLE permet de faire rapidement des expériences, c'est top !
    Petit bémol, il n'a pas naturellement (à ma connaissance) d'instruction Do..While (il faut bricoler même s'il n'y a rien d'insurmontable).

    Une fois ces concepts acquis, on peut écrire des codes plus complexes qui utilisent en utilise plusieurs (voire les imbrique).
    Python étant basé sur l'indentation, le débutant est obligé de prendre cette habitude, ce qui à mon sens contribue à la lisibilité.

    Pour ce qui de la POO, je déconseillerai fortement Python dont la philosophie basée sur l'ouverture complète est en totale contraction avec le principe d'encapsulation.
    Un débutant non accompagné n'a pas conscience de l'existence de la fameuse convention de nommage avec l'undescore et même s'il en a conscience, il peut choisir de l'ignorer pour une raison ou une autre.
    Je déconseillerai également le C# (même si je l'adore) car il existe trop de mécanismes simplifiant l'écriture mais qui, encore une fois, n'aident pas à comprendre ce qui se passe réellement.
    Je conseillerai un vieux Delphi 7 même s'il est très verbeux (ou alors C# mais sur un Framework inférieur à la 3.5).

    Enfin, je conseillerai de passer un petit moment sur l'assembleur pour aider à comprendre comment fonctionne la machine.

    La suite dépendra du domaine et de la techno choisis.

  8. #8
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 952
    Par défaut
    Le problème pour moi c'est que la question est pas très bien posée déjà.

    Il veut faire quoi le débutant ? Un petit truc chouette pour sa bande de potes vite fait ou il veut devenir un professionnel ?

    Dans le premier cas, Java ou Python serait sans doute une bonne réponse.

    Mais s'il veut devenir un professionel, un avec qui on a envie de bosser et pas juste un singe copier/coller de Stackoverflow, il faut les bases théoriques/pratiques.

    Gestion de la mémoire, Gestion des IO, les Threads d'UI, programmation impératives, objets, le langage de programmation n'est que le support pour apprendre ça correctement.

    Je ne suis pas forcément pour apprendre passer obligatoirement par le C/C++ en tant que tel, mais quelques cours sur à quoi ressemble les instructions les plus élémentaires (assembleur) ou par exemple à quoi ressemble la réalité (et donc pourquoi il faut éviter de faire le petit malin en recodant tout la main), exemple : implémentation de la fonction strlen :



    Sans même aller jusqu'à former quelqu'un a être capable d'écrire ça lui même on voit qu'il existe plusieurs version, et que la raison c'est que la portabilité + l'archi-optimization de ces fonctions élémentaires via des instructions assembleurs toujours plus riches au fur et à mesure des générations de processeur que tout les langages appelles plutôt que de recodés eux-même.

  9. #9
    Invité
    Invité(e)
    Par défaut
    Ce qu'il faut pour commencer, c'est un langage simple, transactionnel, qui permette de faire de l'appli ligne de commande.
    Evidemment, comme une grande majorité de personne, je pense au langage C qui fut mon langage premier.

    Du coup, je pense à un autre langage transactionnel qui pourrait être très intéressant tout en apportant plus d'élements que le C, le langage Rust.

    ce qui serait un réel avantage je pense vu qu'il me semble être un langage d'avenir.

    Ensuite, apprendre un langage orienté objet (.Net ou Java).
    le choix d'apprendre les langages web (javascript/Java) vs data (python/scala/R) vs embarqué (C/Rust/...) devrait être ensuite dans une option dans les années plus avancées.

  10. #10
    Membre éprouvé
    Homme Profil pro
    Développeur
    Inscrit en
    Août 2003
    Messages
    1 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Août 2003
    Messages : 1 549
    Par défaut
    Pour la première année, je vous rejoints avec C (ou Rust)

    Ensuite, je dirais qu'il serait bien de faire du Go car ça progresse en entreprise. J'ai fait plusieurs entreprises et elle changeait de JAVA (car trop gourmand pour des microservices, beaucoup de RAM nécessaire pour faire tourner un IDE, ...) vers un autre langage (Python ou Go).

  11. #11
    Membre confirmé
    Homme Profil pro
    Architecte réseau
    Inscrit en
    Février 2024
    Messages
    389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Architecte réseau

    Informations forums :
    Inscription : Février 2024
    Messages : 389
    Par défaut
    Question facile ! Python est un standard industriel là pour durer au contraire de Java qui est passé de mode.

  12. #12
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 113
    Par défaut
    et bien je dirais pour commencer : LUA un langage simple et qui a l'inverse de C/C++ n'est pas pollué par quantité de syntaxe et de concept qu'on ne trouve que dans ces languages.

    et continuer sur : Java et Typescript, python si c'est un besoin.

  13. #13
    Expert confirmé

    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Avril 2002
    Messages
    2 907
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 907
    Par défaut
    Citation Envoyé par RenarddeFeu Voir le message
    Question facile ! Python est un standard industriel là pour durer au contraire de Java qui est passé de mode.
    Java n'est pas du tout passé de mode et il est même numéro 1 sur les offres d'emploi.

  14. #14
    Invité de passage
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Novembre 2021
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Consultant en sécurité

    Informations forums :
    Inscription : Novembre 2021
    Messages : 1
    Par défaut
    La réponse reste quand même vachement liée à ce que les étudiants veulent faire plus tard,
    - C, C++, ASM et Rust sont bien pour développer des choses pour de l'embarqué, bricoler du Linux, faire des logiciels ultra rapide, des drivers,
    - Bash pour tout ceux qui sont amener à travailler sur Linux ou plus largement les Unix-likes,
    - Python pour des choses autour de l'IA
    - C# pour des app exclusivement Linux ou des jeux sur moteur ou sans moteur
    - Java, Kotlin, et un langage compilé machine type C, C++, Rust pour les app Android,
    - Swift pour du dev Apple exclusivement,
    - PHP et JS et même ASP sont bien pour aller faire du site web,
    - Pascal, Fortran et tous ces "vieux langages pour des app et librairies scientifiques,
    - Ada car c'est formateur.
    ...

    Le VBA par contre ne me semble pas d'avenir pour quelqu'un en école de dev car : MS va l'abandonner au profit de Python et que de toute façon les ingénieurs dans les domaines scientifiques l'apprennent déjà à l'école (avec Python pour certaines écoles), donc un besoin en spécialistes plus restreint.
    Pour le/les Basic, à par s'amuser sur son émulateur C64 a faire des rétro app à vendre sur itch.io je ne vois pas d'intérêt pratique pour lequel des gens serait près à payer, mais après je ne suis pas quelqu'un qui à fait un cursus traditionnel de prog.

  15. #15
    Membre confirmé
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Mai 2015
    Messages
    597
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Belgique

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

    Informations forums :
    Inscription : Mai 2015
    Messages : 597
    Par défaut Ce n'est que mon opinion...


    Perso, je pense qu'il faut d'abord apprendre "les bases" avant d'utiliser des langages de plus haut niveau. Je dirais donc,

    • Le C, qui est un langage "relativement" facile a apprendre, mais parfois difficile a utiliser correctement. Cela permettra de mettre en évidence à l'étudiant les différents problèmes universelles en programmation: Typage, gestion de la mémoire et pointeurs. Et au passage, un peu d'assembleur pour comprendre ce qui est fait d'un "code source" lorsqu'on le compile peut être très utile.
    • En // je dirais Pascal, pour l'étude de la programmation structurée, et l'études des principales "Structures de données" (stack, list, dict, ...).
    • Ensuite, tout en restant dans les langages "qui compilent nativement", Ada, Rust et (C++). Ils permettent l'utilisation de la POO, avec les avantages et les défauts des concepts de la POO (encapsulation, héritage, polymorphisme) . Je mets volontairement le C++ à part, car sa syntaxe est horrible, rendant un "code source" difficile à lire (et on lit plus souvent un code qu'on en écrit). Le passage par cette étape permet aussi d'aborder les "Design Patterns" (voir le GoF).
    • Pour finir, étudier un langage dit de "haut niveau". Là je préconniserais Python, non seulement parce qu'il est simple a apprendre une fois les étapes précédentent franchie. Mais attention, "Python" a tendance à se compliquer au fil du temps. Mais si on s'en tient aux "bases" du langages, c'est le meilleur choix.


    Armé ainsi, on peut plus facilement s'adapter à ce qu'on rencontrera dans le future. Mais si l'étudiant est curieux, je pense qu'il est bon d'avoir des notions de ce qu'est :

    • Le travail fait par un compilateur (lexer, parser, type checker, IR code, ...). Qui expose un tas de "concepts", qu'on retrouvera tout au long de sa carrière, et de mieux comprendre le pourquoi et le comment des choses qui sont ce qu'elles sont actuellement.
    • Le travail d'un RTOS, (µC/OS II ou III ou FreeRTOS). C'est non seulement très instructif, mais permet de mettre en lumière et d'expliquer ce qui régit nos programmes.


    Et si notre étudiant à le feu sacré,

    • Définir un (nouveau) petit langage, via la compréhension des règles BNF.
    • De développer un interprèteur et/ou un compilateur pour ce petit langage.


    Ensuite, tout dépend du sur quoi on tombe dans son boulot, où on a pas trop le choix des armes.

    BàV et Peace & Love.

  16. #16
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 117
    Par défaut
    L'avantage du Pascal (sur lequel j'ai également commencé pendant mes études) est qu'il permettait de maitriser les fondamentaux, puis les concepts POO, tout en mettant des garde-fous pour éviter de prendre de mauvaise habitudes.
    Par mauvaises habitudes, je rejoins Calvaire sur Python et son typage pas très strict, ou encore sa vision de l'encapsulation en POO (sur laquelle j'ai eu des débats houleux avec certains membres du forum).

    Donc dans un premier temps, pour acquérir les bases, j'aurais laissé le Pascal.
    Mais effectivement, à moi aussi, le C parait être une excellente option.

    Pour l'objet, également j'aurais laissé le Pascal, ou plutôt le Delphi qui est son héritier.
    Le C#, qui est mon langage de prédilection, est excellent pour faire de l'objet.
    Mais Microsoft a tellement travaillé dessus pour gagner en productivité qu'il masque aujourd'hui une partie de ce qu'un étudiant devrait connaître.
    Le GC n'aide pas non plus à comprendre la durée de vie d'un objet.

    Pour le Web, je n'imagine pas un apprentissage sans HTML/CSS/JS.
    Cela peut paraître vieux jeu mais j'ai vu passer tellement d'alternants qui faisait des appli avec ASP/Net et MVC ou d'autres outils et qui n'avais aucune idée de ce qui se cachait sous le capot.

    Pour le mobile, C# et MAUI.

  17. #17
    Membre averti
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2011
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2011
    Messages : 18
    Par défaut
    Rien de tout ça !

    Un bon retour au LSE, voilà ce qu'il leur faut !

    PS : ceci est un message d'outre-tombe...

  18. #18
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2019
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2019
    Messages : 320
    Par défaut
    Je rejoins popo sur le fait que le pascal (la version Object Pascal) a l'avantage d'être simple, très structuré et clair, et contient les concepts objet. Il permet d'apprendre les bases de programmation objet et autres, ce qui n'empêche pas ensuite de s'orienter vers d'autres langages.
    A part Ada qui est un peu trop austère, je ne vois aucun langage adapté à un apprentissage rigoureux, excepté éventuellement une variante objet du Basic.

  19. #19
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2008
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2008
    Messages : 108
    Par défaut Apprendre à marcher avant de courir
    Avant d'apprendre un langage, il faut commencer par apprendre les bases de l'algorithmie/logique, comment fonctionne un ordinateur (mémoire, cpu, etc...) et les principaux paradigmes de programmation:
    1. impératif structuré (le paradigme de base de tous les processeurs courants)
    2. fonctionnel basé sur la théorie du lambda-calcul de Church (celui qui a permis d'inventer la POO ou les bases de l'IA). Bien que simple et puissant, la plupart des développeurs ont du mal avec ce paradigme.
    3. programmation orienté objet (utile pour les grosses applications)
    4. logique basé sur la théorie des prédicats du premier ordre (anecdotique dans son usage, mais qui a son intérêt pour les systèmes experts et l'IA). C'est certainement le paradigme le plus difficile à apprendre.

    La mise en pratique des paradigmes pourra se faire en utilisant un langage de programmation lié:
    1. impératif structuré: Pascal/Delphi mais sans objets
    2. fonctionnel: Lisp ou Python qui permettent de mettre en pratique plus de choses que Java ou C#
    3. programmation orienté objet: je dirais Eiffel car il permet de tout faire (héritage multiple, etc) mais aussi il propose des solutions pour gérer les cas dangereux. Ensuite on pourra passer à un langage comme C# ou Java qui ne supportent qu'un sous-ensemble du paradigme.
    4. logique: Prolog

  20. #20
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    3 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 117
    Par défaut
    Cela n'engage que moi.
    Mais je trouve que l'héritage multiple pose plus de problème qu'il n'en résout.

Discussions similaires

  1. Quels langages de programmation utilisez-vous pour Arduino ?
    Par Michael Guilloux dans le forum Arduino
    Réponses: 13
    Dernier message: 21/04/2020, 22h33
  2. Dans quels langages de programmation seriez-vous prêt à vous investir en 2017 ?
    Par Community Management dans le forum Langages de programmation
    Réponses: 70
    Dernier message: 21/02/2020, 20h14
  3. Quels sont les langages de programmation que vous détestez le plus, et pourquoi ?
    Par Community Management dans le forum Langages de programmation
    Réponses: 214
    Dernier message: 31/08/2017, 11h38
  4. Sondage : quels sont les langages de programmation que vous maîtrisez ?
    Par Michael Guilloux dans le forum Débats sur le développement - Le Best Of
    Réponses: 81
    Dernier message: 27/03/2017, 10h33

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