Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 02/11/2009, à 10:41

Le Farfadet Spatial

Re : Petit guide pour aider au choix d'un langage

Salut à tous !

   Bon, il semble que nous ayons pour l'essentiel fait le tour. Cela ne veut pas dire qu'il n'y aura pas d'occasion de modifier encore un peu la présentation, mais je pense qu'elle peut néanmoins être considérée comme relativement aboutie.

   Je vous remercie, tant pour votre aide que pour vous êtes astreint à donner des avis constructifs en évitant les trolls. Je propose aux modérateurs de passer le message en épinglé.

   À bientôt.

                                                                                                                                    Le Farfadet Spatial

Hors ligne

#27 Le 05/11/2009, à 18:57

Jean-Julien

Re : Petit guide pour aider au choix d'un langage

Je pense réparer içi un oubli.

Peu importe je jugement que les pros du Python portent sur le livre de Gérard Swinnen.
Ce que je tiens à signaler, c'est que la grande partie des membres de ce site sont des jeunes
et que ce livre a tout pour les intérésser. La gratuité et les résultats rapides.

Ce livre donne un vécu ludique de l'apprentissage de la programmation.
Caractéristique à ne surtout pas négliger !!

Plus tard, ils auront le temps de juger par eux-mêmes du style de la programmation et de se forger leurs propres opinions.

http://www.inforef.be/swi/python.htm

Dernière modification par Jean-Julien (Le 05/11/2009, à 18:58)

Hors ligne

#28 Le 05/11/2009, à 19:44

Le Farfadet Spatial

Re : Petit guide pour aider au choix d'un langage

Salut à tous !

Jean-Julien a écrit :

Je pense réparer içi un oubli.

Peu importe je jugement que les pros du Python portent sur le livre de Gérard Swinnen.
Ce que je tiens à signaler, c'est que la grande partie des membres de ce site sont des jeunes
et que ce livre a tout pour les intérésser. La gratuité et les résultats rapides.

Ce livre donne un vécu ludique de l'apprentissage de la programmation.
Caractéristique à ne surtout pas négliger !!

Plus tard, ils auront le temps de juger par eux-mêmes du style de la programmation et de se forger leurs propres opinions.

Dans la mesure où nous avons parlé du livre de Gérard SWINNEN, il ne s'agit pas d'un oubli.

   Après, le fait que plus ou moins de personnes ait débuté avec tel livre n'argumente pas de la qualité de ce dernier.

   J'entends bien qu'il est ludique, mais l'objectif c'est d'aider le débutant à faire un choix qui soit durable, d'éviter d'avoir à faire des retours en arrière. En bref, tenter d'avoir le recul que le débutant ne peut pas avoir : si on lui dit de commencer d'une certaine façon parce que c'est rigolo et qu'après il va lui falloir revenir sur de mauvaises habitudes, c'est, à mon sens, ne pas assez réfléchir à long terme. Je suis tout à fait d'accord qu'on peut proposer une approche de qualité et attractive, mais l'objectif reste d'essayer de proposer le meilleur choix parmi les livres disponibles. À ce niveau, je trouve les arguments de Karl_le_rouge plus valable au niveau pédagogique que de dire : « ce livre est amusant, il y a plein de gens qui ont commencé avec ».

   À bientôt.

                                                                                                                                 Le Farfadet Spatial

Hors ligne

#29 Le 06/11/2009, à 19:18

carella

Re : Petit guide pour aider au choix d'un langage

M............. ! j'arrive trop tard pour défendre Eiffel !
Ca m'apprendra à délaisser le forum !

Si je puis quand même me permettre.

Outre son "élégance" et sa simplicité Eiffel est bourré de qualités
- on évite tous les symboles cryptiques de nombreux autres langages : lisibilité assurée
- on dispose de deux concepts qui sont les deux seules grandes avancées des langages depuis plus de 20 ans : j'ai nommé le concept de Contrat (chaque routine est spécifiée dans le langage lui-même) et plus récemment le "void-safe programming" qui parle de lui même (imaginez un monde où les pointeurs ne sont jamais plus null par erreur !).
- l'environnement Eiffel arrive avec un nombre impressionnant de bibliothèques très accessibles car présentées avec le concept de contrats
- je passe tous les excellents concepts qui permettent de programmer avec un niveau d'abstraction bien plus élevé que les autres langages (itérateurs par exemple)
- et enfin Eiffel propose avec les travaux de B. Meyer à l'université de Zurich une "révolution" dans l'enseignement de la programmation, à savoir la méthode appelée "outside-in" ou "inverted curriculum" qui permet à l'aide d'une très riche bibliothèque sur un domaine réel, à un débutant d'apprendre avec des programmes dont le résultat est tout de suite "impressionnant"

- et puis enfin, un peu de chauvinisme, ce langage (et tous ces concepts novateurs qui vont avec) a été conçu par un français et continue à être développé par lui au sein de sa société.

