I was doing a lot of VB.NET in my most recent job.
One problem I had was that my bosses were reviewing old versions of the program. They were complaining about things I had already fixed. I decided to put the version number on the screen, so I can always be sure what version they’re using.
In the days of C/C++, I used __DATE__. The preprocessor replaces __DATE__ with the current date. This makes it easy to display the compile time and version on the screen.
I was shocked that VB.NET does not have __DATE__! There is no equivalent! WTF was Microsoft thinking?
I use the Visual Studio “publish” feature. It automatically increments and tracks version numbers. THERE IS NO EASY WAY TO EXTRACT THE VERSION NUMBER. (You can do it, but it involves jumping through some hoops.)
I wound up using subversion’s $rev$ and $date$ feature. That’s still flawed, because it shows the timestamp of THAT FILE and not the whole program. I.e., if I didn’t edit that specific file for a week, then $rev$ and $date$ in that file are a week old.
I know that in C/C++, I can have array of struct with 100,000+ rows and it’s fine. In .NET, if I put more than 10,000 rows into a DataTable or a DataGridView, VB.NET chokes on it. WTF? Why should 10,000 rows cripple the runtime?
VB.NET is better than the old C++/MFC. If you want a dynamically resizing window, the splitcontainer/anchor/dock feature is nice.
I’m annoyed that some “obvious” feature are missing from VB.NET. There’s no equivalent of __DATE__! There’s no easy way to extract the publish version number. If you put more than 10,000 rows in a DataTable or DataGridView, it starts getting slow.