3 ms·
VB.NET wasn't that different as a language, it was more of a Python 2/3 situation. Lots of overall improvements, but not backwards compatible. Terrible, but not
by orthoxerox 4y ago
VB.NET wasn't that different as a language, it was more of a Python 2/3 situation. Lots of overall improvements, but not backwards compatible. Terrible, but not catastrophic. What MS did was break the whole ecosystem.
VB6 had thousands of third-party libraries distributed as VBX/OCX controls. VB.NET had effectively zero, because it could only use the new WinForms controls. You could upgrade your codebase to VB.NET using a wizard (that would often fail), but if your software relied on OCX, there was no way forward.
- mysterydip 4y agoThis could be implied with your python comparison, but meanings of things changed as well. For example dim foo as integer(5) in vb6 would give you 6 elements (0-5) of a 16 bit numeric type. In .net it would give you 5 elements (0-4) of a 32 bit numeric type. For those curious, a really good list of changes is here: http://www.thescarms.com/vbasic/vb6vsvbnet.aspx http://www.thescarms.com/vbasic/vb6vsvbnet.aspx
- groestl 4y agoGuess the Python ref is even more fitting then, given their controversy around the meaning of bytes / strings ;)
- teh_klev 4y ago> For example dim foo as integer(5) in vb6 would give you 6 elements (0-5) Then add into the mix the "Option Base" statement, which if it was declared as "Option Base 1" your aforementioned array would only have elements 1-5. Trying to access element 0 would incur a "Subscript out of range" error.