De plus il ne faut pas se méprendre, ce n'est pas un langage d'universitaire. Ce langage est utilisé par de grands groupe (AXA Rosenberg, Boeing, le DOD, ...) et ce depuis des années. Et ceux qui ont franchi le pas s'en frottent les mains.

Enfin je signale la sortie récente d'un excellent livre de B. Meyer pour apprendre à "bien" programmer : Touch Of Class
http://www.amazon.fr/Touch-Class-Learning-Program-Contracts/dp/3540921443

Autres liens

www.eiffel.com
http://se.ethz.ch/~meyer/

Hors ligne

#30 Le 06/11/2009, à 23:25

Le Farfadet Spatial

Re : Petit guide pour aider au choix d'un langage

Salut à tous !

carella a écrit :

M............. ! j'arrive trop tard pour défendre Eiffel !

Hé oui ! Il faut être attentif !

- on évite tous les symboles cryptiques de nombreux autres langages : lisibilité assurée

C'est assez vrai, mais l'argument de lisibilité n'est pas très facile à manipuler, parce qu'il y a une question d'habitude et de point de vue.

- on dispose de deux concepts qui sont les deux seules grandes avancées des langages depuis plus de 20 ans : j'ai nommé le concept de Contrat (chaque routine est spécifiée dans le langage lui-même) et plus récemment le "void-safe programming" qui parle de lui même (imaginez un monde où les pointeurs ne sont jamais plus null par erreur !).

La programmation par contrat a en effet été introduite pour la première fois dans Eiffel. Cependant, elle se trouve maintenant dans d'autre langage, on peut même l'utiliser dans Java.

   Concernant le « void-safe programming », des langages tels que Caml permettent déjà d'éviter les problèmes que cette approche entend régler, même s'il faut opter pour une approche différente.

- l'environnement Eiffel arrive avec un nombre impressionnant de bibliothèques très accessibles car présentées avec le concept de contrats

Eiffel n'est pas le seul à posséder des bibliothèques très fournies.

- je passe tous les excellents concepts qui permettent de programmer avec un niveau d'abstraction bien plus élevé que les autres langages (itérateurs par exemple)

Hé bien, si on prend comme exemple les itérateurs, ils existent également en C++, entre autres.

- et enfin Eiffel propose avec les travaux de B. Meyer à l'université de Zurich une "révolution" dans l'enseignement de la programmation, à savoir la méthode appelée "outside-in" ou "inverted curriculum" qui permet à l'aide d'une très riche bibliothèque sur un domaine réel, à un débutant d'apprendre avec des programmes dont le résultat est tout de suite "impressionnant"

Ah ! Enfin un argument pédagogique. Peux-tu développer un peu, parce que le fait de jeter de la poudre aux yeux des débutants ne me semble pas l'essentiel.

De plus il ne faut pas se méprendre, ce n'est pas un langage d'universitaire. Ce langage est utilisé par de grands groupe (AXA Rosenberg, Boeing, le DOD, ...) et ce depuis des années. Et ceux qui ont franchi le pas s'en frottent les mains.

Oui, mais enfin, ce n'est pas le langage le plus répandu, tout de même.

   Soyons clairs : je suis personnellement convaincu des qualités de Eiffel comme langage d'apprentissage comme pour un projet réel. Cependant, comme cela a déjà été remarqué, la présentation est déjà longue. Il faut donc s'assurer qu'ajouter un langage apporte vraiment quelque chose par rapport à ceux qui sont déjà présentés. Je suis tout prêt à le rajouter, mais pour cela il faudrait développer un peu plus les arguments en sa faveur. Non pas en cherchant à montrer qu'il est mieux que les autres, mais en montrant son intérêt pour un débutant, soit qu'il permette une approche pédagogique fructueuse, soit qu'il soit souvent utilisé donc fasse partie de la culture générale de la programmation.

   À bientôt.

                                                                                                                                 Le Farfadet Spatial

Hors ligne

#31 Le 07/11/2009, à 03:33

mydjey

Re : Petit guide pour aider au choix d'un langage

Merci pour toutes ses références, je n'ai fait que survolé...
Ça va m'intéresser.

Ce livre: Initiation à l'algorithmique et aux structures de données en C, me parait pas mal pour l'apprentissage du C.
Si certain d'entre vous le connaissent qu'en pensez-vous ?

Au vu de tout les topics "Premier langage ?", "Apprendre à programmer ?", je pense qu'une page sur le sujet aurais sa place sur le wiki. Avis aux amateurs/connaisseurs. smile
Et me dites pas de la faire moi même. yikes

Dernière modification par mydjey (Le 07/11/2009, à 04:03)

Hors ligne

#32 Le 07/11/2009, à 13:59

Le Farfadet Spatial

Re : Petit guide pour aider au choix d'un langage

Salut à tous !

mydjey a écrit :

