Saturday, January 18, 2020

Happy New 2020 Year dear Visual Studio 2010!

Seven years seems to be a long break between posts, but I must admit during that time there were no dramatic changes in my job description, while of course there was some progress.

We all evolve in our work as in no way we wouldn't if we wanted to keep our jobs. We learn new skills and tools as the industry moves forward. But some things like an old boombox from the 80's just keep working. So why not to use it?

Today I'm here to say Hi to a venerable tool that many of us still use even though it's not as popular anymore. To my opinion it's one of the best ever created by Microsoft and it remains one to this day.

Ladies and Gentlemen - I welcome the Visual Studio 2010 to the podium!

It's quick to open.

Have you used the VS 2017 or 2019 lately? Did you notice that it takes anywhere from 30 seconds to 2 minutes just to open the environment on a fast Intel i5 computer with SSD and 8GB RAM? Guess what, the SQL 2019 Management Studio takes even longer on a super-fast Xeon server with even more memory! The dev tools that Microsoft gave birth in the recent years are bloated pieces of junk umm.. software.
Visual Studio 2010 opens in under 10 seconds.

It's simple.

Do you have to juggle between 4 or even 5 different languages in your VS 2017 just to add a few things to a web page? HTML, C#, JavaScript, TypeScript, and Angular? Don't you want a hint of Linq on top of that? Do you also have to do SQL in the same project? What? Are you not happy with that?
It kinda feels like doing a translation job for the United Nations - you have to bounce between English and Spanish, then Afrikaans' flavour of Dutch, then quickly jump to Chinese, then back to English. Gosh.. that's heavy.
Guess what, if you apply for a job and honestly state in your resume that you are fluent in German, they won't even interview you as they want the Southern Austro-Bavarian dialect of German for some reason. WTF?

It compiles code into very compact footprint.

Let me give you just a couple of examples.

1.5 years ago I completely redesigned one of my software projects, which happens to be also #1 in Google for its keyword. It has millions of users and 50-60GB of daily uploads.
That project has it all: C# with .NET 4.x, AngularJS, HTML, Android API, clean and fast SQL queries - all the cool stuff.

Guess what.. the DLL that does all of that is only 100Kb. It could fit on a 360Kb floppy!

Btw, what you see on the picture is the entire contents of the BIN directory. The project runs and stores files in S3 buckets, hence the 3 extra AWS DLLs to support that. That's all.

The other project I've done in the last couple of years and which I maintain on a daily basis incorporates quite a bit more functionality.
Well.. it has to, otherwise it wouldn't have over 120 thousand lines of code!

It does a lot of modern stuff including API access via JSON/REST protocols and it does a lot and I mean a lot of database talk. The average daily traffic is reflected in over 2 million daily SQL INSERT calls via just one server with occasional spikes in traffic. I didn't count how many SELECT queries it does, but I'm sure a lot.

That project is designed to do AWS infrastructure management that AWS console happens to do well, but there are some functions that the console does not do too well, specifically the WorkSpaces management and more. If you ever used AWS Console you know what I mean. But.. anyway.

The DLL that runs the whole thing - API and all - is 444Kb. Nice!

The only 3rd party DLLs in the BIN directory are AWS runtimes. No freakin 'scaffolding' or auto-generated junkware code.
For a comparison, a simple web-based "hello world" in VS 2017 eats up 15 to 60 Megabytes (!) of space for its BIN folder.

Do you have any questions or opinions? Do you want to discuss that? Post a comment.