PDA

View Full Version : Creare Interfacce Windows


Programmare++
19-11-2008, 17:00
Vi devo porre una domanda, come posso fare belle interfacce? Con che linguaggio? E che manuale mi consigliate? Quale compilatore bisogna utilizzare?(possibilmente free)
A me interesserebbe creare interfacce moderne, come ad esempio quella dell' antivirus prevx:
http://pcwin.com/media/images/screen/66392-prevx1.jpg
Grazie in anticipo!:D

MarcoGG
19-11-2008, 17:15
VB 2008 (Express).
Non credo esista di meglio per applicazioni WinForms.
Manuali che si concentrino molto sulle interfacce grafiche non ne conosco... Giocaci, e vai di MSDN. ;)

Programmare++
19-11-2008, 17:19
OK grazie, ora devo solo trovare il manuale.:D :D

fero86
19-11-2008, 17:24
veramente piu' che Visual Basic io consiglierei Visual C#: entrambi sono basati su .NET ed entrambi possono usare le Windows Forms, ma il C# é un linguaggio molto piu' moderno.

poi dai anche un'occhiata a WPF (Windows Presentation Foundation): io non lo conosco e ancora non ho capito se serve per interfacce Web, per interfacce per applicazioni, o entrambe le cose; ma di sicuro dagli screenshots che vedo é una ficata :D

MarcoGG
19-11-2008, 17:32
veramente piu' che Visual Basic io consiglierei Visual C#: entrambi sono basati su .NET ed entrambi possono usare le Windows Forms, ma il C# é un linguaggio molto piu' moderno.


Adesso questa me la spieghi per bene. :D
Cioè tu, alla domanda di chi chiede un linguaggio "per creare belle interfacce" su Windows consigli il C# ? Più "moderno" ?
Cioè spiegami COSA ti fa fare il C#, che VB non ti permette di fare.

Vincenzo1968
19-11-2008, 17:38
veramente piu' che Visual Basic io consiglierei Visual C#: entrambi sono basati su .NET ed entrambi possono usare le Windows Forms, ma il C# é un linguaggio molto piu' moderno.

poi dai anche un'occhiata a WPF (Windows Presentation Foundation): io non lo conosco e ancora non ho capito se serve per interfacce Web, per interfacce per applicazioni, o entrambe le cose; ma di sicuro dagli screenshots che vedo é una ficata :D

Quoto. Anch'io consiglio WPF. Tenendo conto anche del fatto che la Microsoft lo sta nativizzando e, dunque, fra qualche tempo, ci si potrà liberare di quella gran camurrìa del .NET framework(guadagnandoci notevolmente in prestazioni ;))

Programmare++
19-11-2008, 17:43
Ok, ma che compilaore mi consigliate per WPF?

MarcoGG
19-11-2008, 17:58
Ok, ma che compilaore mi consigliate per WPF?


Ti ri-consiglio VB 2008. Express, o se hai un'amico che... VB 2008 PRO, e hai tutto ciò che vuoi ( e anche di più ).

Se sei agli inizi poi, soprattutto, C# lascialo per dopo.
L'unica differenza che saresti in grado di apprezzare è una montagna di parentesi graffe, di punto-e-virgola, e di inutili complicazioni che con VB ti risparmi. :D

||ElChE||88
19-11-2008, 18:05
L'unica differenza che saresti in grado di apprezzare è una montagna di parentesi graffe, di punto-e-virgola
E sorprendentemente, anche senza la montagna di parentesi graffe e punto-e-virgola riesce comunque a rimanere più prolisso: :asd:
http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

Programmare++
19-11-2008, 18:08
Ah, allora bisogna utilizzare VB 2008 anche per i WPF.....
Grazie!!!:D
Avete qualche es. in più di quelli che offre la microsoft?

Kralizek
19-11-2008, 18:22
veramente piu' che Visual Basic io consiglierei Visual C#: entrambi sono basati su .NET ed entrambi possono usare le Windows Forms, ma il C# é un linguaggio molto piu' moderno.
le uniche differenze che vedo nel passaggio da VB.NET a C# è l'uso della parola chiave "unsafe" (utilissima in .NET) e delle lambda che VB.NET supporta solo tramite l'operatore Func(). Per il resto devi buttare il sangue per gestire un event handler.

Quoto. Anch'io consiglio WPF. Tenendo conto anche del fatto che la Microsoft lo sta nativizzando e, dunque, fra qualche tempo, ci si potrà liberare di quella gran camurrìa del .NET framework(guadagnandoci notevolmente in prestazioni ;))

