DEV Community

Discussion on: Which mainstream programming language has the ugliest syntax?

Collapse
 
kspeakman profile image
Kasey Speakman • Edited

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 _.

If condition1 And condition2 _
   And condition3 Then

End If
Enter fullscreen mode Exit fullscreen mode

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.

There are probably more I'm not thinking of.

Collapse
 
jacoby profile image
Dave Jacoby

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.

.NET ftw

Collapse
 
codemouse92 profile image
Jason C. McDonald

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???)

Collapse
 
anasik profile image
Anas Ismail Khan

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."

Thread Thread
 
kspeakman profile image
Kasey Speakman

I believe Dim is short for dimension. Not sure why the syntax is so array-focused.

Thread Thread
 
dmfay profile image
Dian Fay

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.

Thread Thread
 
codemouse92 profile image
Jason C. McDonald • Edited

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

Thread Thread
 
tinsoldier6 profile image
Jason Gade

Dim 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.

Collapse
 
daniel15 profile image
Daniel Lo Nigro

Be glad ReDim Preserve isn't a thing any more :P

Collapse
 
cbordeman profile image
Chris Bordeman

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.

Collapse
 
ryanhaber profile image
Ryan Haber

I suddenly remembered my very first programming language back in 1989 (?). GW-BASIC. And line numbers.

😐

Collapse
 
cbordeman profile image
Chris Bordeman

GW-BASIC was my very first language, too! :D