Visual Studio 2017 — The Preferred IDE for Programmers (or at least it should be)
Disclaimer: During my internship, I was exposed to Visual Studio 2017 Professional Edition, which requires a subscription.
Visual Studio 2017 is the best IDE for all types of programmers — from beginners to even experts. Although there are hundreds of other development environments that all offer their unique attributes, Visual Studio seamlessly integrates the components that really matter to a programmer. You won’t find resources allocated to a particular type of programming — leave iOS development to XCode — but you will find an abundance of attributes that make programming projects a lot easier to develop. From the .NET framework to database management tools, Visual Studio has everything you need no matter what complexity your program has. Below, I will outline some of the features that gives Visual Studio a competitive advantage against its competitors.
First of all, its integration with Microsoft’s user-friendly TFS (Team Foundation Server) makes agile development a lot easier. Checking in and checking out our code is made much less painful and irritating with the tools and resources that Visual Studio provides. Although Visual Studio does provide git for those that prefer it, this IDE goes one step further with code management and provides ways to make merging less problematic. Its syntax highlighting and its comparison features make Visual Studio a top-notch IDE that can tackle any code management issue. If you’re looking to access TFS through Visual Studio, just go to “Team Explorer” and look for “Source Control”. (Tip: Remember to add a comment when checking in.)
Hosting a database is made way easier with VS 2017. You can create a local database or even deploy it on a server and it can all be done through one IDE. So, you don’t have to use SSMS (SQL Server Management Studio) if you don’t want to (although there are some use cases for that as well). From creating simple queries to more complex stored procedures, VS can handle all types of database management requirements in any querying language available (two of the biggest ones are SQL and NoSQL). Now, there are a few limitations with database hosting via VS. The most significant one is that there is not a lot of storage for hosting a large database. That is where Couchbase comes in — learn about it and you will love it! (But NoSQL is a bit different from SQL and some of the relational statements such as “INNER JOIN” and “OUTER JOIN” are eliminated).
Xamarin is difficult to learn, but when it comes to UI designing for an Android or iOS app, there is nothing better in the business. VS 2017 seamlessly integrates Xamarin within the IDE that it almost becomes magical. Xamarin allows for push notifications, popups, button action listeners, grid views, and so on for cellular devices — it sounds very rudimentary but the UI is breathtaking. During my internship, I was able to use Xamarin to make my Android native app look ten times better than it previously was.
If there is one thing I learned during my internship, it is that NuGet Package Manager is a life-saver! NuGET Package Manager allows programmers to import libraries and other external APIs into VS without a hitch. How does it do it? It ensures that the API level for each library you import is the same version as your IDE and adjusts if not. User-friendly error messages display whenever there is a configuration problem (it is most likely because the SDK and buildTools version is different from the external API you are using). So, if you are using Google Play Services, NuGET Package Manager will help make sure that your configuration is appropriate.
Need to start a project? There are tons of different types of programming projects within Visual Studio. From MVC-based programs to web and mobile applications, this IDE literally offers everything you possibly need. The .NET framework is probably one of the most popular frameworks within VS, so you will see a lot of projects utilizing that. There are Windows Service apps, Console apps, Azure Mobile apps, and Visual C#, F#, and Basic apps.
