Usando indifferentemente secondo entrambi, Visual Studio 2005 e SharpDevelop ho notato alcune differenze su come vengono organizzati, alla creazione, i progetti Visual Basic e C#.
Con C# entrambi generano un progetto che ha nella classe "program.cs" il punto di entrata e partenza con le classiche istruzioni:
/*
* Creato da SharpDevelop.
* Utente: Luciano
* Data: 14/10/2007
* Ora: 11.13
*
*/
using System;
using System.Windows.Forms;
namespace SerializeCs
{
/// <summary>
/// Class with program entry point.
/// </summary>
internal sealed class Program
{
/// <summary>
/// Program entry point.
/// </summary>
[STAThread]
private static void Main(string[] args)
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
}
Visual Studio come unica differenza da #D on C# genera la classe Program non dichiarandola internal e sealed
Dove cambia invece è sulla generazione dei progetti Visual Basic.
Visual Studio non genera nessun file separato e mette la Form (Form1) come oggetto di avvio.
#D genera un file "program.vb" che contiene una estensione della classe MyApplication e mette questo oggetto come oggetto di avvio
' Creato da SharpDevelop.
' Utente: Luciano
' Data: 09/11/2007
' Ora: 16.25
'
Imports Microsoft.VisualBasic.ApplicationServices
Namespace My
' This file controls the behaviour of the application.
Partial Class MyApplication
Public Sub New()
MyBase.New(AuthenticationMode.Windows)
Me.IsSingleInstance = False
Me.EnableVisualStyles = True
Me.SaveMySettingsOnExit = False ' MySettings are not supported in SharpDevelop.
Me.ShutDownStyle = ShutdownMode.AfterMainFormCloses
End Sub
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = My.Forms.MainForm
End Sub
End Class
End Namespace
Visual Studio inoltre di default "mostra tutto" su C# e "nasconde gran parte" dei file su Visual Basic (per vedere i file nascosti è necessario premere l'opzione "mostra tutti i file".
Queste differenze mi hanno portato ad una semplice conclusione:
Psicologicamente Microsoft considera Visual Basic inferiore a C# in quanto considera Visual Basic come un IDE che deve predisporre un progetto che avrà in genere una sola Form.
L'atteggiamento mentale della costruzione dell'interfaccia è sì rivolta alla semplificazione del lavoro ma qui abbiamo passato il limite, si è fatto un gran lavoro per nascondere di default agli occhi del pubblico opzioni che invece su C# non sono neanche state parametrizzate o previste.
Nessun commento:
Posta un commento