peccato che WPF è basato su .NET.
Semmai la MS sta nativizzando tutto il Framework .NET ;)

Programmare++
19-11-2008, 18:42
Ok, ho deciso di studiare vb con le WPF, ed ho trovato un articolo interessante:
http://www.codeproject.com/KB/WPF/DotNet_XAML.aspx

nico159
19-11-2008, 21:12
Python + QT4 :cool:
http://trolltech.com/products
http://trolltech.com/qt-in-use :read:

MarcoGG
19-11-2008, 22:18
E sorprendentemente, anche senza la montagna di parentesi graffe e punto-e-virgola riesce comunque a rimanere più prolisso: :asd:
http://www.harding.edu/fmccown/vbnet_csharp_comparison.html

Bella pagina. :) Fa sempre comodo un quick comparison VB NET / C#.
Non la conoscevo. Ne sai altre ?

Ok, ho deciso di studiare vb con le WPF,


E hai fatto bene.

fero86
20-11-2008, 00:00
Python + QT4 :cool:
http://trolltech.com/products
http://trolltech.com/qt-in-use :read: pietá :asd:

||ElChE||88
20-11-2008, 03:12
Bella pagina. :) Fa sempre comodo un quick comparison VB NET / C#.
Non la conoscevo. Ne sai altre ?
No, l'ho trovata googlando.
E' molto interessante, vero, compara moltissimi aspetti dei 2 linguaggi. :D

PS: Io personalmente preferisco il C#, ma devo dire che non ho avuto particolari difficoltà a passare a VB.Net per un progetto che ho dovuto fare.

MarcoGG
20-11-2008, 10:37
Io conosco queste 2, invece :

http://aspalliance.com/625
http://www.codeproject.com/KB/dotnet/vbnet_c__difference.aspx

tomminno
20-11-2008, 12:25
Adesso questa me la spieghi per bene. :D
Cioè tu, alla domanda di chi chiede un linguaggio "per creare belle interfacce" su Windows consigli il C# ? Più "moderno" ?
Cioè spiegami COSA ti fa fare il C#, che VB non ti permette di fare.

Mi speighi allora cosa ti fa fare C# che non ti faccia fare già l'Assembly?

VB è un linguaggio primitivo nato per fare iniziare i ragazzini alla programmazione, poi entrato in .NET per coloro che non vogliono aggiornarsi e rimanere a 10 anni fa.

tomminno
20-11-2008, 12:26
poi dai anche un'occhiata a WPF (Windows Presentation Foundation): io non lo conosco e ancora non ho capito se serve per interfacce Web, per interfacce per applicazioni, o entrambe le cose; ma di sicuro dagli screenshots che vedo é una ficata :D

Le WPF con Silverlight 2 si possono usare anche sul web, ma ancora credo manchi il supporto a Linux...

tomminno
20-11-2008, 12:33
Ti ri-consiglio VB 2008. Express, o se hai un'amico che... VB 2008 PRO, e hai tutto ciò che vuoi ( e anche di più ).

Se sei agli inizi poi, soprattutto, C# lascialo per dopo.
L'unica differenza che saresti in grado di apprezzare è una montagna di parentesi graffe, di punto-e-virgola, e di inutili complicazioni che con VB ti risparmi. :D

Si certo addio parentesi e linguaggi concisi, propri della matematica, per un linguaggio prolisso?
Sai che palle scrivere tutte le volte if ... then ... else ... end if?
Per non parlare di Dim x as Pippo per dichiarare una variabile, e ancora la suddivisione tra sub e function? con chiaramente il comodissimo end sub/function alla fine?
Chi è più veloce da scrivere una parentesi o una mezza frase in inglese?
Infine il case-insensitive.

tomminno
20-11-2008, 12:41
Vi devo porre una domanda, come posso fare belle interfacce? Con che linguaggio? E che manuale mi consigliate? Quale compilatore bisogna utilizzare?(possibilmente free)
A me interesserebbe creare interfacce moderne, come ad esempio quella dell' antivirus prevx:

Grazie in anticipo!:D

Ah comunque senza un grafico che ti faccia le immagini, con nessun linguaggio e nessuna libreria crei una interfaccia simile.

das
20-11-2008, 13:41
Vi devo porre una domanda, come posso fare belle interfacce? Con che linguaggio? E che manuale mi consigliate? Quale compilatore bisogna utilizzare?(possibilmente free)
A me interesserebbe creare interfacce moderne, come ad esempio quella dell' antivirus prevx:
http://pcwin.com/media/images/screen/66392-prevx1.jpg
Grazie in anticipo!:D

