Partage
  • Partager sur Facebook
  • Partager sur Twitter

Quel language de programmation après VBA ?

Sujet résolu
    4 mars 2020 à 17:27:50

    Bonjour à tous,

    Pour la énième fois quel langage de programmation, mais pas pour débuter pour évoluer ? Je m'explique, en entreprise, j'ai créé pas mal d'outils avec le langage Microsoft VBA en passant par Excel. J'aimerai aujourd'hui passer une étape, quel langage pourrait me permettre de créer des outils sans qu'il soit nécessaire d'installer quoique se soit sur mon poste de travail. J'ai commencé à apprendre JavaScript, car il utilise le navigateur, je peux ainsi travailler chez moi et continuer au travail. J'ai jeté un coup d'œil à Python, mais le problème est qu'il faut l'installer pour pouvoir l'utiliser et ce n'est pas possible à mon boulot.

    Mes connaissance : VBA, HTML, CSS.....action script :|

    Peut-être que je fais fausse route et que je devrais me concentrer sur un autre langage ? Merci pour votre aide

    • Partager sur Facebook
    • Partager sur Twitter
      4 mars 2020 à 22:12:04

      Salut ! Tout dépend de tes besoins. Avant d'apprendre un langage de programmation, il faut savoir ce que tu veux faire. Le langage n'est qu'un outil. Désolé de devoir te dire ça mais, en théorie, à moins que ton poste ait déjà les outils requis, il n'existe pas de façon de pogrammer, sans installer certains prérequis.

      - Si tu souhaite t'orienter dans le développement d'applications sous Windows, alors C# (.NET), VB (.NET), Java SE seraient une bonne solution, car il possèdent déjà tous les outils nécessaires tout en étant flexibles. En plus tu as déjà les bases en VB.

      - Pour le développement d'applications mobiles je te conseillerait plutôt Kotlin (Android, descendant de Java), Swift (iOS), qui sont des "nouvelles technologies", des langages sexys et faciles à manipuler, et aussi Java SE.

      - Pour le développement de jeux vidéos, qui nécessite de bonnes connaissances de la gestion de la mémoire, de la machine dans le sens approfondi, C++, est très réputé.

      - Pour la "data science", l'analyse de données, l'algorithmie, python est un excellent langage car il permet d'aller à l'essentiel, et contrairement au C, C++, Objective-C, il est de très haut niveau (j'y reviendrai après).

      - Pour le développement d'intelligence artificielles, encore une fois, Python, et toutes ses librairies qui facilitent l'apprentissage, mais surtout, C++, pour sa rapidité de calculs et ses performance.

      - Pour le développement web... Beacoup de langages (javascript et ses frameworks, python, PHP, C#, Java), à peu près tout ce qui possède un contrôle de flux d'entrée.

      - Pour le développement sur les bases de données, que tu dois bien connaitre, SQL est le seul que je connaisse (je suis pas trop DB), mais il doit certainement en avoir beaucoup d'autres....

      - Enfin, pour le développement réseau, ou l'informatique embarquée (microprocesseurs, robots...), C++ et C te permettront d'avoir la main sur la mémoire, les performances et la rapidité.

      Il existe deux type langages de programmation:

      - Les langages interprétés, comme Javascript, Python, Lua, Perl. On les dits interprétés, car on a besoin d'un interpréteur pour pouvoir exécuter son application, le code sera analysé ligne par ligne par l'interpréteur, et celui ci se chargera de faire l'action spécifiée. L'interpréteur recueille les données d'entrée (ex: login), et se charge de renvoyer les données de sortie (ex: connexion à une base de données).

      - Les langages compilés, comme le C, le C++, l'Objective-C, VB, Algol. Ces langages sont dits compilés, car le code-source, le programme, et transformé via tout un protocol en langage machine (10001111), directement compréhensible par le processeur de l'ordinateur sur lequel il a été compilé. L'atout de ces langage, c'est la rapidité d'exécution, et les performances... en effet. Contrairement aux langages interprétés, l'ordinateur ne se charge pas d'interpréter et d'appliquer, mais seulement d'appliquer. 

      http://www.france-ioi.org/algo/course.php?idChapter=561&idCourse=2368

      Pour te donner un exemple:

      - Un homme te parle en Russe et te donne des instructions, tu auras (probablement) besoin d'un traducteur pour faire ce qu'il te dit et tu mettras donc plus de temps à faire ce qu'il veut. (interprété)

      - Un homme qui parle Russe a donné des instructions à ton supérieur il y a quelques minutes, ton supérieur te donne les instruction, dans la langue que tu parle. Tu sais ce que tu dois faire car tu as compris, donc tu le fais directement. (compilé)

      Des langage high-levels et low-level:

       - Un langage high-level, comme le python, le javascript, le PHP... est un langage avec lequel tu es presque certain que tu n'as pas à te soucier des problèmes d'allocation de mémoire et tout ces trucs... par exemple, tu souhaite stocker la valeur 659 dans une partie de la mémoire de ton ordinateur (initialisation d'une variable), alors l'interpéteur, le comoilateur s'en chargera.

      ma_variable = 659

      - Un langage low-level, comme le C++, Java, C, Objective-C etc... est un langage avec lequel tu dois gérer toi même l'allocation de la mémoire. Si je reprend l'exemple de la valeur 659, alors tu devras spécifier que cette valeur est un entier (int), qui prend au moins 2 octets de place.

      int ma variable = 659;
      // int: type signifiant que la variable possède une valeur
      // entière, stockée sur 4 octets. (il n'existe pas de type
      // sur 2 octets, donc on prend celui-ci)

      Le fait de spécifier le type d'une variable améliore grandement la rapidité du programme, voilà pourquoi on utilise souvent des langages compilés et low-level pour programmer les applications qui demandent beaucoup de ressources (jeux vidéos).

      Le fait de ne pas spécifier le type d'une variable permet de se concentrer pleinement sur le but de l'application, et donc de programmer plus vite, en étant plus productif.

      Conclusion:

      Il existe des tas de langages de programmation. Chacun possède ses atouts, et ses défauts. Certains sont préférables à d'autres en fonction du besoin, cette préférence d'utilisation se mesure par des critères tels que le fait qu'il soient compilés, interprétés, ou low-level, high-level. Mais il existe bien d'autres moyens de les différencier.

      N'oublie pas ça, un programme n'est pas un suite d'instruction, c'est une oeuvre d'art qui donne naissance à des intelligences artificielles, des ordinateurs quantiques, des googles, des facebooks, des passions etc... Le programmeur n'est pas un gars assis qui code, c'est un artiste, dont l'imagination n'a aucune limite et l'ambition encore moins.

      -
      Edité par Daimyo_ 4 mars 2020 à 22:14:46

      • Partager sur Facebook
      • Partager sur Twitter
        5 mars 2020 à 0:07:58

        Je te remercie énormément d'avoir pris la peine de me répondre. Tes explications sont extrêmement claires. J'avais notamment, du mal à comprendre la différence entre les langages interprétés et compilés. Grace à tes explications, je vais pourvoir me projeter et faire le choix le plus adapté à mes besoins, je pense notamment à C#. Je garde précieusement tes explications afin d'y revenir au besoin.

        Encore merci.

        Bien cordialement,
        • Partager sur Facebook
        • Partager sur Twitter

        Quel language de programmation après VBA ?

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown