top | item 35938935

(no title)

FourthProtocol | 2 years ago

Top comment here is how many I interact with react when they discover my love of VB. net. Some food for thought, then:

I wrote my first complete computer program in 1986. Since then I've programmed (or scripted) in Assembler, BASIC, C, C#, C++, COBOL, F#, HTML, Java, JavaScript, LOGO, Pascal, SQL, VBA and XAML. I don't mind C#. Or Java. The majority of the code I've written in my career was written in C#. And yet my preference remains VB.NET because -

VB.NET supports both static and dynamic typing.

VB.NET is a functional language, supporting local type inference, anonymous functions, monads, and language integrated comonads (even Lisp can be more complex and verbose than VB.NET with LINQ).

VB.NET does project-wide namespace imports. C# doesn't.

VB.NET is no more or less verbose than C#. Haskell and F# however, are indeed a lot less verbose.

There are also readability issues in Java and C# that VB.NET doesn't have (braces, == and =, ! instead of Not, seperate keywords for inheritance and interface implementation, and so on). I learnt Pascal before learning C (and prefer Pascal to C). The fact that Pascal and VB.NET share syntactical smilarities (type declarations follow variable and function names, the Not keyword) is probably not an insignificant factor.

Lastly, Microsoft announced that evolution of the VB.NET language has concluded, (although it will support .Net 5). This is welcome because it makes things predictable -- modernising legacy codebases takes ages.

discuss

order

mattlondon|2 years ago

You may want to revisit JavaScript/Typescript if you have been away for a while.

Modern JavaScript/typescript is a total joy to code in (if you stay away from npm... Which you easily can) with a lot of the benefits you mention.

Kwpolska|2 years ago

.NET 5+ supports VB.NET, but only barely. You cannot use VB.NET for ASP.NET Core web apps (due to missing support for Span<T>).

FourthProtocol|2 years ago

Thanks I didn't know that. Happily the only ASP.NET I work with is my website, which will stay with the stack I have until/unless my ISP demands an upgrade. Although being a literal greybeard I'll probably do the lazy thing and find an ISP that does support my tech. Latest and greatest is no longer a priority.

bt4u|2 years ago

C# does support project-wide imports since C# 10