Credo che vengano usate widgets di terze parti a pagamento, a meno che tu non voglia riscriverti a mano i controlli dell'interfaccia grafica. (cosa laboriosa e complessa)

MarcoGG
20-11-2008, 13:47
Mi speighi allora cosa ti fa fare C# che non ti faccia fare già l'Assembly?

VB è un linguaggio primitivo nato per fare iniziare i ragazzini alla programmazione, poi entrato in .NET per coloro che non vogliono aggiornarsi e rimanere a 10 anni fa.


:rolleyes:

Ma va là, ma vatti a leggere Wikipedia :
Molte delle originali carenze sono state colmate, ma questo ha reso Visual Basic .Net un linguaggio più complesso del suo predecessore, ma al tempo stesso estremamente più potente e versatile. Alcuni ritengono che il supporto per Visual Basic .NET diminuirà nel tempo a favore del C#, che diventerà il linguaggio più utilizzato in ambito .NET; tuttavia, per il momento, Microsoft fornisce il pieno supporto a Visual Basic .Net tanto che anche nella versione 2.0 del .NET Framework, le differenze nelle potenzialità dei due linguaggi sono talmente minime da rendere la scelta nell'utilizzo dell'uno o dell'altro una cosa influenzata più dalla cultura degli sviluppatori che dalle necessità tecniche. Tuttavia, analizzando la presenza di Visual Basic .NET in Internet, è chiaro che questo linguaggio rimane tuttora il punto di riferimento e la prima scelta della maggior parte dei programmatori.

Mo' che centra l'Assembly ?
L'utente che ha introdotto il discorso ha parlato di "linguaggio con cui creare belle interfacce grafiche" per Windows !
Dall'immagine che ha postato si evince che vuole realizzare forse la sua prima applicazione Windows Forms.
Se devo esprimere un concetto, lo posso esprimere in Inglese, in Russo o Sanscrito. Se la lingua "mondiale" è l'Inglese ( che è la lingua tecnica per eccellenza ) significa che moltissime persone per capirsi alla svelta usano quel linguaggio. E' più semplice creare una Windows Form con VB che non con molti altri linguaggi, e questo era il solo e semplice senso del mio consiglio a quell'utente, soprattutto se, come penso, è agli inizi.
Delle "guerre di religione" da 4 soldi ne faccio a meno.
Conosco VB, e da un po' di tempo anche C#, perchè ho tradotto parecchio codice dall'uno all'altro, e mi sento di poter consigliare ( la prossima volta scriverò un IMHO grande come una casa, ufff... ).

Quindi VB 2008 è un "linguaggio primitivo per ragazzini" ? :D :D :D
Allora lo è anche C#. Se non sei d'accordo corri a modificare Wikipedia, perchè a quanto pare dicono balle.
Ignori anche la differenza tra VB6 e VB NET ?
Se VB non ti piace è affar tuo, ma almeno astieniti dallo scrivere stronzate !


Si certo addio parentesi e linguaggi concisi, propri della matematica, per un linguaggio prolisso?
Sai che palle scrivere tutte le volte if ... then ... else ... end if?
Per non parlare di Dim x as Pippo per dichiarare una variabile, e ancora la suddivisione tra sub e function? con chiaramente il comodissimo end sub/function alla fine?
Chi è più veloce da scrivere una parentesi o una mezza frase in inglese?
Infine il case-insensitive.


Anche qui dimostri di criticare qualcosa che non conosci in quanto, se lo usassi, sapresti che non c'è mai praticamente bisogno di "scriverle" quelle keywords, in quanto l'IDE provvede spessissimo a completare il codice.
Ah, ma forse tu usi notepad per scrivere VB...

:rolleyes:

Don[ITA]
20-11-2008, 14:16
Potreti provare anche java con l'editor matisse di netbeans. Veramente semplice e comodo a mio avviso.
E ci guadagni pure la portabilità su linux o mac os :D

Ziao

gugoXX
20-11-2008, 14:41
Le differenze operative tra C# e VB.net sono minime.
Ma ci sono alcuni piccoli pezzi, solitamente a favore di C#.
Ci sono cose che il C# puo' fare e il VB.net no, e ci sono cose che il VB.net puo' fare e il C# no
Meglio, tutti e 2 possono fare qualunque cosa l'altro possa fare, ma ci sono appunto delle facilities specifiche.

