LabVIEW è meglio di C? Come LabVIEW Product Manager, spesso mi viene fatta questa domanda.
Onestamente, questa non è la domanda giusta, sarebbe meglio chiedersi: “Qual è il linguaggio ideale per realizzare questo task?”, senza questa precisazione sarebbe come chiedersi perché il pane è meglio della farina.
Se si deve sviluppare un sistema di misura o di controllo, la scelta ideale è decisamente NI LabVIEW, il software per la progettazione grafica di sistemi si National Instruments; con questo non sto dicendo che LabVIEW è un linguaggio di programmazione migliore di C, soprattutto se si considera che molte porzioni di LabVIEW sono scritte non solo in G, ma anche in C e C++, piuttosto, entrambi i linguaggi hanno diversi punti di forza che tutti i programmatori dovrebbero conoscere per sviluppare applicazioni di successo.
LabVIEW e C sono paragonabili al pane e la farina. Se si vuole preparare un panino, si inizia dal pane. Se si vuole preparare una torta, si inizia dalla farina. Preparare il pane con la farina da zero può essere costoso e richiedere molto tempo (soprattutto se si desidera solo uno spuntino veloce), ma quando si tratta di una torta, la farina è essenziale. Allo stesso modo, potrebbe essere difficile decidere quale linguaggio di programmazione utilizzare per un determinato task. Si tratta di scegliere lo strumento adatto per il tipo di lavoro da svolgere.
C offre controllo di basso livello
C è spesso la scelta ideale per applicazioni con risorse da gestire in modo integrato. Dato che C è un linguaggio relativamente di basso livello, costringe a prendere in considerazione e a specificare anche i più piccoli dettagli, come le assegnazioni di memoria e i thread. Un buon programmatore può utilizzare questo controllo di basso livello per eliminare l&aposoverhead nella maggior parte delle implementazioni di livello superiore. A questo livello, si può anche sfruttare l&aposarchitettura target o le proprietà del sistema operativo host per ottenere maggiori prestazioni.
Per questo motivo, i programmatori NI hanno scritto la maggior parte delle librerie di LabVIEW in C o C + +. Operazioni come file I/O e di analisi sono più veloci in LabVIEW dato che sono in C, perché sono scritte in linguaggi di basso livello e ottimizzate per ogni tipo di piattaforma e sistema operativo supportato da LabVIEW.
Efficienza e controllo a confronto
La capacità degli sviluppatori si dimostra quando è necessario ottimizzare il codice manualmente. I linguaggi di programmazione sono costantemente ottimizzati per raggiungere livelli di astrazione più elevati, e questo consente di concentrarsi maggiormente sul problema, invece che sui piccoli dettagli della programmazione.
LabVIEW: per l’esecuzione parallela e I/O reali
Qualsiasi sia il linguaggio di implementazione utilizzato, la progettazione di sistema di alto livello e l’implementazione di basso livello si devono inevitabilmente separare.
Nelle applicazioni di misura e controllo, la programmazione è soltanto uno dei task che i progettisti di sistema devono affrontare. Gli ingegneri spesso non hanno il tempo per riscrivere e aggiornare il software per stare al passo con i progressi dell’hardware di calcolo e di misura e dei sistemi operativi, ottengono notevoli vantaggi capendo come acquisire, manipolare e presentare i dati, non inventando nuovi metodi per gestire allocazioni di memoria e pool di thread. LabVIEW offre la possibilità di sviluppare, mantenere, supportare e testare librerie nativamente. Scegliere di utilizzare C richiede di implementare, supportare e gestire le librerie di più basso livello o di doverle acquistare separatamente (a questo scopo NI dispone del software NI LabWindows ™/CVI e di NI Measurement Studio).
Il linguaggio C è ottimizzato per l&aposesecuzione sequenziale più veloce di istruzioni dato che la CPU è in grado di gestirli; questo linguaggio è quindi perfetto per il calcolo puro, quando è in esecuzione solo un task e le istruzioni sono più basiche. La sintassi grafica in LabVIEW invece è ottimizzata per l&aposesecuzione parallela di attività che hanno vincoli temporali reali.
Vai all’articolo completo