Jump to content
PLC Forum


Sign in to follow this  
Zinzo87

Integrazione dll C++ in VBnet

Recommended Posts

stilnovo

Vabbe' dai era per scherzare, anche se qualche faccina era meglio che ce la mettevo. Tu sei un personaggio storico del forum, il tuo parere 'pesa', e certe tue considerazioni non mi piacciono (sono onesto, altre invece sarebbero da stampare e tenere in agenda). Ora vado a prendere un caffé alla salute di tutti voi.

Share this post


Link to post
Share on other sites

walterword

addirittura storico ....inizio a preoccuparmi .Mi fa piacere che alcune mie sparate ti piacciono .... con la .NET ho avuto modo di approfondire a livello di framework , per questo ho dato mie considerazioni riguardo Vb.NET .Di certo non per attaccar briga o fare il professore, ne ho gia fin troppe di rogne ....;)

Share this post


Link to post
Share on other sites
Nikiki

Perchè? Dalle tue parti costano molto i Mbyte? :lol::lol::lol:

 

No... Sono gratis :lol:

Il fatto è che specie per applicazioni piccole, ti crea qualche problemino per la distribuzione... Per fare le cose fatte bene bisogna fare un setup che controlli la presenza di tutto il necessario e all'occorrenza installare quello che manca... Tutte cose normali, ma se devi distribuire un piccolo programma, una bischerata composta dal solo eseguibile, talmente piccolo che lo puoi inviare via mail (un programmino semplice semplice l'ho fatto anche per PLC Forum), con la tecnologia .net non lo puoi fare!

Per questo motivo sono rimasto fedele a Borland (ora Embarcadero) posso compilare un eseguibile assolutamente esente da qualsiasi dipendenza, in grado di funzionare su tante versioni di Windows senza dovermi preoccupare se sul sistema c'è installato il framework o altre librerie. 

Io uso ancora turbo C++ del 2006, non ha mai fatto una piega, e a distanza di dieci anni dice ancora la sua... :smile:

 

La mia opinione sul linguaggio credo sia chiara: C/C++ tutta la vita :P 

Share this post


Link to post
Share on other sites
lucios
Quote

quando lavori per realizzare certe cose ti renderai conto che il VB.NET va bene per sviluppare app windows ma non per fare le cose "particolari"

Scusa Walter, cosa intendi con "cose particolari" che mi interessa? Anche con C# fai applicazioni per Windows.

Quando ho un pò di tempo mi balocco con CodeBlocks in C++ perchè quello si che potrebbe venire utile veramente in casi particolari, ma in DOTNET continuo a non vedere gran differenze tra i due linguaggi se non, ripeto, le preferenze personali, e su quello non metto becco.

Share this post


Link to post
Share on other sites
lucios

Ciao Nikiki,

ma no, il setup ti serve solo se devi includere file, librerie o quant'altro (ovviamente il net framework deve essere installato).

Se è una cosina semplice basta l'eseguibile.

Quote

Io uso ancora turbo C++ del 2006, non ha mai fatto una piega, e a distanza di dieci anni dice ancora la sua

Hai provato, come ho accennato nel mio precedente post, CodeBlocks? Non sono un espertone ma mi sembra un prodotto ben fatto ed è gratis, il che non guasta.

Il problema del C++ è il tempo di apprendimento, non per il linguaggio, ma per diventare bravi a fare cose che non siano banali.

Share this post


Link to post
Share on other sites
walterword

code:blocks.....mmmm...preferisco Netbeans o Eclipse ......col quale uso python , c++, java senza problemi , driver mysql, postgresql etc.

I vari linguaggi andrebbero valutati quando si ha la necessità di sviluppare GUI, piuttosto che server, client-server,web server,librerie etc 

Si valuta il linguaggio in base ai costi , tempo , complessità , velocità nel eseguire il compito .

In alcuni casi si usa python per la sua completezza e potenzialità , se poi il progetto sta in piedi e si passa oltre , allora si ottimizzano i tempi ed altre cose, magari passando al C++ o C# o java o php ....Direi che fino ad un 30% di tipologia di applicazioni va bene tutti e sempre , va a gusti diciamo .