Ce livre: Initiation à l'algorithmique et aux structures de données en C, me parait pas mal pour l'apprentissage du C.
Si certain d'entre vous le connaissent qu'en pensez-vous ?

Je trouve que commencer avec le BRAQUELAIRE puis le LOUDON permet d'avoir une approche à la fois plus complète et plus générale, à savoir que cela permet d'avoir un tour d'horizon complet de C99, de la bibliothèque standard, de la bibliothèque POSIX, de la méthodologie de programmation en C (notamment l'approche objet et la programmation générique) et des principaux structures de données et algorithmes (même plus que les principaux) et leurs applications. En plus, le BRAQUELAIRE se base sur Gcc et Make, ce qui n'est pas négligeable pour le linuxien.

Au vu de tout les topics "Premier langage ?", "Apprendre à programmer ?", je pense qu'une page sur le sujet aurais sa place sur le wiki.

Je suis tout prêt à commencer une page de wiki, mais reste la difficulté de trouver un consensus, de sorte qu'il me semble qu'un épinglé est plus approprié, dans la mesure où il permet d'avoir une discussion.

   À bientôt.

                                                                                                                                     Le Farfadet Spatial

Dernière modification par Le Farfadet Spatial (Le 07/11/2009, à 14:02)

Hors ligne

#33 Le 11/11/2009, à 14:31

astromaniaque91

Re : Petit guide pour aider au choix d'un langage

Que voila un sujet bien intéressant !
Il existe un langage très pédagogique, très logique et structuré, qui a été crée pour apprendre à programmer, pour comprendre la logique de la programmation et dont je ne vois pas la référence,
c'est le PASCAL ! Il faut avouer qu'il n'est bon qu'a cela parce qu'il est un peu lourd, très rigoureux et très structuré. J'ai appris à programmer en Turbo Pascal 6 et 7 et je vous assure qu'après cela on comprend mieux tous les autres langages, leur structure et leur limite. Il est alors facile de passer à un autre langage plus "professionnel".
Amicalement,
astromaniaque91

Hors ligne

#34 Le 11/11/2009, à 14:49

mydjey

Re : Petit guide pour aider au choix d'un langage

@ Le Farfadet Spatial

Le Farfadet Spatial a écrit :

Je suis tout prêt à commencer une page de wiki, mais reste la difficulté de trouver un consensus...

Ou de faire une page un tant soit peu neutre, comme le fait wikipédia.

Ou alors d'expliquer sur cette page qu'il y'a "deux écoles" deux manières de débuter.
Si il y'a deux grandes écoles qui se détachent pourquoi pas faire la page du wiki en deux parties ? Le débutant pourra sans problème appliquer la méthode qui semble lui correspondre.

J'ai lu il y a un petit moment des trolls, eux! des débats, entre toi et d'autres "gens qui savent", c'est en tout cas intéressant de suivre vos commentaires.

Hors ligne

#35 Le 11/11/2009, à 20:39

Le Farfadet Spatial

Re : Petit guide pour aider au choix d'un langage

Salut à tous !

astromaniaque91 a écrit :

Il existe un langage très pédagogique, très logique et structuré, qui a été crée pour apprendre à programmer, pour comprendre la logique de la programmation et dont je ne vois pas la référence,
c'est le PASCAL !

Pour ma part, j'ai débuté avec Basic, mais je suis très vite passé à Pascal (avec Turbo Pascal 4), avec un vrai plaisir, en dépit de mon jeune âge -- ceci pour dire que ce n'est pas parce qu'un langage est contraignant qu'un gamin ne va pas s'amuser avec.

   Cependant, Pascal n'est pas très bien supporté sous Linux, donc difficile à utiliser par un débutant. De plus, je pense que les vertus pédagogiques de OCaml sont les mêmes que celles de Pascal. Raison pour laquelle je n'en ai pas parlé dans ma présentation.

mydjey a écrit :

Si il y'a deux grandes écoles qui se détachent pourquoi pas faire la page du wiki en deux parties ? Le débutant pourra sans problème appliquer la méthode qui semble lui correspondre.

Le problème, c'est qu'il n'y a pas deux écoles, mais bien plusieurs approches différentes, qui dépendent beaucoup du vécu de chacun. Pour te faire une idée, tu peux comparer les programmes de plusieurs universités et plusieurs grandes écoles, tu constateras plusieurs différences. Pour ma part, je pense qu'il ne faut pas commencer par l'organisation d'un ordinateur. Au contraire, Rniamo (corrige-moi si je déforme ta pensée) pense que c'est une des premières choses à apprendre. D'aucuns trouverons que Prolog est suffisamment marginal pour qu'on ne s'attarde pas dessus, moi je pense qu'il est intéressant d'aborder ses concepts.

   De plus, l'apprentissage doit être envisagé en fonction des connaissances et des objectifs des étudiants, ce qui ne permet pas de parler dans l'absolu.

   Encore une fois, je suis prêt à lancer une page de Wiki, mais elle serait nécessairement le reflet de mon point de vue, donc je pense qu'il vaut mieux une forme qui implique clairement l'auteur.

   Bon, je vais encore y réfléchir : si j'arrive à trouver un bon bout par lequel commencer, j'essayerais de créer une page de Wiki.

   À bientôt.

                                                                                                                                 Le Farfadet Spatial

