Utilisons un langage de script pour une vie confortable en C ++ 6-Que diriez-vous de développer un programme en tant que bibliothèque pour Python?

Renommé "Que diriez-vous de développer un programme pour être scriptable en Python?"

Je développe en C ++, mais j'ai du mal car la vitesse de développement n'augmente pas. Cependant, je sais que la difficulté peut être accélérée en utilisant un cadre qui suppose une coopération avec Python. Voici comment procéder.

J'ai utilisé une application commerciale qui peut utiliser python. Sur la base de ce que j'ai ressenti à ce moment-là, je propose de développer un programme afin qu'il puisse être scriptable en Python.

** Limitations du fonctionnement de l'interface graphique **

Afin d'utiliser les fonctions de l'application, si vous sélectionnez dans le menu de l'interface graphique et répétez l'exécution, il sera difficile de traiter une grande quantité.

** Limites de script uniques **

Cela dit, ce n'est pas une bonne idée de créer un langage de script spécifique à une application. Même si c'est aussi simple que de soumettre un travail, il est courant de vouloir des variables et de contrôler la syntaxe avant de le savoir. Maintenir un langage de script aussi unique qui devrait être simple peut être une tâche ardue.

** approche scriptable **

Une approche pour surmonter cette situation consiste à créer une application scriptable en python. Python est une licence qui peut être utilisée pour des produits commerciaux, et les modules écrits en langage C / C ++ peuvent être utilisés à partir de python. L'application que j'ai utilisée avait un python lié depuis le début, et à partir de ce python, j'ai pu utiliser la bibliothèque de l'application comme bibliothèque python. Il présente les avantages suivants:

** Avantages pour les utilisateurs **

-En tant que langage de script, vous pouvez utiliser le langage python familier. -Les fonctions d'application peuvent être utilisées comme classes et fonctions python. -Une riche bibliothèque de langage python peut être utilisée. -Comme les bibliothèques peuvent être ajoutées et installées dans des packages de site, des fonctions peuvent être ajoutées.

** Avantages pour les développeurs d'applications **

Ensuite, je pense que les avantages du point de vue d'un développeur d'applications sont les suivants. -En tant que langage de script pour les applications, vous pouvez utiliser l'un des langages les plus puissants et les plus faciles à utiliser. -Vous pouvez vérifier rapidement ce que vous souhaitez utiliser avec une bibliothèque de distribution standard ou une bibliothèque tierce semi-standard. -Lorsque l'optimisation par C / C ++ n'est pas nécessaire, l'effort de développement peut être enregistré en utilisant les bibliothèques Python existantes (bibliothèques standard et autres bibliothèques Python).

-Depuis qu'un module écrit en langage C / C ++ est implémenté comme une extension de Python, vous serez au courant de la conception du module. -Vous pouvez également vous référer à l'utilisation des bibliothèques écrites en C / C ++ avec l'aide de l'interpréteur Python. -L'interface du langage Python facilite les modules de test unitaires. -Depuis que le module peut être utilisé de manière interactive à l'aide de l'interpréteur python, le module peut être utilisé de manière flexible. -Une bibliothèque avec peu de dépendance au système d'exploitation, ce qui facilite l'écriture de code multi-thread. (Vous n'avez pas à vous soucier de la bibliothèque qui aurait dû être thread-safe.) -Puisque la conception de la couche supérieure du programme peut être transformée en un script python, il est facile de revoir la couche supérieure. -L'évaluation des modules installés peut être effectuée même lorsque l'ensemble du programme n'est pas terminé. -Il est facile de vérifier avec une bibliothèque de graphes telle que python matplotlib pour l'évaluation du module. -Comme une telle évaluation peut être effectuée au niveau des composants du programme, il est possible d'approfondir la compréhension de l'algorithme qui est à la base du programme à mettre en œuvre et de résoudre le malentendu le plus rapidement possible. -La partie développée en C / C ++ étant implémentée comme un module d'extension de Python, il est possible d'empêcher la partie C / C ++ de devenir une bibliothèque gênante avec des dépendances compliquées.

