Sollte man noch Visual Basic lernen?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Visual Basic ist tot.

Heute nutzt man stattdessen C#.

Aber natürlich ist noch viel in Visual Basic geschriebene alte Software im Einsatz. Sie muss natürlich weiter gepflegt werden, was zur Folge hat, dass es noch jede Menge Wartungsprogrammierer gibt, die sich auch heute noch mit Visual Basic befassen müssen (leider mit dem traurigen Nebeneffekt, dass sie sich damit von neuen Entwicklungen abkoppeln: Sie arbeiten sozusagen in einer Sackgasse).

geri3d  03.09.2021, 10:54

Visual Basic ist versatil einsetzbar und eine gute Grundlage um programmieren zu lernen und dann auf andere Plattformen umzusteigen.

Ausserdem sind VB Programmierer speziell dann gefragt, wenn es darum geht, bestehende Softwarelösungen zu erweitern.

Deswegen schadet es nicht auch VBA zu lernen.

Nebenbei finde ich die Programmiersprache sehr ergonomisch und leicht verständlich und trotzdem umfangreich.

Woher ich das weiß:

Berufserfahrung – Früher Softwareentwickler bei CSDIT
Guttenbewrg Dr.Dr.Dr.Med Eedd. EINSTEIN Hoch 3--> €=mx3

1
geri3d  03.09.2021, 11:04

Gerischat:
Syntax: aber nur SHA2 und nich CBC
   Public Function Encrypt(ByVal plainText As String, ByVal passPhrase As String, ByVal saltValue As String, ByVal hashAlgorithm As String, ByVal passwordIterations As Integer, ByVal initVector As String, ByVal keySize As Integer) As String

       Dim initVectorBytes As Byte()

       initVectorBytes = Encoding.ASCII.GetBytes(initVector)

       Dim saltValueBytes As Byte()

       saltValueBytes = Encoding.ASCII.GetBytes(saltValue)

       Dim plainTextBytes As Byte()

       plainTextBytes = Encoding.UTF8.GetBytes(plainText)

       Dim password As Rfc2898DeriveBytes = New Rfc2898DeriveBytes(passPhrase, saltValueBytes, passwordIterations)

       Dim keyBytes As Byte()

       keyBytes = password.GetBytes(CInt(keySize / 8))

       Dim symmetricKey As RijndaelManaged

       symmetricKey = New RijndaelManaged()

       symmetricKey.Mode = CipherMode.CBC

       Dim encryptor As ICryptoTransform

       encryptor = symmetricKey.CreateEncryptor(keyBytes, initVectorBytes)

       Dim memoryStream As MemoryStream

       memoryStream = New MemoryStream()

       Dim cryptoStream As CryptoStream

       cryptoStream = New CryptoStream(memoryStream, encryptor, CryptoStreamMode.Write)

       cryptoStream.Write(plainTextBytes, 0, plainTextBytes.Length)

       cryptoStream.FlushFinalBlock()

       Dim cipherTextBytes As Byte()

       cipherTextBytes = memoryStream.ToArray()

       memoryStream.Close()

       cryptoStream.Close()

       Dim cipherText As String

       cipherText = Convert.ToBase64String(cipherTextBytes)

       Encrypt = cipherText

   End Function

   Public Function Decrypt(ByVal cipherText As String, ByVal passPhrase As String, ByVal saltValue As String, ByVal hashAlgorithm As String, ByVal passwordIterations As Integer, ByVal initVector As String, ByVal keySize As Integer) As String

       On Error Resume Next

       Dim initVectorBytes As Byte()

       initVectorBytes = Encoding.ASCII.GetBytes(initVector)

       Dim saltValueBytes As Byte()

       saltValueBytes = Encoding.ASCII.GetBytes(saltValue)

       Dim cipherTextBytes As Byte()

       cipherTextBytes = Convert.FromBase64String(cipherText)

       Dim password As Rfc2898DeriveBytes = New Rfc2898DeriveBytes(passPhrase, saltValueBytes, passwordIterations)

       Dim keyBytes As Byte()

       keyBytes = password.GetBytes(CInt(keySize / 8))

       Dim symmetricKey As RijndaelManaged

       symmetricKey = New RijndaelManaged()

       symmetricKey.Mode = CipherMode.CBC

       Dim decryptor As ICryptoTransform

       decryptor = symmetricKey.CreateDecryptor(keyBytes, initVectorBytes)

       Dim memoryStream As MemoryStream

       memoryStream = New MemoryStream(cipherTextBytes)

       Dim cryptoStream As CryptoStream

       cryptoStream = New CryptoStream(memoryStream, decryptor, CryptoStreamMode.Read)

       Dim plainTextBytes As Byte()

       ReDim plainTextBytes(cipherTextBytes.Length)

       Dim decryptedByteCount As Integer

       decryptedByteCount = cryptoStream.Read(plainTextBytes, 0, plainTextBytes.Length)

       memoryStream.Close()

       cryptoStream.Close()

       Dim plainText As String

       plainText = Encoding.UTF8.GetString(plainTextBytes, 0, decryptedByteCount)

       Decrypt = plainText

   End Function

   Public Function Decrypt(ByVal cipherText As String, ByVal passPhrase As String, ByVal saltValue As String, ByVal hashAlgorithm As String, ByVal passwordIterations As Integer, ByVal initVector As String, ByVal keySize As Integer) As String

       On Error Resume Next

       Dim initVectorBytes As Byte()

       initVectorBytes = Encoding.ASCII.GetBytes(initVector)

       Dim saltValueBytes As Byte()

       saltValueBytes = Encoding.ASCII.GetBytes(saltValue)

       Dim cipherTextBytes As Byte()

       cipherTextBytes = Convert.FromBase64String(cipherText)

       Dim password As Rfc2898DeriveBytes = New Rfc2898DeriveBytes(passPhrase, saltValueBytes, passwordIterations)

       Dim keyBytes As Byte()

       keyBytes = password.GetBytes(CInt(keySize / 8))

       Dim symmetricKey As RijndaelManaged

       symmetricKey = New RijndaelManaged()

       symmetricKey.Mode = CipherMode.CBC

       Dim decryptor As ICryptoTransform

       decryptor = symmetricKey.CreateDecryptor(keyBytes, initVectorBytes)

       Dim memoryStream As MemoryStream

       memoryStream = New MemoryStream(cipherTextBytes)

       Dim cryptoStream As CryptoStream

       cryptoStream = New CryptoStream(memoryStream, decryptor, CryptoStreamMode.Read)

 Dim plainTextBytes As Byte()

 ReDim plainTextBytes(cipherTextBytes.Length)

 Dim decryptedByteCount As Integer

