89 votes

Comment les langues multiples interagissent-elles dans un projet ?

J'ai entendu dire que certaines personnes programmaient en plusieurs langues dans le cadre d'un même projet. Je n'arrive pas à imaginer comment les langues interagissent entre elles.

Je veux dire par là qu'il n'existe pas de méthode Java du type

myProgram.callCfunction(parameters);

ne se produit jamais ou est-ce que je me trompe ?

4voto

hhafez Points 13240

Il existe de nombreuses façons d'utiliser différentes langues dans un même projet Deux catégories principales viennent à l'esprit :

  1. Utiliser différents langages pour créer une application. Par exemple, en utilisant Java pour construire l'interface graphique et en utilisant JNI pour accéder à l'API C (pour répondre à votre question, vous pouvez donc appeler des fonctions C à partir de Java ;)).

  2. Utilisation de différentes langues dans un même projet si elles ne font pas partie de la même application. Par exemple. Je travaille actuellement sur une application iPhone qui utilise une grande quantité de texte. J'utilise actuellement trois langages : Python (pour travailler avec les sources originales du texte), SQL (pour mettre les résultats de l'application Python dans un format facilement accessible à partir de l'API sqlite3 de l'iPhone) et Objective C pour construire l'application proprement dite. Même si le produit final ne sera qu'en Objective C, j'ai utilisé deux autres langages pour arriver au produit final.

3voto

Carter Points 1271

Vous pourriez avoir une application dont la majeure partie du travail est effectuée en Java, mais dont une partie, comme un analyseur de données ou autre, est écrite en Python ou autre. Il s'agit presque de deux applications distinctes, peut-être que l'analyseur syntaxique ne fait que travailler sur des fichiers et que votre application principale en Java les utilise pour quelque chose. Si quelqu'un me demandait ce que j'ai utilisé dans ce projet, je dirais "Java et Python".

3voto

Kieron Points 5096

Il existe plusieurs façons d'utiliser plusieurs langues dans un même projet. Quelques exemples :

  • Vous pouvez écrire une DLL en C, par exemple, et utiliser cette bibliothèque à partir d'un programme VB, par exemple.
  • Vous pouvez écrire un programme serveur en C++, par exemple, et avoir de nombreuses implémentations du client dans des langages différents.
  • Un projet web utilise souvent plusieurs langages ; par exemple, un programme serveur, écrit en Java (un langage de programmation), qui extrait des données d'une base de données en utilisant SQL (un langage de requête), envoie le résultat au navigateur en HTML (un langage de balisage), avec lequel l'utilisateur peut interagir en utilisant Javascript (un langage de script)...

3voto

Stephan Eggermont Points 11224

Mal. S'il n'y a pas d'urgence, il faut s'en tenir à une seule langue. Vous augmentez les dépendances et la complexité. Mais lorsque vous disposez d'un code existant offrant une fonctionnalité intéressante, il peut être plus facile de le coller ensemble que de le recréer.

2voto

Jason Baker Points 56682

Pour compléter la liste des exemples, il est assez courant d'optimiser le code Python en C ou C++ ou d'écrire une bibliothèque C pour lier une autre bibliothèque à Python.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X