dotnet / dotnet/vblang

[Proposal] Option Legacy On|Off

Open
#448 35 comments 4 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
328
Forks
71
PR merge metrics
No merged PRs in 30d

Description

Can we please get rid of all the "legacy" stuff. For example,
```vb
Function MyFunc(param1%)
```
This is not what I consider VB.NET or beautiful readable code. This way, we could get new features faster to VB.NET since we don't have to consider VB6 syntax anymore.

## Details
In case of `Option Legacy Off`, a different compiler applies (vbc and vbcc), which does **not** support the following:
- Option Strict Off
- Option Infer Off
- Option Explicit Off
- [Identifier type characters](https://docs.microsoft.com/en-us/dotnet/visual-basic/programming-guide/language-features/data-types/type-characters#identifier-type-characters)
- [GoTo](https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/statements/goto-statement)
- [On Error](https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/statements/on-error-statement)
- Operator String + (in favour of &)
- TBD

Note that this list is somewhat subjective and thus may change. For now, it is just an incomplete start of what could be "legacy". Some candidates can be found in [Statements](https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/statements/) and [Keywords](https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/keywords/).

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.