decryptedByteCount = cryptoStream.Read(plainTextBytes, 0, plainTextBytes.Length)

 memoryStream.Close()

cryptoStream.Close()

       Dim plainText As String

       plainText = Encoding.UTF8.GetString(plainTextBytes, 0, decryptedByteCount)

 Decrypt = plainText

   End Function   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnProfiles.Click

       Dim fAdmin As New frmProfile

       fAdmin.ShowDialog()

   End Sub'# im a cipherPun

0
Bloximox  06.09.2021, 08:05

Aber Immerhin in einer gar nicht mal so schlechten Sackgasse! ;)

0

Ich finde für Anfänger ist VB.NET eig noch ganz gut.

Ist halt neben Python so das einfachste.

Würde dir aber eher empfehlen dann Python zu lernen wegen beruflichen Aussichten.

Visual Basic ist versatil einsetzbar und eine gute Grundlage um programmieren zu lernen und dann auf andere Plattformen umzusteigen.

Ausserdem sind VB Programmierer speziell dann gefragt, wenn es darum geht, bestehende Softwarelösungen zu erweitern.

Deswegen schadet es nicht auch VBA zu lernen.

Nebenbei finde ich die Programmiersprache sehr ergonomisch und leicht verständlich und trotzdem umfangreich.

Woher ich das weiß:eigene Erfahrung
Bloximox  01.09.2021, 11:30

So ist es! Die Programmiersprache VB oder auch andere gute BASIC-Versionen sind gar nicht so schlecht wie Ihr Ruf. Im Prinzip fehlt heutzutage so etwas wie BASIC!

1
Bloximox  06.09.2021, 08:11
@geri3d

Der "Witz" an der ganzen Sache ist es das die Leute die mit wesentlich komplexeren Programmiersprachen arbeiten oft Schwierigkeiten haben einfachen Basic-Code zu verstehen!

1

"tot", trifft das ganze ziemlich gut, Microsoft hört auf VB weiter zuentwickeln und die Beliebtheit nimmt nur noch ab.

VB noch zu lernen lohnt sich überhaupt nicht, dann lieber C#, Java, C++ oder python.

Woher ich das weiß:Hobby – Ich interessiere mich für das programmieren und Informatik