Hacker News new | ask | show | jobs
by noblethrasher 3983 days ago
Believe it or not, Visual Basic is probably exactly what you want.

You may have already heard many good things about C#, but it turns out that VB is slightly more expressive and elegant than C# (I say this as someone that loves C#, and primarily programs using it along with F#).

Here is what VB offers:

* A syntax that almost looks like pseudo code

* A static type system with a kind of optional typing

* Object-oriented programming (classes, inheritance, ad-hoc polymorphism, etc.)

* Functional programming (closures, lambda expressions, parametric polymorphism (generics), etc.)

* Monad Comprehensions (LINQ)

* Type classes/traits (in the form of implicit conversions to an abstract class -- this is another kind of ad-hoc polymorphism, and something that not even F# can easily do)

* XML Literals

* Support for multicore programming in the form of syntactic sugar for writing asynchronous code in a familiar synchronous style (the `async` and `await` keywords)

* All of the .NET framework

* The Roslyn compiler infrastructure -- instead of the compiler being a black box, you can hook into the compiler pipeline

* It runs everywhere Mono runs.