Quella piu' importante, che chiaramente esula da questo topic, e' l'esistenza della keyword
yield return
del C#, davvero utile con le integrazioni LINQ, o anche solo per la costruzione di nuove interfaccie IEnumerable.

Poi certo che non si sceglie C# o VB.net in funzione di questo.
Diciamo che mentre prima non era molto chiaro, la community degli sviluppatori ha scelto da qualche anno il C# come linguaggio preferenziale.
Anche in Microsoft se ne sono accorti.
Vedremo in futuro cosa succedera'. Per ora diciamo che sono analoghi.

cionci
20-11-2008, 15:34
:rolleyes:

Ma va là, ma vatti a leggere Wikipedia

:rolleyes:
Per favore cerca di mantenere un atteggiamento più pacato d'ora in avanti :)
Non siamo qui per dare addosso l'uno all'altro.

cionci
20-11-2008, 15:36
Poi certo che non si sceglie C# o VB.net in funzione di questo.
Diciamo che mentre prima non era molto chiaro, la community degli sviluppatori ha scelto da qualche anno il C# come linguaggio preferenziale.
Anche in Microsoft se ne sono accorti.
Vedremo in futuro cosa succedera'. Per ora diciamo che sono analoghi.
Imho è stata la Microsoft stessa a scegliere C# come linguaggio principale per lo sviluppo in .Net, fin dagli inizi. VB.Net è nato per riciclare su .Net tutte le aziende che da decenni lavoravano in VB.

cionci
20-11-2008, 15:54
Credo che vengano usate widgets di terze parti a pagamento, a meno che tu non voglia riscriverti a mano i controlli dell'interfaccia grafica. (cosa laboriosa e complessa)
Credo anche io sinceramente.

gugoXX
20-11-2008, 16:22
Imho è stata la Microsoft stessa a scegliere C# come linguaggio principale per lo sviluppo in .Net, fin dagli inizi. VB.Net è nato per riciclare su .Net tutte le aziende che da decenni lavoravano in VB.

In effetti suona ragionevole.
Pero' mi ricordo che 4-5 anni fa non era affatto scontato. Nel 2003 quando mi ero approcciato per la prima volta al .NET Framework per motivi commerciali, la prima soluzione l'avevo scritta in VB.net
E non e' che il C# mi stesse molto simpatico in realta'. Provenivo ovviamente da un mondo C++, e non riuscivo a capire proprio perche' avrei dovuto usare un altro surrogato.

Vincenzo1968
20-11-2008, 19:01
...
peccato che WPF è basato su .NET.
Semmai la MS sta nativizzando tutto il Framework .NET ;)

Nonsi.
Per quanto riguarda WPF, lo strato più basso è già, per motivi di performance, nativizzato:

http://www.guidealgoritmi.it/images/ImgForums/ArchitetturaWPF.jpg

Le due dll del media integration layer, milcore.dll e Windowscodec.dll, sono due dll native, scritte in C/C++. La Microsoft, causa lentezza del codice managed, sta nativizzando anche lo strato superiore.

Kralizek
20-11-2008, 23:35
Si certo addio parentesi e linguaggi concisi, propri della matematica, per un linguaggio prolisso?
Sai che palle scrivere tutte le volte if ... then ... else ... end if?

Con IntelliSense non è un problema ;)

Per non parlare di Dim x as Pippo per dichiarare una variabile,

meno prolisso che non scrivere 2 volte il nome della classe...
es: tenuto conto che Pippo deriva da Personaggio...


Dim x As New Pippo()
Dim y As Personaggio = New Pippo()

Pippo x = new Pippo();
Personaggio y = new Pippo();


Quale è più prolisso? Considerando che in media si istanzia un oggetto definendo lo stesso tipo...

e ancora la suddivisione tra sub e function? con chiaramente il comodissimo end sub/function alla fine?

se per avere "MustOverride" "Overrides" "Shadows" "Shared" "MustInherits" "Inherits" "Implements" "Default" devo avere "Sub" e "Function" devo pagare dazio, ben venga!


Chi è più veloce da scrivere una parentesi o una mezza frase in inglese?
Infine il case-insensitive.

IntelliSense risolve il problema della scrittura facilmente... ora dimmi se hai 7/8 statements innestati con un corpo di 10/15 righe... come fai a capire quale parentesi appartiene a quale statement? vai di scroll? o metti un commento "di chiusura" alla fine di ogni graffa?

