Accueil Logiciels LabVIEW ou C ? Pourriez-vous reformuler la question ?

LabVIEW ou C ? Pourriez-vous reformuler la question ?

Que devons-nous savoir sur LabVIEW ?

En tant que chef de produit LabVIEW, on me pose souvent cette question.

Honnêtement, ce n'est pas la bonne question. Cela devient une question valable en ajoutant une petite nuance et un contexte d'application (par exemple, "Qu'est-ce qui est le mieux pour cette tâche qui a ces limitations?"). Sans ce détail, c'est comme demander pourquoi le pain est meilleur que la farine.

Si vous souhaitez créer un système de mesure ou de contrôle, le logiciel de conception de système NI LabVIEW est un outil qui peut vous éviter les risques, les dépenses et les inconvénients liés à la création d'un système utilisant des langages de bas niveau comme C.

Je ne dis pas que LabVIEW est un "meilleur" langage de programmation que C - surtout si l'on considère que de grandes parties de LabVIEW sont écrites non seulement en G mais aussi en C et C++. Je veux plutôt dire qu'ils ont des forces différentes que les programmeurs doivent comprendre pour réussir.

La relation entre LabVIEW et C est similaire à celle du pain et de la farine. Si vous voulez faire un sandwich, vous devez utiliser le pain directement. Si vous voulez faire un gâteau, vous devez utiliser la farine pour le faire cuire. Cuire de la farine pour du pain à partir de zéro peut être coûteux et prendre du temps (surtout si vous voulez un repas rapide), mais quand il s'agit d'un gâteau, la farine est essentielle.

De même, il peut être difficile de décider quel langage de programmation convient le mieux à une tâche. Tout se résume à utiliser le bon outil pour le bon travail.

 

C fournit un contrôle à bas niveau

 

C est souvent préférable pour les applications avec des ressources limitées qui doivent être gérées avec soin. Étant donné que C est un langage de niveau relativement bas, il vous oblige à prendre en compte et à spécifier même les plus petits détails, tels que les allocations de mémoire et les threads.

Un bon programmeur peut utiliser cette vérification de bas niveau pour éliminer la surcharge dans la plupart des implémentations de niveau supérieur. A ce niveau, vous pouvez également profiter de l'architecture de la cible d'exécution ou des caractéristiques du système d'exploitation hôte pour atteindre des performances supérieures.

Pour cette raison, les programmeurs NI ont écrit la plupart des bibliothèques LabVIEW en C ou C++. Les opérations telles que les E/S et l'analyse de fichiers sont tout aussi rapides dans LabVIEW qu'en C, car elles sont écrites dans des langages de bas niveau et optimisées pour chacune des plates-formes et systèmes d'exploitation pris en charge par LabVIEW.

 

Efficacité contre contrôle

 

À certains moments, l'efficacité du développeur est meilleure que le code optimisé manuellement. Renoncer à certains contrôles et faire confiance à des développeurs qui ont résolu des problèmes similaires peuvent bénéficier à de nombreux projets en termes de productivité. Les langages de programmation progressent constamment vers des niveaux d'abstraction plus élevés. Cela aide à se concentrer sur le problème à résoudre plutôt que sur les petits détails.

 

LabVIEW : pour une exécution parallèle et des E/S réelles

 

Quel que soit le langage d'implémentation, la division entre la conception de système de haut niveau et l'implémentation de bas niveau est inévitable.

Dans les applications de mesure et de contrôle, la programmation n'est qu'une tâche pour un concepteur de système. Les ingénieurs n'ont souvent pas le temps de suivre ou de réécrire les anciens logiciels pour prendre en charge les progrès de l'informatique, du matériel de mesure, des systèmes d'exploitation, etc. La valeur ajoutée d'un ingénieur consiste à trouver le meilleur moyen d'acquérir, de manipuler et de présenter des données du monde réel, et non d'inventer de nouvelles façons de gérer les allocations de mémoire et les pools de threads. Avec LabVIEW, l'application finale peut être construite à l'aide de bibliothèques de bas niveau de NI qui sont déjà testées, prises en charge et maintenues.

Choisir C signifie que vous devrez implémenter, supporter et maintenir vos propres bibliothèques de niveau inférieur ou les acheter auprès d'un fournisseur (NI propose le logiciel NI LabWindows ™/CVI et NI Measurement Studio pour ce cas d'utilisation).

Une astuce de syntaxe, C est optimisé pour l'exécution séquentielle d'instructions aussi rapidement que le processeur peut le gérer. C'est parfait pour le calcul pur, lorsqu'une seule tâche est exécutée et que les instructions sont plus basiques. En revanche, la syntaxe graphique de LabVIEW est optimisée pour l'exécution parallèle de tâches temporisées.

LabVIEW vous permet d'ignorer la construction des bases et de passer directement à la personnalisation.

LabVIEW est plus qu'un simple langage de programmation et des bibliothèques associées. Lorsque vous utilisez l'environnement de développement intégré (IDE) LabVIEW avec du matériel NI ou tiers, vous bénéficiez d'une expérience de développement supérieure à la somme de ses composants. Le logiciel connaît les ressources matérielles disponibles et peut présenter les canaux d'E/S disponibles et le matériel d'exécution sous forme de menus déroulants et d'éléments de projet. Les configurations incorrectes peuvent être empêchées ou détectées lors de l'édition, évitant ainsi des erreurs coûteuses et difficiles à déboguer pendant l'exécution – La nouvelle génération de matériel de mesure (comme l'émetteur-récepteur de signaux vectoriels NI PXI-5644R) permet même à LabVIEW de redéfinir le matériel du firmware pour atteindre niveaux de performance que les différents langages de programmation et outils traditionnels ne peuvent pas.

Trop de projets sont terminés en retard ou dépassent le budget parce que les gens sous-estiment les efforts nécessaires pour rassembler des pièces provenant de sources disparates. À l'aide de LabVIEW, les pilotes matériels renvoient les données dans le même format que consomment les bibliothèques d'analyse, les widgets de l'interface utilisateur affichent les données techniques dans le même format que les bibliothèques d'analyse les produisent, éliminant ainsi le besoin d'assembler les différents composants.

 

Alors qu'est-ce qui est le mieux : LabVIEW ou C ?

 

La réponse pourrait bien être "ça dépend". Cela dépendra du problème que vous essayez de résoudre. LabVIEW et C sont des outils utiles qui, entre les mains d'utilisateurs formés, peuvent résoudre presque tous les problèmes : LabVIEW a tendance à être meilleur pour les applications de test, de mesure et de contrôle de haut niveau, et le C est mieux adapté aux implémentations de bas niveau. tâches intensives en calcul. La prochaine fois que quelqu'un vous demandera si LabVIEW l'emporte sur le C, n'hésitez pas à répondre « ça dépend ». C'est peut-être la seule réponse qui fera avancer le débat dans la bonne direction.

 

Mots clés
programmation sous labview