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 meilleurs langages de programmation en 2017 ?

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

    98 31,31%
  • C#

    93 29,71%
  • C++

    64 20,45%
  • Python

    68 21,73%
  • C

    30 9,58%
  • Pascal / Pascal Objet / Delphi / Lazarus

    31 9,90%
  • Langages fonctionnels (Ocaml, Haskell, Scheme, Erlang, F#...

    16 5,11%
  • Visual Basic .Net

    10 3,19%
  • Swift

    15 4,79%
  • Windev

    6 1,92%
  • Ruby

    10 3,19%
  • D

    3 0,96%
  • Perl

    4 1,28%
  • Objective-C

    2 0,64%
  • Go

    17 5,43%
  • Autres, merci de le préciser en commentaires

    14 4,47%
  • Pas d’avis

    2 0,64%
Sondage à choix multiple
Langages de programmation Discussion :

Quels sont les meilleurs langages de programmation en 2017 ? Et pourquoi ?


Sujet :

Langages de programmation

  1. #101
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Bonsoir
    Citation Envoyé par Lcf.vs Voir le message
    Hum, de nos jours, le JS est vraiment un langage généraliste et tiendrait une très bonne place dans ce classement.
    je suis entièrement d'accord avec toi car java script a vraiment une capitale dans le classement .

  2. #102
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Bonsoir
    51 392 développeurs de 213 pays ont répondu au sondage annuel de Stack Overflow, la célèbre plateforme de questions-réponses dédiée à la programmation. Les résultats du questionnaire, répété depuis 2013, donnent une bonne photographie de l’évolution des intérêts des programmeurs et des tendances technologiques.
    Popularité des langages
    La question sur l’usage des technologies par les programmeurs révèle sans surprise que JavaScript est le langage de programmation le plus utilisé (par 62,5 % des développeurs). Cela est le cas depuis cinq ans maintenant. Et encore une fois, SQL prend la deuxième place, Java la troisième et C#, la quatrième. Le changement de cette année est Python qui, passant de 26 à 32 %, prend la cinquième place, précédemment occupée par PHP. Au chapitre des nouveautés, on note aussi l’émergence de TypeScript qui passe de la confidentialité l’année dernière à un respectable 9,5 % en 2017. L’usage de C++ et Ruby reste stable, et celui de C connaît une embellie.

  3. #103
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Mon choix pourrait sembler vieillot pour certains... Mais le C reste et demeurera longtemps encore une valeur sûre. Et la première chose à dire est que ce n'est pas parce que ça fait un sacré petit bout de temps que le C est là qu'il faut pour autant le renier, parce qu'après tout, ça peut être pour une bonne raison...

    Mais du reste, je pense qu'il faut toujours considérer les deux points de vue qui s'opposent inévitablement en informatique : d'une part le côté abstrait, ou disons conceptuel, et d'autre part le côté concret. On a beau avoir le plus beau des algorithmes, ça ne servira pas à grand-chose tant qu'on n'en écrira pas un programme dans un langage particulier, qui fonctionne sur un ordinateur particulier. Et ce n'est un secret pour personne que rendre les choses concrètes peuvent très vite devenir très... administratives Exemple tout à fait banal qui me vient à l'esprit : l'allocation dynamique de mémoire. C'est un mécanisme purement issu de l’ingénierie, en tout cas quand on s'en sert et non pas qu'on cherche à l'implémenter, et qui ne sert aucune cause conceptuelle ; mais il faut le faire parce que nos ordinateurs ont une mémoire réelle, avec un fonctionnement précis, et surtout une taille limitée.

    Ainsi... On peut être tenté de favoriser l'un ou l'autre de ces deux aspects, servant tantôt l'un des propos, tantôt l'autre. On peut dire qu'il est préférable d'utiliser des langages abstraits, comme la plupart de ceux qui proposent de la programmation orientée objet, pour n'avoir à se concentrer que sur le vrai problème que le programme doit résoudre, pas sur des tâches d'allocation de ressources ou que sais-je encore. On peut également dire qu'il est préférable d'utiliser des langages moins abstraits comme le C, pour garder un contrôle pratiquement absolument sur le fonctionnement du programme, avec tout l'administratif que ça implique.

    Un des principaux arguments contre le C est justement qu'il est trop peu abstrait, et ne fournit pas beaucoup de mécanismes de programmation ; en fait, il ne fournit guère que la fonction, concept terriblement puissant mais très vite assez lourd syntaxiquement. Mais... Comme exemple, prenons le C++ et son usage plutôt répandu dans le monde du jeu vidéo. Les jeux vidéos sont assez sensibles aux performances, et notamment pour ce qui est l'allocation de mémoire, par exemple. Il est presque illusoire d'utiliser le mécanisme de base d'allocation dynamique du C++ tout au long du jeu, et c'est pourquoi les développeurs finissent en général par le remplacer... se replongeant ainsi dans l'administratif tout autant que dans le C, mais avec la syntaxe complexe et alambiquée de C++.

    De fait, je ne crois pas que l'administratif réduise la qualité de la portion "conceptuelle" d'un programme donné, ce n'est pas le plus intéressant, mais c'est en général assez facile à faire, et surtout, c'est très formateur. La conclusion doit donc être... Que ça dépend des cas, bien sur. Ça dépend des performances qu'on souhaite obtenir, du niveau de contrôle qu'on souhaite avoir ; ça dépend de tout, et le meilleur moyen de comprendre les différentes options à disposition reste encore d'en tester un certain nombre.

    Je trouve que dans les cours d'informatique modernes, le C est trop facilement négligé, à un point même qu'il semble prendre une mauvaise réputation, alors que tout bon programmeur pourrait devenir excellent en utilisant et comprenant le C, et même l'assembleur sous-jacent. Il ne faut pas oublier par ailleurs que le C est un langage pour ainsi dire universel, très portable, qui a bénéficié de bien des années de raffinement... Et par ailleurs, il n'est pas nécessaire d'écrire toujours tout un programme avec uniquement un langage de programmation.

    Finalement, c'est assez dommage que le C perde de la place dans la programmation moderne, et je doute qu'on puisse réellement comprendre l'informatique et les ordinateurs rien qu'en utilisant des langages de trop haut niveau.

  4. #104
    Expert éminent sénior
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 630
    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 630
    Points : 10 556
    Points
    10 556
    Par défaut
    Citation Envoyé par Levenstein Voir le message
    bla bla bla
    On peut résumer ton message à
    • la notion de générations, même si personne n'est d'accord Le C c'est un L1G (1GL en anglais), le Java un L3G (3GL en anglais) et le Python un L4G (4GL en anglais). Programming language generations (**)
    • C'est l'accroche qui était rabâchée lors de la différence entre le C++ et le C++ moderne: "Le développeur doit se concentrer sur ce qu'il doit faire et non pas sur le comment faire"


    ** -> En réalité, le C c'est plus un L1.5G et le C++ un L2.7G

    Citation Envoyé par Levenstein Voir le message
    Je trouve que dans les cours d'informatique modernes, le C est trop facilement négligé, à un point même qu'il semble prendre une mauvaise réputation, alors que tout bon programmeur pourrait devenir excellent en utilisant et comprenant le C, et même l'assembleur sous-jacent. Il ne faut pas oublier par ailleurs que le C est un langage pour ainsi dire universel, très portable, qui a bénéficié de bien des années de raffinement... Et par ailleurs, il n'est pas nécessaire d'écrire toujours tout un programme avec uniquement un langage de programmation.
    C'est la philosophie des 4-5 dernières années en France: un développeur c'est une ressource, la grande majorité des missions sont des clients légers, et le développeur n'a besoin que de connaître les langages et 2-3 trucs pour coder une application (<- philosophie: keyboard first)


    Citation Envoyé par Levenstein Voir le message
    Finalement, c'est assez dommage que le C perde de la place dans la programmation moderne, et je doute qu'on puisse réellement comprendre l'informatique et les ordinateurs rien qu'en utilisant des langages de trop haut niveau.
    Donc le langage C et d'autres aussi, ne sont pas en perte de vitesse: ce sont les langages Web (JavaScript, Python, Go, Ruby, ...) qui ont une adoption exponentiellement.
    Et le langage C vivra toujours: va faire un driver en JavaScript ou en Python voire même en C++ moderne (<- troll)

  5. #105
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Binfatm Voir le message
    51 392 développeurs de 213 pays ont répondu au sondage annuel de Stack Overflow, la célèbre plateforme de questions-réponses dédiée à la programmation. Les résultats du questionnaire, répété depuis 2013, donnent une bonne photographie de l’évolution des intérêts des programmeurs et des tendances technologiques.
    En quoi un sondage sur un forum d'entreaide donne-t-il une "bonne photographie" ? Pour moi c'est plutôt une source de biais, au contraire. Quant aux 51 392 réponses, ça ne fait même pas 0,3 % des développeurs professionnels (estimés à 21 millions dans le monde), en supposant que les répondants soient effectivement tous des développeurs professionnels...

  6. #106
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2017
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par SimonDecoline Voir le message
    En quoi un sondage sur un forum d'entreaide donne-t-il une "bonne photographie" ? Pour moi c'est plutôt une source de biais, au contraire. Quant aux 51 392 réponses, ça ne fait même pas 0,3 % des développeurs professionnels (estimés à 21 millions dans le . ..)

    Euh... Erreur disons que ce n'est qu'une petite partie visible de la grante tarte au chocolat. ..( *^()^*).

  7. #107
    Membre chevronné
    Avatar de tails
    Homme Profil pro
    Inscrit en
    Novembre 2003
    Messages
    799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations forums :
    Inscription : Novembre 2003
    Messages : 799
    Points : 2 148
    Points
    2 148
    Billets dans le blog
    15
    Par défaut
    Pas vraiment une manière saine de récompenser l'initiative des différents modérateurs et/ou contributeurs

  8. #108
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Togo

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2017
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Question
    Bonjour,

    Fou des codes depuis fort longtemps, aujourd'hui mon plus grand désir est de développer un réseau social à l'image de whatsapp... Je maîtrise les langages html css php... Je suis actuellement une formation de 2ans avec Objis qui est censé me rafraichir la mémoire sur ces langages en plus de me former sur du javascript et Java...
    Vu l'objectif que je me suis fixé, ces langages me seront-ils suffisants? Merci de répondre

    Cordialement,

  9. #109
    Community Manager

    Profil pro
    Inscrit en
    Avril 2014
    Messages
    4 207
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2014
    Messages : 4 207
    Points : 13 061
    Points
    13 061
    Pour contacter les différents services du club (publications, partenariats, publicité, ...) : Contacts

  10. #110
    Membre chevronné

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2015
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2015
    Messages : 450
    Points : 1 970
    Points
    1 970
    Par défaut
    Citation Envoyé par NellyGus Voir le message
    un réseau social à l'image de whatsapp...
    Bonjour, dans la mesure où WhatsApp existe, ainsi qu'une multitude de trucs analogues, je me demande si ça vaut la peine de le déveloper, au fond...
    Quant aux langages mentionnés, ils font sans doute le job côté client, mais quid côté serveur ? Du JS ?
    Mais ce n'est pas ma culture, donc...

  11. #111
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2017
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : Togo

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2017
    Messages : 2
    Points : 3
    Points
    3
    Par défaut
    Merci pour votre réponse...

  12. #112
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 1
    Points : 2
    Points
    2
    Par défaut
    Et c'est pas en régnant sur des désert (pour refaire allusion à l'empire mongol) que l'on peut s'offrir une place au soleil.
    NodeJS sa fait beaucoup de bruit mais concrètement c'est très peu utilisé et très mal compris, il est stupide de penser qu'il peut remplacer PHP/JAVA/ASP, NodeJS n'est pas conçu dans cette optique mais pour répondre à une problématique très particulière (interaction tres fréquente entre une page web client et le serveur), cela sert à peu de monde, même les jeux en ligne en HTML5 n'en n'ont guère l'utilité, le peu de fps 3D en html5 n'en utilise pas en tous cas.
    Quand même Node Js a l'avantage des langages fonctionnels

  13. #113
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : Canada

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

    Informations forums :
    Inscription : Décembre 2017
    Messages : 5
    Points : 7
    Points
    7
    Par défaut
    Perso, je peux pas trop donner un avis par rapport à tous les langages, mais en tout cas ce qu'on ma enseigné dans mes cours de programmation c'était le C# et le JavaScript et ça me va très bien.

  14. #114
    Membre régulier
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2016
    Messages : 60
    Points : 87
    Points
    87
    Par défaut Langages pour L'IA
    Java c'est le langage du jour d'après.
    Si on souhaite un langage pour faire de l'IA il faut juste regarder ce qu'utilisait SUN le jour d'avant, c.a.d. ce qui est caché
    dans JAVA.
    Le regretté Julian Noble disait à ce sujet que c'était probablement le secret Informatique le mieux gardé.
    Cordialement
    Ludwig

  15. #115
    Membre régulier
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2016
    Messages : 60
    Points : 87
    Points
    87
    Par défaut Language de Programmation
    Salut tout le monde,
    Il me semble que c'est difficile de dire que tel ou tel langage est meilleurs que tel ou tel autre. Je crois que cela dépend beaucoup de tout un chacun.
    Pour ma part ce sera certainement un langage sans syntaxe ou au pire une syntaxe minimale. Pour la bonne et simple raison que mes neurones
    fonctionnent comme une passoire. Donc moins il y a à retenir, mieux je me porte. Heureusement pour moi, un certain Chuck Moore, à l'époque
    assistant chez McCarthy+ (MIT Lisp) a mis au point un certain concept, que Sun avait repris et installé sur toutes ses machines serveur compris.
    Puis arrivèrent James Gosling et Patrick Naughton, qui ont changé la robe de la marié et ils lui ont donnée le nom de Java. En arrière plan, la machine virtuelle est évidement toujours là. Pour ma part je continue à travailler avec l'original qui est beaucoup plus puissant que tout ce que l'on peut imaginer. Et cerise sur le gâteau, pas de syntaxe.

    Cordialement

    Ludwig

  16. #116
    Membre chevronné

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2015
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2015
    Messages : 450
    Points : 1 970
    Points
    1 970
    Par défaut
    Citation Envoyé par Ludwig1 Voir le message
    Salut tout le monde,

    Pour ma part ce sera certainement un langage sans syntaxe ou au pire une syntaxe minimale.
    Peux-tu preciser ce que tu entends par là ? Ça fait une grosse trentaine d'années que je pratique toutes sortes de langages (vraiment), mais je n'en ai jamais vu un qui n'ait pas une syntaxe formelle. Plus loin, je ne vois simplement pas à quoi ça pourrait correspondre. C'est un peu comme si tu estimais que la forme la plus simple d'une phrase, sujet, verbe, complément ne servait à rien, que on parler sans Yoda pourrait inconvénient.

    Bref, je n'ai sans doute rien compris mais comme j'aime apprendre, tu peux développer le concept ?

    Thierry

  17. #117
    Membre régulier
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2016
    Messages : 60
    Points : 87
    Points
    87
    Par défaut Langages de programmation
    Salut,
    par sans Syntaxe j'entend ceci:

    Un Exemple de composant informatique autonome qui peut être installé en local ou sur un serveur quelconque.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    
    
    &&   Nom de l'outil:        ChoixCouleur(C8A41186F4)Dlg   Outil de démonstration d'une application Easywindows 
    &&   Date de création:      01/08/2017
    &&   Heure de création:     16:12:07
    &&   Copyright: (C)         2001-2030 
    &&   Vecteur développé par: Louis Jean-Pierre SCHMITT Prof. Emérite
    &&   Email:                 jean.pierre@buechi-schmitt.ch 
    
    && Dialogue  ChoixCouleur(C8A41186F4)Dlg
    
    && ChoixCouleur(C8A41186F4)Dlg.FTH is a computer Dialog component developed
    && by I.C.M. it is based of Microsoft windows systems and Easywindows systems
    && This component is for free use and made available to users by I.C.M.
    && I.C.M. Assumes no responsibility 
    && for the implementation and use of this computer component.
    
    
    \ ############################################################################################################
    \ ############											##############
    \ ############					INSTALLATION DE L'OUTIL 			##############
    \ ############											##############
    \ ############################################################################################################
    
    /ROOT ( ChoixCouleur(C8A41186F4)Dlg.FTH )ExitIfLoaded		\ On ferme tous les contextes, on regarde si le dialogue est présent dans le dictionnaire
    								\ Si oui on quitte. Si non on installe le dialogue et on le rend contexte courant.	
    								\ On installe un Marqueur, à retirer avant la mise en service définitive du dialogue
    VOCABULARY  ChoixCouleur(C8A41186F4)Dlg.FTH			\ On Installe le Vocabulaire
    ChoixCouleur(C8A41186F4)Dlg.FTH DEFINITIONS			\ On le rend  Contexte de définition
    
    
    
    
    
    
    \ ############################################################################################################
    \ ############											##############
    \ ############			INSTALLATION DE LA CONFIGURATION DES DONNEES 			##############
    \ ############											##############
    \ ############################################################################################################
    
    
    
    
    
    
    
    : ChoixCouleur.Datas
    
    
    
    \ =========  Installation du Texte ====================
    
     ResetList
    
    
    
    \ ==========   Installation des données ================
    
    
     ( #MultiKeys1.Datas :Id.MultiKeys1   0  0 352 352  :M0 Color.Back 25 )SendTo
     ( #MultiKeys1.Datas :M1 EW_MATRIX  16 Lignes  16 Colonnes 22  DimX 22 DimY  )SendTo
     ( #MultiKeys1.Datas :M2 EW_MODE Memorise ON   )SendTo
     ( #MultiKeys1.Datas :M3 EW_LOGO Rectangle ON  )SendTo
     ( #MultiKeys1.Datas :MX; )SendTo
     ( #Keys20.Datas      :Id.Keys20  10 360 35 35 NOOP   :M0 Color.Back 25 :MX; )SendTo
    
    \ ===========   Installation des commandes  =============
    
    
    ;
    
    
    
    
    \ ############################################################################################################
    \ ############											##############
    \ ############			       INSTALLATION DES IDENTIFICATEURS 		      	##############
    \ ############											##############
    \ ############################################################################################################
    
    WARNING OFF
    
    200 IDENT Id.MultiKeys1
        IDENT Id.DlgQuit 
        IDENT Id.Cancel 
        IDENT Id.Keys20
    DROP	
    
    WARNING ON
    
    DIALOGS ChoixCouleur.Dialog		\ Création de la structure de la boîte de dialogue
    
            [MODELESS " I. C. M.    Choix d'une couleur dans la palette ci-dessous " 30 30 235 250 (FONT 8, MS Sans Serif) ]
            [DEFPUSHBUTTON  " OK"         Id.DlgQuit      					       190  230   40   15 ]
            [PUSHBUTTON     " Cancel"     Id.Cancel       					       145  230   40   15 ]
            [COMPONENT      " Keys"       Id.Keys20        		  10   360   35  35   (+STYLES  EW_RECT  ) ]
            [COMPONENT      " MultiKeys"  Id.MultiKeys1                0     0   20  20   (+STYLES EW_MATRIX EW_MODE EW_LOGO ) ]
    
    END-DIALOGS
    
    
    
    : ChoixCouleur.Paint 		S( --- )
    
    
      Id.MultiKeys1       MultiKeys.Paint
      Id.Keys20 	      Keys.Paint
    
    ;
    
    
    
    
    :  ChoixCouleur.Get		S( --- )
    
    
       Id.MultiKeys1           MultiKeys.Get
       Id.Keys20               Keys.ValueSet
       Id.Keys20               Keys.Paint
      
    ;   
    
    
    : ChoixCouleur.Quit		S( --- )
    
      
      HWND 0 EndDialog 
      HWND Application.Quit
      HWND SubKey.DestroyEX
     ( EWPARAM$ :M0 Color.Back TO :HWNDX :IDX :M0 )Task.Perform        \ On calle le mode interprété
    
     ; 
    
    
    : ChoixCouleur.Task		S( --- ) \ Exécute la tâche
    
      ChoixCouleur.Quit
      
      Task.Perform
    
    
     
    ;
    
    
    : ChoixCouleur.Commands		S( --- res )
    
            CASE
    
    	Id.DlgQuit      OF ChoixCouleur.Task     		ENDOF
        	Id.Cancel       OF ChoixCouleur.Quit     		ENDOF
    	Id.MultiKeys1 OF ChoixCouleur.Get ENDOF
    	
            ENDCASE
    
    ;
    
    
    : SetDlgParam
    
      INHERIT-DIALOG$ 2 ITEM
      [CHAR] ( Split 2swap
      2DROP (FIND)
      IF EXECUTE THEN 
    
    ;
    
    
    
    : ChoixCouleur.Messages 	S( Mes --- Zéro ) \ procédure de Gestion des messages 
    						  \ expédiés par Windows au travers du callback
    
               CASE
                  
                    WM_ACTIVATE    	 OF WPARAM LOWORD  WA_CLICKACTIVE = IF HWND EWfocus.Change  THEN 
                                        HWND InitDialogDlgParam  ChoixCouleur.Init   			ENDOF
                    WM_CLOSE	 OF ChoixCouleur.Quit   	                	  		ENDOF 	\ ferme la boîte de dialogue
       		WM_COMMAND   	 OF WPARAM LOWORD ChoixCouleur.Commands					ENDOF	\ Call Procédure Gestion des commandes
       		WM_INITDIALOG    OF ChoixCouleur.Init   						ENDOF	\ Call Procédure de Création Zone Client 
       		WM_PAINT         OF ChoixCouleur.Paint      						ENDOF	\ Call App-Paint
       		WM_LBUTTONDOWN   OF HWND  EWPARAM ChoixCouleur.Commands          			ENDOF
                   
                    ZERO
            ENDCASE 
    
    ;
    
    
    
    :NONAME S( -- res )	\ Création du callback
    
     INHERIT-SEARCHORDER 
     INHERIT-FLOAT  
     INHERIT-DIALOG 
     MSG LOWORD ChoixCouleur.Messages  ; 
     
    4 CB: ChoixCouleur.Run  \ callback
    
    
    
    \ Fonction principale
    
    
     
    : ChoixCouleur(C8A41186F4)Dlg		S( --- ) \ procédure principale
    
      ConfigDialogIndirectParam
      ChoixCouleur.Datas
      ChoixCouleur.Dialog CELL- OFF
      ChoixCouleur.Dialog CELL- @ ?EXIT
      HINST ChoixCouleur.Dialog 
      HWND  ChoixCouleur.Run  
      0 CreateDialogIndirectParam
      ChoixCouleur.Dialog CELL- ! 
     
    
     ;

    Pour la petite histoire:

    Il y a environ 30 ans en arrière nous avions à l'école d'Ing. de Fribourg CH département de mécanique, développé sous DOS à l'aide d'une machine virtuelle, une technologie composant ainsi qu'un langage baptisé SYNTAL pour Synthétique Machine et Algorithmique Langage. Java n'existait pas encore Seul 3.11 de MS existait. Les labos du département tournaient avec notre machine. Les composants (Interfaces graphiques) étaient installés sur les serveurs de l'école. Un étudiant pour se tailler une app. sur mesure en avait pour environ 10 minutes pour réaliser l'interface graphique Homme machine.
    Il faut dire que tout ce travail n'est jamais sorti des Labos.
    Puis arriva WIN 95 puis NT Etc... la maintenance sous DOS devenait de plus en plus délicate. Nous décidâmes de passer en WIN 95 - 98 etc... avec une machine virtuelle du commerce et programmation Windows classique.
    Etant à la retraite, j'ai pris la décision de porter sur WIN toute la technologie développé à l'époque sous DOS.
    Il faut dire également que la machine marche en mode interprété et en mode Compilé.
    Comme l'IA est devenu d'actualité, le moment est venu de sortir tous ce travail, car c'est de l'IA avec un grand I, en fonction des données,
    la machine construit elle-même du code puis elle l'exécute toute seule.

    Comme tu peux constater ci-dessus, il n'y a pratiquement pas de syntaxe, juste des mots qui se suivent.

    Cordialement
    Ludwig

  18. #118
    Membre chevronné

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2015
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2015
    Messages : 450
    Points : 1 970
    Points
    1 970
    Par défaut
    Citation Envoyé par Ludwig1 Voir le message
    Salut,
    par sans Syntaxe j'entend ceci:

    Un Exemple de composant informatique autonome qui peut être installé en local ou sur un serveur quelconque.
    [...]
    Comme tu peux constater ci-dessus, il n'y a pratiquement pas de syntaxe, juste des mots qui se suivent.

    Cordialement
    Ludwig
    Bon, écoute. Pour moi, une syntaxe est en gros tout ce qui ordonne ton code et permet d'identifier les syntagmes qui le constituent. Ainsi, lorsque je tombe sur

    : ChoixCouleur.Commands S(--- res)

    cette formulation n'est pas du hasard mais répond à une forme stricte. Donc, à une syntaxe.

    Pour le reste, dis-moi si je peux exécuter ce bidule dans un environnement disponible quelque part. Ca me rappelle la définition des blocs transactionnels ACMS, sous VMS, un peu.

    Par contre, à mon sens, nous sommes très loin de l'Intelligence artificielle, ou alors explique-moi comment ce bout de code apprend, de quel type d'expérience et à partir de quoi il décide de quelque chose...

    En fait, le tout me rappelle un brin un L4G que nous avions développé en dBase III+ - Clipper avec un copain (lui l'avait beaucoup développé, moi, j'étais passé ensuite pour finaliser), qui permettait vraiment une programmation dynamique à partir du masque d'écran. Conceptuellement, ça marchait bien. Mais je n'ai jamais imaginé le transposer dans les systèmes que j'ai fréquentés ensuite, où on avait 2500 postes de travail répartis dans le monde déversant des transactions critiques en continu dans une BD relationnelle... Plus tard, j'ai écrit un système de trading sur les marchés financiers, en portant tout l'effort sur l'interface utilisateur. Ca a été un succès, c'est toujours utilisé plus de dix ans après. C'était juste du Delphi, et le jour où j'ai posé la bride, mon successeur a pu reprendre le bébé pour poursuivre son développement et son adaptation aux besoins des marchés sans faire une dépression.

    La morale de l'histoire est que personnellement, j'ai renoncé depuis longtemps à voir quelque chose d'autre que moi écrire le code vraiment utile. Je ne vais pas aller jusqu'à Moore et Forth, qui réécrivait son système en commençant par les routines d'addition chaque fois qu'il l'installait sur une bécane, mais garder la main sur ce qui se passe, surtout pour les systèmes critiques, c'est irremplaçable.

    Et j'attache une attention toute particulière à la lisibilité du code. Pendant 25 ans j'ai joué dans le milieu bancaire, un peu à tous les postes touchant au développement et à l'architecture. Un poste est resté constant sur toute la durée : La maintenance des applications existantes. C'était d'abord du COBOL, puis Delphi, C, C++, un brin de VB, comme plateforme principale. A chaque fois qu'il a fallu entrer dans du code cryptique, ça a été la galère (le pire a été du vieux COBOL avec des noms de variables sur trois caractères et des GOTO partout, je te dis pas).

    J'attends donc d'un code qu'il montre ce qu'il fait, tout droit, les yeux dans les yeux. Je sais qu'en PERL, on n'est pas digne d'attention tant qu'on a pas écrit un soft de gestion complet en une ligne. Moi, le gars qui vient me présenter un truc comme ça, je le renvoie directement à ses chères études si il ne me montre pas très rapidement quelque chose qu'un autre que moi pourra maintenir ensuite. Voilà !

    Pour revenir sur le point de l'IA, si on suit les travaux actuels c'est surtout le DeepLearning qui est intéressant et offre de vrais débouchés. Mais nous sommes loin des systèmes conventionnels, puisqu'au final on créé une machine qui va calculer ses paramètres de fonctionnement. Mais pas son fonctionnement proprement dit, pour le moment en tout cas.

    Allez, je t'ai assez retenu ! Dis-moi quand même si ce truc s'exécute, je suis toujours curieux de tout, m'étant trompé suffisamment de fois pour savoir que je peux le faire encore une fois...

    ;-)

    Thierry

  19. #119
    Membre régulier
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2016
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2016
    Messages : 60
    Points : 87
    Points
    87
    Par défaut Meilleurs Langages de programmation
    Salut,
    A l'époque ou nous avions développé cette affaire, le contexte était bien différent de celui d'aujourd'hui. Nous avions à disposition 2 périodes de 45' sur 2 semestre pour faire passer les fondements de l'informatique aux étudiants de 1ere année semestre 2 et deuxième année semestre 3.
    Ce n'était pas évident. On a fait l'inventaire des acquis (Stations Sun avec machine virtuelle, Calculatrice HP avec notation Polonaise inversée, jeux d'instruction SWAP DUP ROT etc... ça ils maitrisaient bien puisqu'ils programmaient leurs machines HP 51 pour des calculs scientifiques) les choix se sont imposés, machine virtuelle, ou plus tôt processeur virtuel et une technologie composants qui permettait de créer toute sorte d'interface
    pour les besoins des labos. Chaque étudiant produisait un interface nouveau par semaine. En un rien de temps nous avions une bibliothèque très étoffée.
    La réalisation d'une application consistait alors à construire à l'écran avec un éditeur Graphique (Style CAO) l'interface homme machine dont on avait besoin.
    Tous ces composants étaient appelé par un chargeur qui installait les outils sur la machine puis le travail fini, ils étaient shootés et au suivant.

    Le composant que j'ai posté fonctionne très bien dès lors qu'il est installé sur la machine Ad'hoc. C'est un outil comme un forêt par exemple, pour percer un trou, il te faut encore une machine. Ben là c'est pareil.
    Comme on travaille en notation Polonaise Inversée, la règle est:
    Préparation des données, puis appel de la procédure qui va réaliser les opérations. ( J'allais dire Usinage des données)

    A titre d'exemple, ça c'est le chargeur d'outil, on lui passe le nom de l'outil et ça se débrouille pour l'installer à l'écran ou exécuter une tâche selon les besoins de la cause.

    Info S( adr,len --- ) est juste un comentaire de pile pour dire que la fonction Apps.Build à besoin d'un nom pour fonctionner.

    adr, pointe le début de la chaine de caractères et len est sa taille


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    
    : Apps.Build			S( adr,len --- ) \ Installe un composant
     
            FONCTION$ $!
            FONCTION$ AppResource.Activ?	IF GetActiveResourceEX  EXIT THEN	\ Test si la resource est active à l'écran
    
            FONCTION$ AppResource.Loaded?	IF GetLoadedCommandEX   EXIT THEN	\ Test si la resource est chargée dans un dictionnaire
            FONCTION$ AppResource.Local?    IF AppCommand.Build   	EXIT THEN	\ Test si la resource est spécifique à l'application
    
    
            Fonction$ LocalResource?  	IF GetWindowCommandEX   EXIT THEN	\ Test si la resource est installée localement
            FONCTION$ InternetResource?     IF GetInternetCommand   EXIT THEN	\ test si la resource est disponible sur un serveur
    
    ;
    
    
    
    
    : FindAndExecuteEX			S( --- )
    
        MI_IDX$ [CHAR] . SCAN ?NIL 
        SysAbort" FindAndExecuteEX ID_ERROR_ID_NOT_FOUND"
        1 /STRING  Apps.Build
    
    ;

    Il me semble que le texte ci-dessus est tout de même un plus facile à lire que ce que l'on l'habitude de voir.


    Cordialement

    Ludwig

  20. #120
    Membre chevronné

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Avril 2015
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2015
    Messages : 450
    Points : 1 970
    Points
    1 970
    Par défaut
    Citation Envoyé par Ludwig1 Voir le message

    Il me semble que le texte ci-dessus est tout de même un plus facile à lire que ce que l'on l'habitude de voir.

    Ludwig
    Je ne vais pas entrer loin dans ce débat. J'ai lu beaucoup de code, littéralement des millions de lignes, en toutes sortes de langages, et je peux t'assurer qu'après les mille premières, quel que soit le langage, on comprend. Simplement, si j'avais dû commencer par ce code-ci, je pense que j'aurais aujourd'hui moins de cheveux. Pourquoi ? Parce qu'il ne dit rien sur son but, ni son environnement.

    Parmi les codes lisibles, s'il est écrit correctement, je place COBOL. Le fait qu'aujourd'hui encore je connaisse des applications qui tournent et sont maintenues depuis plus de trente ans le confirme, même si ce langage est devenu obsolète. J'aime aussi Pascal, qui expose clairement les prémisses de l'approche qu'on implémente. Même chose avec C++. Dans les langages dynamiques, j'apprécie Python et je m'intéresse à TypeScript. Dans les deux cas on a une bonne économie d'expression et une grande efficacité.

    Par contre je n'aime pas Swift, c'est comme ça. Pouvoir condenser en une ligne de quelques signes cabalistiques un raisonnement "pas simple" est pour moi juste contre-productif. Ca marchera toujours bien pour l'auteur original, sur trois mois. Puis le ré-apprentissage de ce qui a été fait deviendra plus coûteux que l'écriture directe d'un code explicite. A l'extrême de cette tendance on trouve PERL, et ses one-liners inextricables...

    Bref, je ne suis pas fan de ce que tu me montres, j'ai toujours fui la notion polonaise, sauf lorsque j'ai dû écrire des fonds de rapports en Postscript (si, si, je l'ai fait). Et franchement, j'ai trouvé ça rigolo, mais seulement sur un court moment et parce que ça résolvait un sacré problème.

    Bon, assez de bla-bla, je te souhaite un tout bon week-end. A une prochaine, tschuess !

    Thierry

Discussions similaires

  1. Quels sont vos EDI préférés pour programmer en 2017 ? Et pourquoi ?
    Par Community Management dans le forum Autres EDI
    Réponses: 58
    Dernier message: 15/01/2018, 13h33
  2. Quels sont les meilleurs livres pour UML ?
    Par Matthieu Brucher dans le forum Livres
    Réponses: 33
    Dernier message: 31/01/2014, 10h36
  3. Quels sont les meilleurs langages pour créer une application non-web (en local) ?
    Par Skeud007 dans le forum Langages de programmation
    Réponses: 11
    Dernier message: 31/08/2007, 16h33
  4. Quels sont les meilleurs moyens Marketing pour faire connaitre un site ?
    Par patrick_lassaly dans le forum Webmarketing
    Réponses: 23
    Dernier message: 24/11/2005, 11h28

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