Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Aggiungere un campo a una Array
Forum - C# / VB.NET - Aggiungere un campo a una Array - Pagina 3

Pagine: [ 1 2 3 4 ] Precedente | Prossimo
Avatar
nessuno (Normal User)
Guru^2


Messaggi: 6121
Iscritto: 03/01/2010

Segnala al moderatore
Postato alle 14:17
Venerdì, 18/05/2018
Testo quotato

Postato originariamente da Carlo:

Vengo da un periodo dove le informazioni erano irreperibili, e anche i libri non era facile trovarli.



Anche io, probabilmente da un periodo precedente. Ma che vuol dire?

Semmai, è una giustificazione più condivisibile, probabilmente tu non ne hai fatto un mestiere/professione, ti sei dedicato all'area video più che all'informatica. E quindi, come "hobby" è comprensibile che, anche questioni di tempo, non permettano di affrontare le questioni in modo adatto.

Ma devi fare uno sforzo, mettere tutto nel "cassetto" e ricominciare come se non avessi cognizioni di programmazione.


Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti (uno dei padri fondatori del moderno Calcolo delle probabilità) chiamava il gioco del Lotto Tassa sulla stupidità.
PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 819
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 14:45
Venerdì, 18/05/2018
Testo quotato

Postato originariamente da nessuno:

Testo quotato

Postato originariamente da Carlo:

Vengo da un periodo dove le informazioni erano irreperibili, e anche i libri non era facile trovarli.



Anche io, probabilmente da un periodo precedente. Ma che vuol dire?

Semmai, è una giustificazione più condivisibile, probabilmente tu non ne hai fatto un mestiere/professione, ti sei dedicato all'area video più che all'informatica. E quindi, come "hobby" è comprensibile che, anche questioni di tempo, non permettano di affrontare le questioni in modo adatto.

Ma devi fare uno sforzo, mettere tutto nel "cassetto" e ricominciare come se non avessi cognizioni di programmazione.


La programmazione non è il mio mestiere, e ho scritto in modo molto discontinuo, per questo non ho seguito l'evoluzione dei linguaggi, quando mi serviva un programma, magari dopo uno o due anni senza aver scritto nulla, le cose erano cambiate di molto e non avevo tempo/voglia di aggiornarmi.

Ultima modifica effettuata da Carlo il 18/05/2018 alle 16:27


in programmazione tutto è permesso
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2040
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 10:41
Lunedì, 21/05/2018
Bhe io penso che non ti avessimo forzato al cambiamento,

Ora saresti ancora con la convinzione che il vb6 è più veloce del vb.net è come scritto diverse volte,
migliore del .net

Ma credo che il problema non sta nel forzare, ma cercare di capire perché tutti ti dicono una cosa.

Se a me Carlo, mi dice una cosa, e Piero un'altra, rimango con il dubbio.
Ma se Piero e Carlo mi danno un determinato consiglio, significa che allora sono io che sto sbagliando qualcosa.

Anche per passione carlo, è molto meglio aggiornarsi.
Anzi, credo che alla fine sei come tutti noi che amano la programmazione e le sfide.

E quindi un motivo in più per motivarti al cambiamento.

Personalmente, ti consigliere di tentare il C#.
Anche io inizialmente giocavo con il vb.net

Ma per me il vb.net rimane sempre un giocattolino e non un vero e proprio linguaggio di programmazione.

il vb lo vedo bene come linguaggio di scripting. E credo che avrebbe più successo in questo campo.
Che essere utilizzato per creare programmi.

Il C++ è classe, e come bere uno champagne.
riuscire a scrivere un programma decente in c++ è uno dei miei obiettivi.
il QT mi ha reso la vita molto più facile grazie anche alla sua sintassi molto simile al C#

alla fine potrei definire il Qt una sorta di .NET
basta aggiungere una Q per avere quasi la stessa stesura del c#
non ho ancora ben chiaro l'utilizzo dei puntatori, ma un giorno ci arriverò.
e che proprio non capisco il loro utilizzo se non, quello di essere utilizzati per strutture
e liste.

Per concludere credo che non esista una frase più azzeccata di quella che ha Piero nella sua firma.

"Fai quello che ti piace, e fallo bene."


PM Quote
Avatar
Carlo (Member)
Guru


Messaggi: 819
Iscritto: 29/01/2018

Segnala al moderatore
Postato alle 13:52
Lunedì, 21/05/2018
Concordo con tutto, mi permetto solo di correggere le affermazioni che mi sono state attribuite, forse per una lettura frettolosa o preconcetta dei miei post.

Testo quotato

Postato originariamente da Thejuster:
Bhe io penso che non ti avessimo forzato al cambiamento


Non mi sento forzato, mi piace VB .NET e anche C#

Testo quotato