Le cose cambiano in casi particolari. E credetemi che quello che crediamo di saper fare o che facciamo con questi linguaggi è veramente poco in confronto a quello che possono offrire.I linguaggi sono un po come i coltelli e gli strumenti del cuoco ....deve fare una piattino dimostrativo usa un coltello , deve fare 300 piatti di corsa ne usa un altro e cosi via .... anche se in realtà scrivere un sw è più paragonabile a costruire uno stabile , da qui i design pattern etc e l'ingegneria del software.

Share this post


Link to post
Share on other sites
lucios

Eclipse mi sembra tanto macchinoso... Netbeans non lo conosco. Ma sai, quando inizi con qualcosa è meglio non disperdersi. 

Share this post


Link to post
Share on other sites
stilnovo

Oggi ne so più di ieri, eppure sono più ignorante dell'altro ieri. Più si studia e più la lista delle cose da imparare aumenta. Per voi non è un po' frustrante ? Per me si.

Share this post


Link to post
Share on other sites
walterword

Netbeans lo suo ovunque , anche a me non piace molto eclipse .

Con Netbeans ci faccio di tutto , è ben portato e ben manutenuto 

Share this post


Link to post
Share on other sites
Nikiki

 

Quote

 

Ciao Nikiki,

ma no, il setup ti serve solo se devi includere file, librerie o quant'altro (ovviamente il net framework deve essere installato).

Se è una cosina semplice basta l'eseguibile.

 

 

Certo, ma chi ti garantisce che il framework sia installato? È compito del setup verificare anche questo, e installarlo se manca. Ed ecco che un'applicazione da pochi Kbyte diventa qualche centinaio di Mbyte :lol:

Con Borland non mi devo preoccupare di questo, inoltre le applicazioni si avviano molto più velocemente, i tempi di caricamento del framework non sono affatto trascurabili. 

 

Li ho provati tutti...  

Eclipse è un gran mattone, versatile ma lentissimo, è scritto in java,  ha il pregio di non doverlo installare, copi la cartella e via, ma è lentissimo e macchinoso in tutto.  

Netbeans molto meglio, si vede subito che è stato sviluppato da mani più esperte, ma siamo comunque lontani anni luce da IDE professionali come Visual Studio o  lo stesso Borland... Per sviluppare applicazioni GUI (99,9% dei casi) sono imparagonabili, anche Visual Studio ha una versione gratuita se non è per usi professionali. 

Un ottimo IDE è QT Creator, sviluppato inizialmente da Nokia per programmare su piattaforma Symbian, ora è utilizzabile anche con altri linguaggi,  tra cui il C++,  è l'unico IDE che mi ha soddisfatto per scrivere applicazioni GUI su Linux. 

 

Quanto al linguaggio, tutta la complessità di cui si parla per C++ io sinceramente non la vedo, e per come la vedo io, una volta conosciuto il C++ non c'è motivo di conoscere altro,  non c'è niente che non si possa fare, ed i compilatori esistono per tutte le piattaforme (tutte le architetture e tutti i sistemi operativi), è il linguaggio più standard in assoluto senza se e senza ma. 

Il C# sembra una semplificazione per chi è troppo pigro per usare il C++ :P (non me ne voglia chi lo utilizza)

Share this post


Link to post
Share on other sites
walterword

io non uso tutto il framework del C#, molte cose le ritengo inutili e pesantemente inutilizzabili .

Il C++ non è un problema , ma se incominci a scrivere applicazioni multithreading o basate su stack tcp/ip , allora preferisco passare al C# , sempre che mi trovo su una macchina potente .E' chiaro che su altre piattaforme questo non si puo' fare e allora si fa quello che si puo'

Share this post


Link to post
Share on other sites
stilnovo
Quote

una volta conosciuto il C++ non c'è motivo di conoscere altro,  non c'è niente che non si possa fare

 

D'accordo, ma per contro in C# si potrebbe dire che non c'è niente che "non sia già fatto" (inteso come disponibile nel framework).

Per chi come me non ha un bacino di funzioni proprie scritte negli anni, da cui attingere al bisogno, .NET dà una bella mano, e mi permette di arrivare al sodo con meno distrazioni.