Più che altro, qualcuno mi spiega perchè certe cose le mettono in VB (tipo il tipo Xml) ed altre solo in C# (proprietà automatiche, lambda expression più veloci)?

gugoXX
20-11-2008, 23:58
Un altro vantaggio del C# rispetto al VB.net e' che qui a Londra, nell'ultima settimana, ci sono state 910 nuove offerte di lavoro per C#, e 180 per VB.net

Kralizek
21-11-2008, 00:00
Un altro vantaggio del C# rispetto al VB.net e' che qui a Londra, nell'ultima settimana, ci sono state 910 nuove offerte di lavoro per C#, e 180 per VB.net

io ora lavoro per un'azienda in C# pur non avendo mai scritto una riga in c# prima di allora.

gugoXX
21-11-2008, 00:03
io ora lavoro per un'azienda in C# pur non avendo mai scritto una riga in c# prima di allora.

Be, se sei cosi' sbilanciato a favore del VB.net dev'essere un po' frustrante.

Kralizek
21-11-2008, 00:16
Be, se sei cosi' sbilanciato a favore del VB.net dev'essere un po' frustrante.

ma no alla fine mi sono abituato... anche se certe cose proprio non le capisco.

Però devo ammettere che, a parità di codice, una pagina C# sembra più "snella" di una pagina VB.NET.

tomminno
21-11-2008, 10:51
:rolleyes:

Ma va là, ma vatti a leggere Wikipedia :
Molte delle originali carenze sono state colmate, ma questo ha reso Visual Basic .Net un linguaggio più complesso del suo predecessore, ma al tempo stesso estremamente più potente e versatile. Alcuni ritengono che il supporto per Visual Basic .NET diminuirà nel tempo a favore del C#, che diventerà il linguaggio più utilizzato in ambito .NET; tuttavia, per il momento, Microsoft fornisce il pieno supporto a Visual Basic .Net tanto che anche nella versione 2.0 del .NET Framework, le differenze nelle potenzialità dei due linguaggi sono talmente minime da rendere la scelta nell'utilizzo dell'uno o dell'altro una cosa influenzata più dalla cultura degli sviluppatori che dalle necessità tecniche. Tuttavia, analizzando la presenza di Visual Basic .NET in Internet, è chiaro che questo linguaggio rimane tuttora il punto di riferimento e la prima scelta della maggior parte dei programmatori.


Presonalmente vedo che la stragrande maggioranza degli applicativi .NET è C#. E la qualità di quelli scritti in VB.NET è molto molto bassa, con scarso utilizzo delle funzionalità del framework.


Mo' che centra l'Assembly ?


Sei te che l'hai messa sulle differenze tra cosa è possibile fare e cosa no.
Secondo questo ragionamento non c'è bisogno di niente di più evoluto dell'Assembly, visto che con questo linguaggio si può fare tutto e anche di più.


Se devo esprimere un concetto, lo posso esprimere in Inglese, in Russo o Sanscrito. Se la lingua "mondiale" è l'Inglese ( che è la lingua tecnica per eccellenza ) significa che moltissime persone per capirsi alla svelta usano quel linguaggio. E' più semplice creare una Windows Form con VB che non con molti altri linguaggi, e questo era il solo e semplice senso del mio consiglio a quell'utente, soprattutto se, come penso, è agli inizi.


Scusa ma l'editor grafico per VB.NET e C# è identico, quindi non hai nessun vantaggio.


Quindi VB 2008 è un "linguaggio primitivo per ragazzini" ? :D :D :D


La sintassi usata deriva dall'origine che ha VB, e ancora oggi in VB 2008 sono rimaste intatte, anche se deprecate, le vecchie regole di scrittura codice.


Allora lo è anche C#.


Il C# ha una sintassi C-like il quale a sua volta deriva abbastanza da vicino dalla scrittura matematica, che è molto concisa e dà poco adito ad ambiguità.


Se non sei d'accordo corri a modificare Wikipedia, perchè a quanto pare dicono balle.


Sinceramente non me ne può fregare di meno di cosa scrivono su wikipedia. Evidentemente quell'articolo è stato scritto da un fan di VB.


Ignori anche la differenza tra VB6 e VB NET ?


Indicami le differenze sintattiche e non di libreria e vediamo quanto è migliorato VB.NET rispetto al predecessore.


Anche qui dimostri di criticare qualcosa che non conosci in quanto, se lo usassi, sapresti che non c'è mai praticamente bisogno di "scriverle" quelle keywords, in quanto l'IDE provvede spessissimo a completare il codice.
Ah, ma forse tu usi notepad per scrivere VB...