Postato originariamente da Thejuster:
Ora saresti ancora con la convinzione che il vb6 è più veloce del vb.net è come scritto diverse volte,
migliore del .net


Ho scritto ripetutamente che più veloce NON significa migliore.
Ho fatto anche l'esempio dell'assembler, proprio per focalizzare questo concetto.
Che un pari codice VB6, VB .NET, gira più veloce in VB6, non è una mia convinzione, è un dato di fatto che chiunque può constatare.
Questo NON significa che VB6 è meglio di VB .Net, infatti utilizzando le peculiarità del .NET, vedi la gestione degli array, la gestione degli stream, la GDI che permette di creare e disegnare facilmente bit map in ram, la gestione dei thread, ecc ecc, rendono .NET MIGLIORE di VB6, e anche più veloce, dopo aver sfruttato caratteristiche che in VB6 non esistono.

Testo quotato

Postato originariamente da Thejuster:
Ma per me il vb.net rimane sempre un giocattolino e non un vero e proprio linguaggio di programmazione.


Questa affermazione non la capisco, sbaglio o qualsiasi applicazine in C# può essere convertita in VB mantenedo la stessa struttura?

Testo quotato

Postato originariamente da Thejuster:
non ho ancora ben chiaro l'utilizzo dei puntatori, ma un giorno ci arriverò.
e che proprio non capisco il loro utilizzo se non, quello di essere utilizzati per strutture
e liste.


Forse quello che scrivo ora non ci azzecca nulla con la tua perplessità, ma quando programmavo in Assembler Z80 e TMS9900, usavo i puntatori per velocizzare le routine di sort, in pratica invece di spostare i dati in ram, spostavo i puntatori.
per esempio una lista contenete un elenco di nomi di città strutturata in ram così:
20 locazioni di memoria da 1 Byte x 255
PP AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA
PP AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA
PP AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA AA
...
...
...
&HFF volte

In PP mettevo un puntatore in AA mettevo i codici ASCII della città
Se avevo bisogno di riordinare la lista, nella routine di sort invece di spostare tutte e 20 le locazioni di memoria, spostavo solo il puntatore o indice in questo caso, con un incremento di velocità significativo.

Altra situazione: Ho dei blocchi di memoria RAM contenenti immagini di lunghezza fissa, in un registro del VDPgrafico dovevo inserire il puntatore dell'immagine da visualizzare, che era l'indirizzo fisico del primo Byte in memoria RAM, cambiando il puntatore e senza spostare dati, cambiava l'immagine visualizzata, permettendo animazioni anche con hardware "lento"

Ora traslato nel mondo di oggi dove si memorizzaono enormi quantità di dati, lasciarli fermi nel loro posto in memoria e lavorare sui puntatori che li identificano, velocizza sicuramente la loro gestione.

Ultima modifica effettuata da Carlo il 21/05/2018 alle 20:04


in programmazione tutto è permesso
PM Quote
Avatar
torn24 (Normal User)
Pro


Messaggi: 155
Iscritto: 04/01/2008

Segnala al moderatore
Postato alle 10:34
Martedì, 22/05/2018
Vb.net  non è un "giocattolino", si basa sul framework .NET al pari di C#, per cui non è che ci sia differenza in prestazioni o possibilità di sviluppo tra i due linguaggi.
E' solo da mettere in dubbio la sua esistenza, nel senso io venivo dalla conoscenza dei rudimenti di vb6 e dovevo scegliere di passare a un linguaggio .NET, però dando un occhiata a VB.net mi sono accorto che non era un'evoluzione del visualBasic, come
sono state le varie versioni di basic e visualBasic , ma del Vb6 rimaneva poco e alcune funzioni che sono rimaste era meglio non utilizzarle.Il Vb.net esiste solo per favorire la transizione dagli sviluppatori vb6 al NET, ma è un linguaggio totalmente nuovo che da solo l'illusione di essere un evoluzione di vb6.

Perciò resomi conto che vb.net non è un evoluzione di vb6 ma un linguaggio totalmente diverso, a quel punto ho preferito imparare "si fa per dire", un linguaggio totalmente nuovo il C#, poi conoscendo la sintassi C like  si ha la stessa agevolazione di passare da vb6 a vb.net "quel che resta nei due linguaggi in pratica è la sintassi".

PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2040
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 15:29
Martedì, 22/05/2018
Non prenderla come un offesa o qualcosa di personale carlo.
Ma conosco sia il vb.net che il C#.
E posso confermarti quello che dico.


Testo quotato


Questa affermazione non la capisco, sbaglio o qualsiasi applicazine in C# può essere convertita in VB mantenedo la stessa struttura.



Sbagli Carlo,
Non tutte le applicazioni in C# possono essere convertite in vb.net