Hors ligne

#36 Le 24/11/2009, à 13:47

jfortias

Re : Petit guide pour aider au choix d'un langage

quel langage pour débuter ?

D'abord pour développer quoi ?

Dans le cas du web, apprendre le html et le php me parait un excellent choix (beaucoup de sources de tuto etc)....

Pour développer des petits applications spécifiques scientifiques mathématiques certains basics font largement l'affaires.

Pour développer des applications multicouches le java ou le c# sont mieux.

Pour développer des applications ultraoptimisé bas niveau, le c et le c++ sont incontournables.

Quand au choix du premier langage cela dépend d'abord de ce qu'on veut apprendre à développer. J'ai commencé en 1988 directement en C avec le livre de référence "Le Langage C"... De nombreux langages modernes étant issu du C c'est un choix intéressant si on souhaite acquérir une compétence globale et critique.

quand aux autres langages, genre ADA, Rebol, Eiffel, LISP, cela restent des langages de niches spécifiques. il est donc préférable de les éviter... Surtout pour débuter. Avant d'apprendre une langue étrangère soyez d'abord à l'aise avec la langue pratiquée par le plus grand nombre....


Jerome
www.onplonge.com

Hors ligne

#37 Le 24/11/2009, à 13:51

jfortias

Re : Petit guide pour aider au choix d'un langage

commencer par le Basic, puis quand on trouve le langage trop "court" passer à Pascal, ou à Java est aussi un chemin intréessant. Comprendre les similitudes et les différences enrichient sa culture et son intelligence...

le facteur maturité et aussi compréhension des concepts théoriques de la programmation joue aussi...

Pour des petits jeunes commencer par le Basic, puis le Pascal, et enfin le C# ou le Java cela fait du sens

Pour une personne mature et déja rodée vaut mieux aller diretcement sur son langage à soit

Pour finir certains produits comme windev sont intréessants...


Jerome
www.onplonge.com

Hors ligne

#38 Le 24/11/2009, à 21:43

Le Farfadet Spatial

Re : Petit guide pour aider au choix d'un langage

Salut à tous !

jfortias a écrit :

Pour développer des petits applications spécifiques scientifiques mathématiques certains basics font largement l'affaires.

Il faut arrêter avec Basic, c'est un langage qui pose beaucoup trop de problèmes. Python évite tous ces problèmes, sans que l'apprentissage soit plus difficile.

Pour développer des applications multicouches le java ou le c# sont mieux.

Mieux que quoi ?

J'ai commencé en 1988

J'ai commencé en 1986 : qu'est-ce que je gagne ? Certainement pas un argument de poids...

De nombreux langages modernes étant issu du C c'est un choix intéressant si on souhaite acquérir une compétence globale et critique.

Tout d'abord, encore une fois, si l'idée est d'apprendre C++, alors il vaut mieux apprendre ce langage avant C : je viens encore aujourd'hui de mettre les doigts dans un code que l'auteur, qui a commencé par C, prétend avoir écrit en C++ et c'est une horreur sans nom. Cette approche est catastrophique, il faut vraiment arrêter de croire que C++ est une sur-couche de C.

   Je suis bien d'accord qu'il est bon d'avoir une approche critique de la programmation. Cependant, pour y parvenir, l'important n'est pas de maîtriser un langage en particulier, aussi bon soit-il. Pour avoir une approche critique, il faut maîtriser l'algorithmique, la modélisation et être conscient que l'approche impérative (l'approche historique en C) n'est pas la seule possible, ainsi que la programmation objet ne représente pas l'évolution ultime.

quand aux autres langages, genre ADA, Rebol, Eiffel, LISP, cela restent des langages de niches spécifiques. il est donc préférable de les éviter... Surtout pour débuter.

Tout d'abord, ADA et Eiffel ne font plus partie de la présentation. Ensuite, contrairement à ce que tu dis, je pense au contraire que Lisp est un bon choix pour débuter : c'est un langage simple, sans trop de cas particuliers, que l'on peut facilement aborder dans sa globalité et qui permet de réaliser des applications utiles. De plus, il permet de prendre conscience de la puissance de l'approche fonctionnelle.

   D'autre part, déclarer que tel langage n'est pas approprié pour débuter parce que c'est un langage de niche, pour ensuite conseiller Windev m'apparaît comme auto-contradictoire.

Avant d'apprendre une langue étrangère soyez d'abord à l'aise avec la langue pratiquée par le plus grand nombre....

