Visual Basic (.NET)
Visual Basic (.NET), originalment anomenat Visual Basic.NET (VB.NET), és un llenguatge de programació multiparadigma i orientat a objectes desenvolupat per Microsoft i implementat en.NET, Mono i.NET Framework. Microsoft va llançar VB.NET el 2002 com a successor del seu llenguatge Visual Basic original, l'última versió del qual va ser Visual Basic 6.0. Tot i que la part ".NET" del nom es va eliminar el 2005, aquest article utilitza "Visual Basic [.NET]" per referir-se a tots els llenguatges de Visual Basic publicats des del 2002, per tal de distingir-los del Visual Basic clàssic. Juntament amb C# i F#, és un dels tres llenguatges principals dirigits a l'ecosistema.NET. Microsoft va actualitzar la seva estratègia de llenguatge VB el 6 de febrer de 2023, afirmant que VB és un llenguatge estable ara i que Microsoft continuarà mantenint-lo.[1] L'entorn de desenvolupament integrat (IDE) de Microsoft per desenvolupar en Visual Basic és Visual Studio. La majoria de les edicions de Visual Studio són comercials; les úniques excepcions són Visual Studio Express i Visual Studio Community, que són gratuïtes. A més, el SDK de.NET Framework inclou un compilador de línia d'ordres gratuït anomenat vbc.exe. Mono també inclou un compilador de línia d'ordres de VB.NET. El Visual Basic s'utilitza sovint juntament amb la biblioteca GUI del Windows Forms per crear aplicacions d'escriptori per a Windows. La programació per a Windows Forms amb Visual Basic implica arrossegar i deixar anar controls en un formulari mitjançant un dissenyador GUI i escriure el codi corresponent per a cada control. Ús en la creació de programes GUILa biblioteca de Windows Forms s'utilitza més habitualment per crear interfícies GUI en Visual Basic. Tots els elements visuals de la biblioteca de classes de Windows Forms deriven de la classe Control. Aquesta proporciona la funcionalitat mínima d'un element d'interfície d'usuari, com ara la ubicació, la mida, el color, la font, el text, així com esdeveniments comuns com ara fer clic i arrossegar/deixar anar. La classe Control també té suport d'acoblament per permetre que un control reorganitzi la seva posició sota el seu element principal. Els formularis es dissenyen normalment a l'IDE de Visual Studio. A Visual Studio, els formularis es creen mitjançant tècniques d'arrossegar i deixar anar. S'utilitza una eina per col·locar controls (per exemple, quadres de text, botons, etc.) al formulari (finestra). Els controls tenen atributs i controladors d'esdeveniments associats. Els valors per defecte es proporcionen quan es crea el control, però el programador els pot canviar. Molts valors d'atributs es poden modificar durant el temps d'execució en funció de les accions de l'usuari o dels canvis a l'entorn, proporcionant una aplicació dinàmica. Per exemple, es pot inserir codi al controlador d'esdeveniments de redimensionament del formulari per reposicionar un control de manera que romangui centrat al formulari, s'expandeixi per omplir el formulari, etc. En inserir codi al controlador d'esdeveniments per a una pulsació de tecla en un quadre de text, el programa pot traduir automàticament la majúscula i minúscula del text que s'introdueix o fins i tot impedir que s'insereixin certs caràcters. SintaxiEl Visual Basic utilitza sentències per especificar accions. La sentència més comuna és una sentència d'expressió, que consisteix en una expressió que s'ha d'avaluar, en una sola línia. Com a part d'aquesta avaluació, es poden cridar funcions o subrutines i es poden assignar nous valors a variables. Per modificar l'execució seqüencial normal de les sentències, el Visual Basic proporciona diverses sentències de flux de control identificades per paraules clau reservades. La programació estructurada és compatible amb diverses construccions, incloent-hi dues construccions d'execució condicional ( A més, en Visual Basic:
Exemple senzillEl següent és un programa molt senzill en Visual Basic, una versió del clàssic exemple " Hola, món! " creat com a aplicació de consola: Module Module1
Sub Main()
' The classic "Hello, World!" demonstration program
Console.WriteLine("Hello, World!")
End Sub
End Module
Imprimeix " Hola, món! " en una finestra de línia d'ordres. Cada línia té una finalitat específica, de la següent manera: Module Module1
Aquesta és una definició de mòdul. Els mòduls són una divisió del codi, que pot contenir qualsevol tipus d'objecte, com ara constants o variables, funcions o mètodes, o classes, però no es poden instanciar com a objectes com les classes i no poden heretar d'altres mòduls. Els mòduls serveixen com a contenidors de codi al qual es pot fer referència des d'altres parts d'un programa.[3] És una pràctica habitual que un mòdul i el fitxer de codi que el conté tinguin el mateix nom. Tanmateix, això no és obligatori, ja que un únic fitxer de codi pot contenir més d'un mòdul o classe. Sub Main()
Aquesta línia defineix una subrutina anomenada "Main". "Main" és el punt d'entrada, on comença l'execució del programa.[4] Console.WriteLine("Hello, world!")
Aquesta línia realitza la tasca real d'escriure la sortida. La consola és un objecte de sistema, que representa una interfície de línia d'ordres (també coneguda com a "consola") i que atorga accés programàtic als fluxos estàndard del sistema operatiu. El programa crida el mètode de la consola WriteLine, que fa que la cadena que se li passa es mostri a la consola. En lloc de Console.WriteLine, es podria utilitzar MsgBox, que imprimeix el missatge en un quadre de diàleg en comptes d'una finestra de línia d'ordres.[5] Exemple complexAquest fragment de codi envia el Triangle de Floyd a la consola: Imports System.Console
Module Program
Sub Main()
Dim rows As Integer
' Input validation.
Do Until Integer.TryParse(ReadLine("Enter a value for how many rows to be displayed: " & vbcrlf), rows) AndAlso rows >= 1
WriteLine("Allowed range is 1 and {0}", Integer.MaxValue)
Loop
' Output of Floyd's Triangle
Dim current As Integer = 1
Dim row As Integer
Dim column As Integer
For row = 1 To rows
For column = 1 To row
Write("{0,-2} ", current)
current += 1
Next
WriteLine()
Next
End Sub
''' <summary>
''' Like Console.ReadLine but takes a prompt string.
''' </summary>
Function ReadLine(Optional prompt As String = Nothing) As String
If prompt IsNot Nothing Then
Write(prompt)
End If
Return Console.ReadLine()
End Function
End Module
Comparació amb el Visual Basic clàssicSi Visual Basic.NET s'ha de considerar només una altra versió de Visual Basic o un llenguatge completament diferent és un tema de debat. Hi ha noves addicions per admetre noves funcions, com ara el maneig estructurat d'excepcions i les expressions en curtcircuit. A més, es van produir dos canvis importants en el tipus de dades amb el canvi a VB.NET: en comparació amb Visual Basic 6, el tipus de dades El que ha canviat significativament és la semàntica: des de la d'un llenguatge de programació basat en objectes que s'executa en un motor determinista i amb referències comptades basat en COM fins a un llenguatge completament orientat a objectes recolzat pel.NET Framework, que consisteix en una combinació del Common Language Runtime (una màquina virtual que utilitza la recollida de brossa generacional i un motor de compilació just-in-time) i una biblioteca de classes molt més gran. L'augment de l'amplitud d'aquesta última també va ser un problema que els desenvolupadors de VB van haver de tractar quan van arribar al llenguatge, tot i que això es va solucionar en part amb la funció My del Visual Studio 2005. Els canvis van alterar moltes de les suposicions subjacents sobre el que s'ha de fer "correctament" pel que fa al rendiment i la mantenibilitat de les aplicacions. Algunes funcions i biblioteques ja no existeixen; d'altres estan disponibles, però no tan eficients com les alternatives "natives" de.NET. Fins i tot si es compilaven, la majoria de les aplicacions de Visual Basic 6 convertides requerien cert nivell de refactorització per aprofitar al màxim el llenguatge.NET. Microsoft va proporcionar documentació per cobrir els canvis en la sintaxi del llenguatge, la depuració d'aplicacions, el desplegament i la terminologia.[6] Un llibre comercial popular dissenyat per facilitar la transició va ser el Microsoft Visual Basic.NET Professional Step by Step de Michael Halvorson, publicat el 2002 per Microsoft Press. Comparació amb C#C# i Visual Basic són els primers llenguatges de Microsoft creats per programar al.NET Framework (més tard hi van afegir F# i més; d'altres també hi han afegit llenguatges). Tot i que C# i Visual Basic són sintàcticament diferents, aquí és on acaben la majoria de les diferències. Microsoft va desenvolupar aquests dos llenguatges perquè formessin part de la mateixa plataforma de desenvolupament de.NET Framework. Tots dos són desenvolupats, gestionats i suportats pel mateix equip de desenvolupament de llenguatges de Microsoft.[7] Compilen al mateix llenguatge intermedi (IL), que s'executa amb les mateixes biblioteques d'execució de.NET Framework.[8] Tot i que hi ha algunes diferències en les construccions de programació, les seves diferències són principalment sintàctiques i, suposant que s'eviten les biblioteques de "Compatibilitat" de Visual Basic proporcionades per Microsoft per ajudar a la conversió des de Visual Basic 6, gairebé totes les funcions de VB tenen una funció equivalent a C# i viceversa. Finalment, tots dos llenguatges fan referència a les mateixes classes base del.NET Framework per ampliar la seva funcionalitat. Com a resultat, amb poques excepcions, un programa escrit en qualsevol dels dos llenguatges es pot executar a través d'un convertidor de sintaxi simple per traduir-lo a l'altre. Hi ha molts productes de codi obert i disponibles comercialment per a aquesta tasca. Referències
|