:rolleyes:

Mi spiace, ma ogni tanto mi tocca mettere mano sia a VB6 sia a VB.NET e if then else end if me li devo scrivere a mano l'editor non mi aiuta sia con VS6 sia con VS2005, function me lo devo scrivere tutto a mano, niente intellisense ad aiutare.
E che mi dici dei delelgati? L'intellisense VB.NET ti aiuta? A me no, devo scrivere a mano l'intero poema inglese.

MarcoGG
21-11-2008, 12:48
Presonalmente vedo che la stragrande maggioranza degli applicativi .NET è C#. E la qualità di quelli scritti in VB.NET è molto molto bassa, con scarso utilizzo delle funzionalità del framework.


E a me non può fregar di meno di quanto tu "veda personalmente".
Ciò che scrivono su Wiki, se permetti, è una fonte un po' più attendibile della sola testa tua.


Sei te che l'hai messa sulle differenze tra cosa è possibile fare e cosa no.
Secondo questo ragionamento non c'è bisogno di niente di più evoluto dell'Assembly, visto che con questo linguaggio si può fare tutto e anche di più.


No. Anche qui non hai capito.
Ma l'hai letta la domanda di apertura ?!
Non ho dato una risposta decontestualizzata, come invece stai continuando a fare tu. Non ho detto "scegli VB che è il miglior linguaggio del mondo".
Ho consigliato VB 2008 ad un utente che forse è agli inizi e che chiedeva come realizzare una bella interfaccia, che, dall'immagine postata, appare proprio essere una WinForm.

Non lo ripeto più. :rolleyes:

Poi arrivi tu, con l'affermazione assurda che VB NET sia "primitivo" e "per ragazzini" o per "gente che non vuole adeguarsi".
Ma lo leggi quello che scrivi ?
Non troverai un documento, redatto da gente con il pollice opponibile, in tutto il Web dove si dichiara una cosa del genere !

Ok, se ti chiedono "consigliami un IDE di sviluppo/linguaggio per creare belle interfacce grafiche" ora sappiamo che la tua risposta è "Assembly". :D


La sintassi usata deriva dall'origine che ha VB, e ancora oggi in VB 2008 sono rimaste intatte, anche se deprecate, le vecchie regole di scrittura codice.

Il C# ha una sintassi C-like il quale a sua volta deriva abbastanza da vicino dalla scrittura matematica, che è molto concisa e dà poco adito ad ambiguità.


1. Cosa c'è di male ? Basta saperlo. Perchè quando scrivi, che so, in Java non devi forse fare i conti con i metodi deprecati passando da una versione all'altra della Jvm ?

2. Io tutta sta ambiguità pazzesca in VB Net proprio... Bah. :mbe:


Sinceramente non me ne può fregare di meno di cosa scrivono su wikipedia. Evidentemente quell'articolo è stato scritto da un fan di VB.


Questa poi si commenta da sè... :rotfl:
Verremo tutti sul tuo siterello, a farci indottrinare.


Mi spiace, ma ogni tanto mi tocca mettere mano sia a VB6 sia a VB.NET e if then else end if me li devo scrivere a mano l'editor non mi aiuta sia con VS6 sia con VS2005, function me lo devo scrivere tutto a mano, niente intellisense ad aiutare.
E che mi dici dei delelgati? L'intellisense VB.NET ti aiuta? A me no, devo scrivere a mano l'intero poema inglese.


E aridaje !
Ma-io-ho-consigliato-VB-2008 !
Non ho scritto "Usa VB6", e ho detto che in VB 2008 la stragrande maggiornaza delle keywords vengono suggerite ed introdotte dall'Ide.
Ora, se sai usare VB 2008 e lo conosci, criticalo pure, purchè tu non scriva baggianate.
Se non lo conosci lascia decisamente perdere.

fero86
21-11-2008, 15:58
Ho consigliato VB 2008 ad un utente che forse è agli inizi e che chiedeva come realizzare una bella interfaccia, che, dall'immagine postata, appare proprio essere una WinForm e perché mai?

cionci
21-11-2008, 16:44
MarcoGG: ora ripeto io, stai continuando a mantenere un atteggiamento aggressivo. Non è il modo di stare in questo forum.