Attends, si je suis bien ce raisonnement, il serait préférable que les petits français apprenne l'anglais avant le français, parce que le premier langage est plus utilisé de par le monde... J'ai du mal à trouver de la pertinence à cet argument.

   Puis, pour raisonner dans l'absolu, ce n'est pas parce que la majorité fait une erreur que l'on ne doit pas réfléchir s'il existe une meilleure voie.

   Enfin, une fois encore, il n'y a pas de langage parfait pour tout : y compris pour débuter, il convient de s'interroger sur ce qui est le plus approprié à son besoin particulier.

commencer par le Basic

Surtout pas : la conception même de Basic conduit à opter pour des pratiques de programmations dangereuses -- je m'étais bien amusé avec Basic à l'époque, mais il faut savoir être critique.

puis le Pascal

Encore une fois, Pascal, en dépit de ses qualités pédagogiques indéniables, n'est pas assez bien supporté sous Linux pour pouvoir le conseiller à un utilisateur de ce système qui voudrait débuter en programmation. Cela dit, on peut parfaitement commencer par Pascal sans passer par Basic.

Comprendre les similitudes et les différences enrichient sa culture et son intelligence...

Je suis bien d'accord. Cela dit, personne n'a encore dit le contraire.

   D'ailleurs, pour comprendre les différences et les similitudes, pour enrichir sa culture, il convient d'apprendre plusieurs langages et de ne pas se limiter aux seules approches impérative et objet.

Pour finir certains produits comme windev sont intréessants...

Je suis en profond désaccord sur ce point : ces produits rendent totalement dépendant d'un fournisseur, je refuse de pousser un débutant à s'enfermer. De plus, ils ne sont guère exploitables sur une autre plateforme que Microsoft Windows -- je n'aime pas le discours qui consiste à systématiquement dénigrer Microsoft, mais convient que conseiller sur le forum Ubuntu d'utiliser Windows pour apprendre à programmer est assez paradoxale, d'autant que mon expérience tant à montrer qu'il est plus facile de débuter en programmation sur un système de type Unix.

   Surtout, en lisant tes interventions, je n'arrive pas à comprendre où tu veux en venir.

   À bientôt.

                                                                                                                                 Le Farfadet Spatial

Dernière modification par Le Farfadet Spatial (Le 24/11/2009, à 21:47)

Hors ligne

#39 Le 01/12/2009, à 13:53

gepi

Re : Petit guide pour aider au choix d'un langage

Merci et toutes mes félicitations  à "Le Farfadet Spatial" d'avoir fait ce résumé au sujet des différents langages de programmation et surtout d'avoir mis l'accent sur les outils d'analyse.
En effet, même si je suis assez peu réceptif à tous les outils basés sur UML qui ont le grand défaut des environnements graphiques, j'ai passé une bonne partie de ma carrière à convaincre de nombreuses personnes de la nécessité d'une analyse précise et d'une méthodologie rigoureuse avant de se lancer dans la programmation.

Je viens de lire en vitesse ce fil très intéressant qui contient d'excellentes références mais me semble orienté exclusivement vers les "nouvelles technologies", ce qui est très positif mais ne représente pas la totalité de l'état actuel du marché informatique.

A part LISP et pascal , aucun des langages anciens, ceux qui existaient des les années 1970, n'est abordé.
Je pense que le monde scientifique utilise encore le FORTRAN (formulae translator). Je ne travaille plus dans ce secteur mais je me souviens d'avoir eu en main les bibliothèques du CERN entièrement écrites dans ce langage de programmation.
En ce qui concerne le 'back end' de l'informatique bancaire et des grandes entités publiques, on retrouve encore essentiellement aujourd'hui, des développements en COBOL(Commercial and Business Oriented Language). Sans parler de développements spécifiques en PL/1, APL, ... et autres langages à connotation IBM.

En faculté, j'ai eu la chance d'apprendre l'ALGOL(ALGOrithmic Language) , l'ancêtre du pascal, essentiellement pour un usage didactique de description d'algorithme.
Au niveau de l'algorithmique, la référence était Knuth qui reste toujours une base bien que la description d'algorithmes dans un assembleur virtuel ne soit vraiment plus au gout du jour.

Pardonnez moi si j'utilise la terminologie anglaise dans mes interventions mais quand j'ai débuté dans le métier, il y avait très peu d'ouvrages de référence en français et j'ai du progressivement m'accoutumer aux traductions de l'académie.
Il m'arrive encore souvent de me demander à quel concept correspond telle expression française quand le terme anglais a une signification très précise pour moi.

Hors ligne

#40 Le 01/12/2009, à 20:58

Le Farfadet Spatial

Re : Petit guide pour aider au choix d'un langage

Salut à tous !

gepi a écrit :

Merci et toutes mes félicitations  à "Le Farfadet Spatial" d'avoir fait ce résumé au sujet des différents langages de programmation et surtout d'avoir mis l'accent sur les outils d'analyse.

Hé bien, merci à toi !