-Depuis qu'il est développé comme une bibliothèque pour Python, il sera plus facile de tester unitaire la bibliothèque créée. Lorsque vous le créez en tant qu'application C ++ énorme, la tâche consiste à terminer l'initialisation des variables nécessaires, à préparer les tests et à créer une application de test.

-Depuis qu'il est développé comme une bibliothèque pour Python, il est facile de déterminer suffisamment le design du module à incorporer et de le confirmer comme un design qui ne provoque pas de retour. Étant donné que la réduction des dépendances est essentielle, vous pouvez réduire la charge de conception qui se produit dans les langages C / C ++ tels que extern.

ROS et TensorFlow fournissent une interface python. Pourquoi ne pas essayer d'utiliser Python dans votre domaine de développement également?


[Incorporer Python comme environnement de script](https://ja.wikipedia.org/wiki/Python%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6% E3% 81% 84% E3% 82% 8B% E8% A3% BD% E5% 93% 81% E3% 81% 82% E3% 82% 8B% E3% 81% 84% E3% 81% AF% E3% 82% BD% E3% 83% 95% E3% 83% 88% E3% 82% A6% E3% 82% A7% E3% 82% A2% E3% 81% AE% E4% B8% 80% E8% A6% A7)

De nombreux logiciels liés aux images peuvent utiliser Python comme environnement de script comme suit. Maya Blender Corel Paint Shop Pro GIMP Inkscape Metasequoia Poser RenderMan

Recommended Posts

Utilisons un langage de script pour une vie confortable en C ++ 6-Que diriez-vous de développer un programme en tant que bibliothèque pour Python?
Utilisez un langage de script pour une vie confortable en C ++
Utilisons un langage de script pour une implémentation C ++ confortable après vérification avec python
Utilisons un langage de script pour une vie C ++ confortable 2 Générer automatiquement une source C ++
Utilisons le langage de script pour une vie confortable en C ++ 4 - Utilisons la propre bibliothèque de C ++ à partir du langage de script -
Utilisez un langage de script pour une vie C ++ confortable-OpenCV-Port Python vers C ++ -
Utilisez un langage de script pour une vie confortable en C ++ 3-Laissez le graphique à matplotlib-
Utilisez un langage de script pour une vie C ++ confortable 5 - Utilisez l'environnement intégré de Spyder pour vérifier les données numériques -
Utilisez pymol comme bibliothèque python
Comment utiliser la bibliothèque C en Python
Que diriez-vous d'Anaconda pour créer un environnement d'apprentissage automatique avec Python?
Scripting Language C —— Comment un fichier texte sans shebang est exécuté
[Introduction à Python] Comment utiliser l'opérateur in dans l'instruction for?
Comment utiliser les requêtes (bibliothèque Python)
Utilisez Blender comme module Python
Une note sur mock (bibliothèque fictive Python)
Comment utiliser hmmlearn, une bibliothèque Python qui réalise des modèles de Markov cachés
[Python] Il était très pratique d'utiliser la classe Python pour le programme ROS.
Vivez une vie Twitter sans saisie avec Alexa
Créez un bot qui stimule les tendances Twitter
Vie de document confortable avec Docutils et Ruby
Utilisez un langage de script pour une vie confortable en C ++
Créons un environnement virtuel pour Python
[Python] Organisation de l'utilisation des instructions
Comment utiliser "deque" pour les données Python
Python en tant que langage fortement typé dynamiquement
OpenGoddard Comment utiliser la bibliothèque 2-python pour un contrôle optimal non linéaire et la génération de trajectoires
Comment utiliser la bibliothèque OpenGoddard 3-python pour un contrôle optimal non linéaire et la génération de trajectoires
Comment utiliser la bibliothèque OpenGoddard 4-python pour un contrôle optimal non linéaire et la génération de trajectoires
Un manuel de procédure pour publier rapidement une bibliothèque C ++ Python à l'aide de pybind11 sur Github
Comment utiliser la bibliothèque OpenGoddard 1-python pour un contrôle optimal non linéaire et la génération de trajectoires