cdimauro
21-11-2008, 19:35
Si certo addio parentesi e linguaggi concisi, propri della matematica, per un linguaggio prolisso?
Sai che palle scrivere tutte le volte if ... then ... else ... end if?
Per non parlare di Dim x as Pippo per dichiarare una variabile, e ancora la suddivisione tra sub e function? con chiaramente il comodissimo end sub/function alla fine?
Chi è più veloce da scrivere una parentesi o una mezza frase in inglese?
Non è che Java sia messo tanto meglio: eppure non leggo tante lamentele sulla sua prolissità. ;)
Infine il case-insensitive.
Questo, invece, è assolutamente un pregio: avere identificatori case sensitive non ha senso. Avere due variabili diverse, magari con tipo diverso, che si chiamano rispettivamente "a" e "A" che vantaggio ha? Più che generare confusione non fanno. Idem per i filesystem che sono case sensitive per i nomi dei file.

Gli identificatori case sensitive sono nati in un certo periodo storico per una specifica esigenza: quella di evitare confronti più onerosi computazionalmente, quando la potenza di calcolo scarseggiava.
Una strcmp (http://www.koders.com/c/fidE1363F68FC1C25D804B7643D67C103A16C33948E.aspx) è ben diversa da una stricmp (http://www.koders.com/c/fid53CBD4D3D36D8CB24B74FD45E44456ECF0152255.aspx).

Ma è una porcata immane. Di Python una delle cose che non apprezzo è proprio il fatto che gli identificatori sono case sensitive.

Poi ci sono prodotti come MySQL che quanto a porcate toccano il fondo: nei sistemi con filesystem case sensitive costringono ad avere i nomi delle tabelle case sensitive, mentre TUTTI gli altri identificatori (keyword incluse) sono, giustamente, case insensitive. Come standard SQL comanda.

gugoXX
21-11-2008, 19:48
Questo, invece, è assolutamente un pregio: avere identificatori case sensitive non ha senso. Avere due variabili diverse, magari con tipo diverso, che si chiamano rispettivamente "a" e "A" che vantaggio ha? Più che generare confusione non fanno. Idem per i filesystem che sono case sensitive per i nomi dei file.

Gli identificatori case sensitive sono nati in un certo periodo storico per una specifica esigenza: quella di evitare confronti più onerosi computazionalmente, quando la potenza di calcolo scarseggiava.
Una strcmp (http://www.koders.com/c/fidE1363F68FC1C25D804B7643D67C103A16C33948E.aspx) è ben diversa da una stricmp (http://www.koders.com/c/fid53CBD4D3D36D8CB24B74FD45E44456ECF0152255.aspx).

Ma è una porcata immane. Di Python una delle cose che non apprezzo è proprio il fatto che gli identificatori sono case sensitive.

Poi ci sono prodotti come MySQL che quanto a porcate toccano il fondo: nei sistemi con filesystem case sensitive costringono ad avere i nomi delle tabelle case sensitive, mentre TUTTI gli altri identificatori (keyword incluse) sono, giustamente, case insensitive. Come standard SQL comanda.

Il fatto che almeno gli identificatori siano case sensitive lo ritengo un pregio.
Altrimenti la liberta' di scrivere
interface, INTERFACE, Interface, InTeRfaCE
Avrebbe reso il codice piu' difficile da leggere.

Per le variabili non so. Non ho mai provato.

fero86
21-11-2008, 20:04
Ma è una porcata immane. questa é un'esagerazione: perché mai sarebbe una porcata e per giunta immane? vedi sotto il mio parere.


Di Python una delle cose che non apprezzo è proprio il fatto che gli identificatori sono case sensitive. il fatto che un linguaggio moderno e non di derivazione C/C++ scelga comunque di essere case sensitive la dice lunga; ad esempio permette di rimediare alle carenze della naming convention.

é giá stato fatto un esempio piu' indietro nel topic che ora non mi va di ripescare; mettiamo che ho una classe che rappresenta una conferenza e si chiama Conference, e di volerla istanziare tenendone il riferimento in una variabile di nome "conference": ecco che in Visual Basic assistiamo ad un fioccare di stucchevoli prefissi "my". l'alternativa é la notazione ungherese, vedi un po' tu.

cdimauro
21-11-2008, 20:32
Il fatto che almeno gli identificatori siano case sensitive lo ritengo un pregio.
Altrimenti la liberta' di scrivere
interface, INTERFACE, Interface, InTeRfaCE
Avrebbe reso il codice piu' difficile da leggere.

Per le variabili non so. Non ho mai provato.
Per le keyword c'è chi preferisce scriverle in maiuscolo (col MODULA & derivati era lo stile consigliato), chi in minuscolo (C & co.; ma qui è anche un obbligo, causa case sensitive appunto), chi con la prima maiuscola (Pascal).

L'importante per me è l'omogeneità.
il fatto che un linguaggio moderno e non di derivazione C/C++ scelga comunque di essere case sensitive la dice lunga; ad esempio permette di rimediare alle carenze della naming convention.
Non vedo che vantaggio avrebbe.
é giá stato fatto un esempio piu' indietro nel topic che ora non mi va di ripescare; mettiamo che ho una classe che rappresenta una conferenza e si chiama Conference, e di volerla istanziare tenendone il riferimento in una variabile di nome "conference": ecco che in Visual Basic assistiamo ad un fioccare di stucchevoli prefissi "my". l'alternativa é la notazione ungherese, vedi un po' tu.
O chiamarla ConferenceClass. Le classi astratte non le chiamiamo AbstractConference abitualmente? ;)

Comunque generalmente le definizioni finiscono in un modulo/package/unit, e da lì vengono poi importate e usate nell'applicazione principale. Esempio:
import Classes
Conference = Classes.Conference()
;)