En effet, même si je suis assez peu réceptif à tous les outils basés sur UML qui ont le grand défaut des environnements graphiques, j'ai passé une bonne partie de ma carrière à convaincre de nombreuses personnes de la nécessité d'une analyse précise et d'une méthodologie rigoureuse avant de se lancer dans la programmation.

Attention : UML est une technique de modélisation, qui ne présuppose pas de réaliser un environnement graphique. Il ne faut pas confondre avec les outils qui aident à la réalisation de schémas UML, qui eux ont les avantages et les inconvénients des interfaces graphiques. Pour ma part, je suis plutôt un adepte de la console, ce qui ne m'empêche pas de voir l'intérêt d'UML.

Je viens de lire en vitesse ce fil très intéressant qui contient d'excellentes références mais me semble orienté exclusivement vers les "nouvelles technologies", ce qui est très positif mais ne représente pas la totalité de l'état actuel du marché informatique.

Il y a une raison à cela : il s'agit d'un fil de discussion dédié à des gens qui souhaitent s'initier à la programmation, pas une présentation exhaustive dédiée à présenter l'intégralité du marché -- pour cela, je ne suis sans doute pas la personne la plus qualifiée --, ni non plus une présentation de l'histoire de l'informatique -- ça, par contre, je travaille dessus, mais laissez-moi un peu de temps avant d'en avoir fini.

Je pense que le monde scientifique utilise encore le FORTRAN (formulae translator). Je ne travaille plus dans ce secteur mais je me souviens d'avoir eu en main les bibliothèques du CERN entièrement écrites dans ce langage de programmation.

