I always hate dealing with our VB code base. You thought parenthesis and curly braces were bad, what about a whole statement to terminate a block: End IfEnd CaseEnd For.
Then there is having to continue a multi-line statement with an ending underscore _.
Ifcondition1Andcondition2_Andcondition3ThenEndIf
Then there's Sub vs Func keywords. If I use Sub then later decide I need to return a value, I have to change the keyword to Func in order to do so or it will not compile.
Back in the day, I worked on a VB Embedded program but didn't have the devices yet so worked in VB 6. All well before .NET.
When I started to port it over, I found that VB differed. Like, VBe and VB6 had incompatible for loops. Or maybe while. I didn't like VB much either way, but it worked. It's the incompatibility that's ugly to me.
VB.net was my first language, and I have a special hatred of it. (What sort of lunatic thought Dim made even the SLIGHTEST bit of sense for initializing a variable???)
It's pronounced Diane. I do data architecture, operations, and backend development. In my spare time I maintain Massive.js, a data mapper for Node.js and PostgreSQL.
Technically a scalar value is just a special case where an array only has one dimension and one element... I remember it from QBasic in the 90s and apparently it goes back to Fortran.
True point. Although. technically declaring a value is also called instantiation, but that doesn't make Instant a good keyword for declaring a variable. :-P
DIM was short for dimension. In early BASIC forms, it was to declare an array by indicating its size. Later it was repurposed to do any sort of declaration.
I always hate dealing with our VB code base. You thought parenthesis and curly braces were bad, what about a whole statement to terminate a block:
End If
End Case
End For
.Then there is having to continue a multi-line statement with an ending underscore
_
.Then there's
Sub
vsFunc
keywords. If I useSub
then later decide I need to return a value, I have to change the keyword toFunc
in order to do so or it will not compile.There are probably more I'm not thinking of.
Back in the day, I worked on a VB Embedded program but didn't have the devices yet so worked in VB 6. All well before .NET.
When I started to port it over, I found that VB differed. Like, VBe and VB6 had incompatible
for
loops. Or maybewhile
. I didn't like VB much either way, but it worked. It's the incompatibility that's ugly to me..NET ftw
VB.net was my first language, and I have a special hatred of it. (What sort of lunatic thought
Dim
made even the SLIGHTEST bit of sense for initializing a variable???)HAHAHAHA That's literally the first thing all VB.net developers, who generally tend to hate VB.net, say.
Even I was like "Hey what's this Dim.. oh wait, that's a variable being declared."
I believe
Dim
is short for dimension. Not sure why the syntax is so array-focused.Technically a scalar value is just a special case where an array only has one dimension and one element... I remember it from QBasic in the 90s and apparently it goes back to Fortran.
True point. Although. technically declaring a value is also called
instantiation
, but that doesn't makeInstant
a good keyword for declaring a variable. :-PDim goes back to VB's BASIC roots. You didn't have to declare most scalar variables, but you had to use 'Dim' to 'Dim'ension arrays.
In some dialects, strings were treated as scalars and didn't require declaration, but other dialects required you to 'Dim' them as arrays.
As was mentioned, it may even go further back to FORTRAN, but that's a bit before my time.
/grognard hat off.
Be glad
ReDim Preserve
isn't a thing any more :PDIM was short for dimension. In early BASIC forms, it was to declare an array by indicating its size. Later it was repurposed to do any sort of declaration.
I suddenly remembered my very first programming language back in 1989 (?). GW-BASIC. And line numbers.
😐
GW-BASIC was my very first language, too! :D