tomminno
21-11-2008, 21:12
Questo, invece, è assolutamente un pregio: avere identificatori case sensitive non ha senso. Avere due variabili diverse, magari con tipo diverso, che si chiamano rispettivamente "a" e "A" che vantaggio ha? Più che generare confusione non fanno. Idem per i filesystem che sono case sensitive per i nomi dei file.


Anche solo per il fatto di avere la variabile privata "a" e la proprietà "A" per l'accesso ad "a", per non parlare di A a = new A();
Inoltre con il case insensitive le comuni regole di naming non hanno senso, non avendo senso la distinzione tra maiuscole e minuscole.
Per i file anche NTFS è case sensitive, è Windows che li elabora in maniera case insensitive.

cdimauro
21-11-2008, 21:18
Anche solo per il fatto di avere la variabile privata "a" e la proprietà "A" per l'accesso ad "a", per non parlare di A a = new A();
Proprio il massimo della leggibilità.
Inoltre con il case insensitive le comuni regole di naming non hanno senso, non avendo senso la distinzione tra maiuscole e minuscole.
Perché?
Per i file anche NTFS è case sensitive, è Windows che li elabora in maniera case insensitive.
Non è così: NTFS è case insensitive, ma viene preservato il case.

khelidan1980
21-11-2008, 22:12
Inoltre con il case insensitive le comuni regole di naming non hanno senso, non avendo senso la distinzione tra maiuscole e minuscole.

il naming serve al programmatore,se poi il compilatore considera tutto alla stessa maniera non ha importanza

fero86
21-11-2008, 23:39
Non è così: NTFS è case insensitive, ma viene preservato il case. il che significa che NTFS é case-sensitive; che altro dovrebbe fare un file system per essere case-sensitive?
per la cronaca, il kernel di Windows é opzionalmente case-sensitive: nello specificare il path di un file si specifica sempre anche un'opzione che indica come interpretare quel path, se in maniera case-sensitive o meno; Win32 invece é case-insensitive, ma altri subsystems implementati al di sopra delle API native, come quello Posix, possono essere case-sensitive.

cdimauro
22-11-2008, 07:01
il che significa che NTFS é case-sensitive; che altro dovrebbe fare un file system per essere case-sensitive?
Per un filesystem ci sono 3 possibilità:

- è case sensitive (e ovviamente mantiene il case);
- è case insensitive (e mantiene il case);
- è case insensitive (e non mantiene il case).

Quest'ultimo caso è strano, ma il DOS (con filesystem non VFAT) ci ricorda che gli 8.3 caratteri erano memorizzati tutti in maiuscolo a prescindere da come si erano scritti i nomi. I nomi, però, si potevano tranquillamente specificare con qualunque case.

Questa era una cosa comune ai più vecchi file system.
per la cronaca, il kernel di Windows é opzionalmente case-sensitive: nello specificare il path di un file si specifica sempre anche un'opzione che indica come interpretare quel path, se in maniera case-sensitive o meno; Win32 invece é case-insensitive, ma altri subsystems implementati al di sopra delle API native, come quello Posix, possono essere case-sensitive.
Infatti, ma rimane il problema dell'eventuale creazione di file con lo stesso nome, ma con case diverso, che sono ingestibili dal subsystem standard.

Qui http://en.wikipedia.org/wiki/File_system_comparison c'è una pagina in cui vengono confrontate le caratteristiche di numerosi filesystem.