Justement, je suis en thèse et mon travail porte sur la simulation numérique, autant dire le calcul intensif (http://www.legos.obs-mip.fr/~lebars/).

   En effet, on trouve encore pas mal de code Fortran, cela dit de plus en plus on constate une migration vers C++. Bon, il faut reconnaître que je fais partie des partisans de l'abandon de Fortran. Certes, Fortran est relativement simple d'apprentissage, mais je trouve qu'il manque vraiment de souplesse.

En ce qui concerne le 'back end' de l'informatique bancaire et des grandes entités publiques, on retrouve encore essentiellement aujourd'hui, des développements en COBOL(Commercial and Business Oriented Language).

Il faut tout de même reconnaître que Cobol reste parfait pour faire peur au débutant.

Sans parler de développements spécifiques en PL/1, APL, ... et autres langages à connotation IBM.

Ha ! Oui : ces bons vieux langages. Ils ont certes un réel intérêt au niveau de l'histoire de l'informatique, mais difficile de les conseiller à quelqu'un qui débute aujourd'hui.

En faculté, j'ai eu la chance d'apprendre l'ALGOL(ALGOrithmic Language) , l'ancêtre du pascal, essentiellement pour un usage didactique de description d'algorithme.

Très bon langage, notamment en ce qui concerne l'initiation, mais il a totalement disparu aujourd'hui.

Au niveau de l'algorithmique, la référence était Knuth qui reste toujours une base bien que la description d'algorithmes dans un assembleur virtuel ne soit vraiment plus au gout du jour.

The Art of Computer Programming reste une référence, mais je trouve le Cormen et al. plus approprié pour le débutant.

   À bientôt.

                                                                                                                                 Le Farfadet Spatial

Hors ligne

#41 Le 02/12/2009, à 13:39

gepi

Re : Petit guide pour aider au choix d'un langage

Merci beaucoup d'avoir répondu aux divagations d'un vieux fossile de l'âge des brontosaures.

Malgré notre différence d'âge, nous nous rejoignons sur la plupart des points.
J'aurais du lire d'autres fils avant mon intervention et j'aurais su que tu étais partisan d'une migration du fortran vers le c++, ce qui est clairement dans l'air du temps.
Attention, toute migration a un cout qui se justifie rarement en terme de fonctionnalités, le meilleur argument étant parfois la difficulté de trouver des spécialistes dans le domaine pour maintenir l'application.

En ce qui concerne UML(Unified Modeling Language) , loin de moi l'idée de critiquer l'utilité d'une modélisation , ce qui est le but premier de ce langage mais, dans la mesure où l'on utilise un outil basé sur UML, l'information ne sera généralement accessible qu'au travers de cet outil et elle restera, à mon avis, très dispersée. Il est alors difficile d'avoir une vue d'ensemble d'une application ou même d'un composant complexe d'une application.
Une bonne analyse dans un texte structuré n'a pas ces défauts mais c'est nettement moins 'sexy'.

Je suis entièrement d'accord avec ton point de vue sur le cobol, ce n'est certainement pas le meilleur langage pour convaincre un débutant enthousiaste. Par contre, si le but est de trouver de l'emploi, il faut envisager parfois d'étudier des outils qui ne sont plus au gout du jour.

Ouvrons la parenthèse : tu recommandes LISP comme langage. C'est , à mon avis , un langage clairement orienté vers l'intelligence artificielle.  C'est donc une niche très spécifique. Je pense qu'il reste d'une utilité didactique. J'ai vécu un projet où ce langage avait été choisi sans une nécessité impérative. Il a vraiment été très difficile de trouver du personnel qualifié (un belge, un anglais, un danois , ...) mais quand tu en as trouvé un, tu trouveras les autres car ils se connaissent tous. Tu cites comme référence un livre présent sur le site de l'université de Liège : le belge était un ingénieur de cette université. Fermons la parenthèse smile .

Ce qui est vraiment bien dans l'ALGOL, c'est la description rigoureuse du langage dans une grammaire 'context-free' qui tient en 12 pages A4.

Si tu as besoin d'aide pour une présentation de l'histoire de l'informatique ou d'une vue particulière du marché actuel, n'hésite pas à me contacter.


Amicalement,

Jean-Pierre

Hors ligne

#42 Le 02/12/2009, à 21:56

Le Farfadet Spatial

Re : Petit guide pour aider au choix d'un langage

Salut à tous !

gepi a écrit :

Merci beaucoup d'avoir répondu aux divagations d'un vieux fossile de l'âge des brontosaures.

Il n'y a pas de quoi : j'ai demandé de l'aide pour compléter cette présentation, il ne manquerait plus que je ne réponde pas à ceux qui viennent apporter leur pierre à l'édifice.

J'aurais du lire d'autres fils avant mon intervention et j'aurais su que tu étais partisan d'une migration du fortran vers le c++, ce qui est clairement dans l'air du temps.
Attention, toute migration a un cout qui se justifie rarement en terme de fonctionnalités, le meilleur argument étant parfois la difficulté de trouver des spécialistes dans le domaine pour maintenir l'application.

Oh, moi, je suis dans la recherche, pas dans le monde réel -- d'ailleurs, je n'ai toujours pas démontré qu'il existe. Ce contexte n'est pas exactement le même que celui de l'industrie : je ne mets pas en cause le coût, qui reste vrai, mais c'est bien en fonction de ce que l'on veut faire que l'on choisit un langage (en tout cas moi). En l'occurrence, dans le cadre de modélisation sur grilles non-structurées, surtout si on veut mettre en place de l'adaptation, Fortran commence vraiment à montrer les limites de son manque de souplesse.

   Après, devenir un spécialiste de Fortran est facile, mais devenir un spécialiste de C++ est difficile (voir très difficile).

En ce qui concerne UML(Unified Modeling Language) , loin de moi l'idée de critiquer l'utilité d'une modélisation , ce qui est le but premier de ce langage mais, dans la mesure où l'on utilise un outil basé sur UML, l'information ne sera généralement accessible qu'au travers de cet outil et elle restera, à mon avis, très dispersée. Il est alors difficile d'avoir une vue d'ensemble d'une application ou même d'un composant complexe d'une application.
Une bonne analyse dans un texte structuré n'a pas ces défauts mais c'est nettement moins 'sexy'.

Encore une fois, UML est une méthode de description d'une architecture logicielle : il est difficile de parler d'un outil basé sur UML. Je n'ai rien contre une analyse texte, mais il faut reconnaître la très grande (je n'hésite pas à dire qu'elle est même plus grande) efficacité d'UML. Après, il n'y a aucun problème pour faire en sorte que les schémas UML soit dans un format libre facilement exploitable, par exemple en SVG, afin de l'intégrer dans le reste de la documentation.

Je suis entièrement d'accord avec ton point de vue sur le cobol, ce n'est certainement pas le meilleur langage pour convaincre un débutant enthousiaste. Par contre, si le but est de trouver de l'emploi, il faut envisager parfois d'étudier des outils qui ne sont plus au gout du jour.

C'est tout à fait exacte, mais ce n'est pas le propos de ce fil de discussion.

Ouvrons la parenthèse : tu recommandes LISP comme langage. C'est , à mon avis , un langage clairement orienté vers l'intelligence artificielle.  C'est donc une niche très spécifique. Je pense qu'il reste d'une utilité didactique. J'ai vécu un projet où ce langage avait été choisi sans une nécessité impérative. Il a vraiment été très difficile de trouver du personnel qualifié (un belge, un anglais, un danois , ...) mais quand tu en as trouvé un, tu trouveras les autres car ils se connaissent tous. Tu cites comme référence un livre présent sur le site de l'université de Liège : le belge était un ingénieur de cette université. Fermons la parenthèse smile .

J'ai mentionné LISP uniquement en raison de ses qualités pédagogiques, car il s'agit ici de parler d'initiation. Pour un projet industriel, il est vrai que ce n'est pas le langage le plus utilisé.

Si tu as besoin d'aide pour une présentation de l'histoire de l'informatique ou d'une vue particulière du marché actuel, n'hésite pas à me contacter.

Je n'y manquerais pas.

   À bientôt.

                                                                                                                                 Le Farfadet Spatial

Hors ligne

#43 Le 06/01/2010, à 11:39

k3c

Re : Petit guide pour aider au choix d'un langage

Le livre "Code Complete" (2 ème édition) de Steve Mc Connell est en ligne, et excellent pour qui veut approfondir sa manière de programmer.
En anglais.

http://cc2e.com/

Se créer un compte gratuit, et lire.


Archlinux sur Xiaomi Air 13

Hors ligne

#44 Le 08/01/2010, à 03:45

Le Farfadet Spatial

Re : Petit guide pour aider au choix d'un langage

Salut à tous !

k3c a écrit :

Le livre "Code Complete" (2 ème édition) de Steve Mc Connell est en ligne, et excellent pour qui veut approfondir sa manière de programmer.

À première vue, il a l'air intéressant, mais je ne veux pas l'ajouter sans l'évaluer un minimum.

   Pour commencer, peux-tu en faire un rapide résumé et une critique ?

   À bientôt.

                                                                                                                                     Le Farfadet Spatial

Hors ligne

#45 Le 13/01/2010, à 00:59

Spirzouf

Re : Petit guide pour aider au choix d'un langage

Bonsoir,

j'ai mis en ligne une version PDF française datée de ce jour pour l'ouvrage de SwaroopCH concernant Python 3

c'est ici : http://www.megaupload.com/?d=ALRACFAX

(ce livre est sous CC By-Sa 3.0, les références à l'auteur sont dans l'ouvrage)

Hors ligne

#46 Le 17/01/2010, à 12:48

Le Farfadet Spatial

Re : Petit guide pour aider au choix d'un langage

Salut à tous !

Spirzouf a écrit :

j'ai mis en ligne une version PDF française datée de ce jour pour l'ouvrage de SwaroopCH concernant Python 3

Merci pour ton travail. Toutefois, il est déjà disponible en ligne, l'adresse est donnée dans mon premier message. Si l'idée est de l'imprimer, alors il vaut mieux acheter le livre : ce sera moins cher.

   Sinon, K3c, n'as-tu vraiment rien à dire au sujet de Code Complete ?

   À bientôt.

                                                                                                                                     Le Farfadet Spatial

Hors ligne

#47 Le 17/01/2010, à 14:18

Spirzouf

Re : Petit guide pour aider au choix d'un langage

Le Farfadet Spatial a écrit :

Salut à tous !

Spirzouf a écrit :

j'ai mis en ligne une version PDF française datée de ce jour pour l'ouvrage de SwaroopCH concernant Python 3

Merci pour ton travail. Toutefois, il est déjà disponible en ligne, l'adresse est donnée dans mon premier message. Si l'idée est de l'imprimer, alors il vaut mieux acheter le livre : ce sera moins cher.

De rien pour le boulot, j'ai pensé que cela servirait à d'autre, vu que ça a été un peu compliqué à générer avec l'outil en ligne...

Il y a bien ton lien qui renvoie vers la version actualisée, mais l'intérêt du PDF :
- y avoir accès quand on est hors ligne (si si, c'est terrible, mais ça arrive ! tongue )
- l'imprimer : euh, 2 page par face en recto verso soit 27 feuilles, ce que j'ai fait, ça coûte quand même moins cher que de l'acheter (20$ en version anglaise) sans empêcher de faire un don d'ailleurs, et surtout, c'est immédiat et en français...

Cordialement

Hors ligne

#48 Le 17/01/2010, à 17:10

Le Farfadet Spatial

Re : Petit guide pour aider au choix d'un langage

Salut à tous !

Spirzouf a écrit :

2 page par face en recto verso soit 27 feuilles, ce que j'ai fait, ça coûte quand même moins cher que de l'acheter (20$ en version anglaise) sans empêcher de faire un don d'ailleurs

J'ai ajouté le lien.

   À bientôt.

                                                                                                                                     Le Farfadet Spatial

Hors ligne

#49 Le 09/03/2010, à 18:29

Koshie-2.0

Re : Petit guide pour aider au choix d'un langage

Voici un autre topic où on parle de la même chose, je fais plaisir à l'auteur là tongue.

#50 Le 09/03/2010, à 20:30

Le Farfadet Spatial

Re : Petit guide pour aider au choix d'un langage

Salut à tous !

Koshie-2.0 a écrit :

je fais plaisir à l'auteur là tongue.

Ben non : l'objectif, c'est d'essayer de synthétiser un peu le tout, pas d'éparpiller les réponses. Puis, me faire plaisir n'a pas d'importance. Par contre, ce fil a été créé suite à la demande des utilisateurs de ce forum, donc autant l'utiliser. D'autant qu'en plus cela passe le message : « continuez à faire ce genre de choses, nous les utilisons ».

   Cela dit, je te remercie t'avoir prêté attention à ce fil de discussion.

   À bientôt.

                                                                                                                                     Le Farfadet Spatial

Dernière modification par Le Farfadet Spatial (Le 09/03/2010, à 20:44)

Hors ligne