Ovvio che se fossi uno sviluppatore PC a tempo pieno, avrei l'opportunità di ammortizzare il lavoro necessario per sviluppare il mio framework, e potrei beneficiare di tutti i pregi del C++ senza pagarmi lo scotto. Ma visto che occupa solo margine del mio impiego (programmando PLC per la maggiore), sono grato che il .NET esista e mi dia la possibilità di cimentarmi in piccoli ma stuzzicanti progetti di lavoro.

Share this post


Link to post
Share on other sites
walterword

giusto stilnovo , questo e' un esempio di impiego e di scelta ben giustificata.

Per lucios ...per particolare intendo lavorare con la reflection a pieni poteri , compilare al volo , scrivere videogames.

Qualche anno fa scrissi uno scada in grado di essere modificato a runtime tramite script di python che esponevano completamente interi oggetti del progetto .NET , usavo ironpython con relativi motori ed engine . Poi per curiosità provai a scrivere un semplice videogioco con framework XNA oggi soppiantato dal magnifico Unity 2D e/o 3D .

Be sono in questi semplici casi non c'era nessun esempio in Vb.NET ne tantomeno librerie o framework .

Il VB è un linguaggio interpretato e reso ad oggetti .A prescindere dalla stampa di un report o uno scada o altre cose che rientrano nel comune calderone delle applicazioni windows , quando ti discosti per realizzare o provare situazioni "particolari" , per me che non le faccio normalmente , ma normali per chi le svolge quotidianamente , be si va su java o su c# , c'e poco da fare . Il basic viene usato coe scripting come il lua o il python anche se quest'ultimo è un vero e proprio linguaggio ben fornito oramai .

Io e' questo quello che intendo dire non sicuramente star qua a perder tempo per tifare un linguaggio a discapito di un altro 

Da ingegnere del software non voglio e non posso giudicare un linguaggio a prescindere dal piacere , ma in base a quello che offre e per che cosa lo devo usare .

Ok adesso arriva colui che conosce bene il C++ i dirà che con il C++ e le directX o altro di fa tutto e meglio .Daccordo , ma non sempre e non tutti conoscono o possono perfezionarsi in C++ , specialmente se cominci oggi e dovevi finire la settimana scorsa.

 

Share this post


Link to post
Share on other sites
Livio Orsini
Quote

ma siamo comunque lontani anni luce da IDE professionali come Visual Studio o  lo stesso Borland..

:thumb_yello::thumb_yello:

 

In effetti se lavori in ambiente Win tutto quello che è sviluppato da MS è superiore a tutti (chissà perchè:lol:)

Share this post


Link to post
Share on other sites
lucios

Walter, non prendere questa mia risposta come una presa di posizione riguardo al linguaggio perchè anch'io paciugo un po' in C, C++, C# anche se non posso considerarmi certo un esperto però:

Quote

per particolare intendo lavorare con la reflection a pieni poteri , compilare al volo , scrivere videogames

Reflection: a quanto mi risulta non c'è differenza tra i linguaggi dotnet che vengono supportati allo stesso modo.

Compilare al volo: non capisco cosa intendi.

Scrivere videogames: sono ignorante in materia ma, dato che il risultato prestazionale è lo stesso sia in C# che in VB.net mah...

Quote

Be sono in questi semplici casi non c'era nessun esempio in Vb.NET ne tantomeno librerie o framework

Per quanto riguarda gli esempi non so, in genere comunque si trova di ogni in entrambi i casi, e in caso negativo, basta fare una traduzione del codice.

Framework: anche qui non capisco, il net framework nelle varie release è stato fatto ed è utilizzabile con tutti i linguaggi net.

Quote

Il VB è un linguaggio interpretato e reso ad oggetti

Mica vero, il VB.net è un linguaggio ad oggetti reale, si chiama VB ma non ha niente a vedere con ad es. il VB6, sono due mondi diversi.

Share this post


Link to post
Share on other sites
walterword

compilare al volo significa che hai lanciato la tua applicazione e tramite un editor , usavo Csharpdevelop , apri le classi che ti interessa e la modifichi .L'engine compila al volo ed esegue come normale classe o oggetto .Questo lo facevo per fare la possibilità all'informatica del posto di modificare e/o richiamare diverse etichette da stampare con la possibilità di linkare i dati ai campi etichetta in modo dinamico senza dover andare io a modificare il progetto C# . Con questo metodo facevo fare un po di cose.Si puo' comunque fare con C# direttamente tramite reflection ed altre librerie,dom etc .