Ti sparo direttamente cosa che il vb.net non può fare rispetto al C#.


Metodi unsafe, dove in c# è possibile utilizzare i puntatori.
Cosa che in vb.net non è possibile fare.

Classi volatile, documentazioni in XML, operazioni come ++, --, sizeof

Il vb.net non puoi avere commenti su più line, ad esempio /*   */
ma commentare una linea per volta.

ed altre cose tecniche che sicuramente dimentico.

Ora, essendo tu programmatore, come me, puoi farti un idea dell'enorme differenza
tra i due linguaggi.

E capire quale sicuramente è più professionale o non.
Per questo motivo reputo il vb in generale lo definisco più un linguaggio di scripting
che di programmazione.


Questo invece è un esempio, mi sembra di avertelo già mostrato.

Il metodo unsafe rende operazioni sulle GDI 10 volte più veloce rispetto al vb.net
magari anche algoritmi vedendo risultati istantaneamente mentre sul vb.net si può attendere anche 10 secondi.

dai un occhiata qui carlo.

https://www.codeproject.com/articles/617613/fast-pixel-oper ...

dal topic dell'autore

Senza utilizzare il codice unsafe, ovvero, stesso metodo del vb.net

Result may be ok but having to wait over 84300ms* is a complete disaster!


Con l'utilizzo del metodo unsafe e puntatori in C#

It does exactly the same thing but runs for only 230ms - over 360 times faster!





PM Quote
Avatar
torn24 (Normal User)
Pro


Messaggi: 155
Iscritto: 04/01/2008

Segnala al moderatore
Postato alle 16:22
Martedì, 22/05/2018
Che il vb.net non è un vero linguaggio di programmazione può essere solo un opinione personale, ci sono molti professionisti che magari sviluppano in vb.net, giudicandolo un buon linguaggio e il loro parere non vale meno di quello di altri.
Era un po il discorso che è stato fatto, se lo dice una persona è un conto se lo dicono tutti è un altro :asd:
Non tutti i linguaggi dispongono dei puntatori ma non per questo sono linguaggi di scripting, a me francamente non piace Vb.net
ma cerco di essere obbiettivo :pat:
Obbiettivamente visto che vb.net fa uso del framework net le sue potenzialità sono elevate, e non credo ci sia una differenza nel realizzare un gestionale in vb.net o in c#.
.

Ultima modifica effettuata da torn24 il 22/05/2018 alle 16:39
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2040
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 17:16
Martedì, 22/05/2018
Ovviamente nemmeno io sono il tipo da fare flame.

Obiettivamente posso dirti che fin quando si tratta di programmi basilari come:
Gestionali, programmi di download, gestione dei database etc và più che bene.

Ma quando entra nel mondo della grafica, li iniziano a subentrare problemi di prestazioni.
e capisci che il linguaggio fà la differenza.
Come mostrato, seppure entrambi utilizzano lo stesso framework, alcune operazioni è possibile
farlo solo in C#, altre ancora solo in F#

F# è ancora molto più veloce del C# e parliamo sempre del .net

per il mio motore, Nonostante io abbia usato metodi unsafe, e svariati algoritmi ottimizzati
per ridurre tempi di elaborazione di alcune immagini, sono stato costretto comunque a cambiare approccio.


Ma metti esempio che con un algoritmo in C# tramite metodi unsafe, per generare 16 Normal Map.
Impiega tra i 15 - 16 secondi, in vb.net avrei impiegato almeno il triplo del tempo.

E quindi non sarebbe stato per niente performante. Sopratutto per l'utente che utilizza quel determinato programma e paga tot per avere determinati benefici e poi si ritrova solo delusioni.

Avevo pensato anche di passare al Qt C++.

ma capendo il sistema di rendering del Qt, ho realizzato un controllo fac-simile a quello del Qt.

Quindi per concludere, il messaggio era semplicemente questo:

Se devi fare una cosa, falla bene altrimenti non iniziare nemmeno.
Se stai passando al .net, conviene imparare un linguaggio molto più performante. Come il C#.
Che usare il vb.net. O meglio ancora il C++.

L'unico linguaggio che per ora mi ha soddisfatto in tutto è ovviamente il c++.
mi ha disegnato una griglia di 9999 X 9999 blocchi di 32x32 pixel in meno di 1 sec.

In C# una cosa del genere posso solo sognarla.
l'unico problema che mi ostacola del C++ non è il codice o programmarlo.
Ma la scarsità del designer qt di elementi grafici.
Certo c'è il QML. ma è sempre una sorta di wpf,  quindi al momento ancora fastidioso da apprendere.





Ultima modifica effettuata da Thejuster il 22/05/2018 alle 17:34


PM Quote
Pagine: [ 1 2 3 4 ] Precedente | Prossimo