VB.NET è diverso completamente da VB6 , ok pienamente d'accordo. VB.NET e' totalmente ad oggetti ed e' stato riprogettato , pienamente d'accordo.

VB.NET non ha casting e non ha impone controlli , casting ed altro come in C# o java .Non è un linguaggio fortemente tipizzato , e' veloce etc .Questo significa che sta sopra a c#e java , nel senso che usufruisce di ulteriore framework . 

Share this post


Link to post
Share on other sites
walterword

Livio , se aprii e lavori con netbeans,csharpdevelop etc noterai poche differenze con visual studio , e sono gratis per default

comunque anche a me piace visual studio da sempre 

Share this post


Link to post
Share on other sites
walterword

Livio , domani sono in zona Uboldo. Fatti vedere che ci mangiamo qualcosa o ci prendiamo un caffe.Non fare il vecchiaccio pensionato lazzarone ;)

Share this post


Link to post
Share on other sites
walterword

...spariti tutti azzz ahahahahahah

Share this post


Link to post
Share on other sites
stilnovo

Sono andati tutti a fare Reflection... oooohhhmmm ... oooohhhmmm.:superlol:

Share this post


Link to post
Share on other sites
Nikiki

Io non lo posso dire che cosa sono a fare in questo momento :superlol::superlol::superlol:

 

 

D'accordo, ma per contro in C# si potrebbe dire che non c'è niente che "non sia già fatto" (inteso come disponibile nel framework).

 

Il .net non è l'unico framework esistente completo di tutti i balocchi belle che pronti, se si escludono gli IDE gratuiti (d'altronde a caval donato non si guarda in bocca) rimanendo sul Borland di cui parlavo, il loro framework si chiama VCL, e se non erro nelle versioni più recenti ne hanno aggiunti anche altri.

Se non si vogliono usare le API di Windows per scrivere in C++ nudo e crudo si hanno a disposizione una miriade di oggetti da trascinare sul form o da istanziare nel codice. 

Queste non sono prerogative del linguaggio, non è il C# o il VB che mettono a disposizione queste "scorciatoie", è esclusivamente l'ambiente di sviluppo e gli eventuali framework utilizzati. 

Poi ci sono altri vantaggi, ad esempio è cross platform, lo stesso sorgente si può scegliere di compilarlo per Windows o per MacOS, oppure nel caso di un'App mobile, si può compilare per Android o iOS... È un IDE davvero molto potente. 

Share this post


Link to post
Share on other sites
stilnovo

Onestamente nemmeno sapevo dell'esistenza di framework per il c++ così potenti, forse perché sono comunque strumenti a pagamento del costo di migliaia di euro.

.NET, sicuramente ha avuto l'arma della gratuità come mezzo per la sua diffusione e adozione. Per quanto riguardo la portabilità multipiattaforma, non si discute la supremazia del C, ma qualcosa in ambiente MS si muove e non si escludono sviluppi in grado di colmare le lacune.

Ma il mio unico problema è il tempo, quel poco che so di programmazione PC me lo sono sudato e strasudato nel mio tempo libero, in modo da aggiungere competenza alla mia professionalità. I tempi cambiano e attorno non ho più solo analfabeti, anzi se non si cresce continuamente si rischia noi di diventare 'i dinosauri'. E con .NET posso dire di aver raggiunto comunque un mio piccolo traguardo.

Share this post


Link to post
Share on other sites
walterword

Sinceramente se devo sviluppare su winzoz prendo visual studio 2015 .NET e faccio quello che devo senza troppi problemi. Il fatto di scrivere librerie proprie e metodi specializzati dipende dall'applicazione stessa.

I framework esistono da sempre , i template , VCL, MFC etc etc . bisogna scegliere in base le proprie esigenze un po come fa il pescatore . Canna da pesca , esca etc in base a dove , quando e perche .Punto passo e chiudo perche mi son rotto di ripetere le stesse cose ;)

Un progettista deve conoscere tanti linguaggi , non e' detto che debba essere bravo e conoscerli bene tutti. Per la specializzazione esistono i libri e il web . L'importante è sapere come muoversi e questo si raggiunge con tanto studio e con tanta esperienza .Passo e chiudo 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...