RO EN

C# AND FRAMEWORKS

C# AND FRAMEWORKS
Doru Bulubasa
15 March 2018

Too many times I have asked myself what should be done. However, it never crossed my mind to ask why to choose a certain technology or why to choose a certain programming method.

However, lately, there have been two things that made me look at things differently.
1. Thanks to an invitation to a job interview, I had the pleasure of talking with two people with much more experience in this area; and they made me understand that today and in the future we should no longer ask HOW to do things but WHY (furthermore, these are the things for which we should ask this question: technology, frameworks, etc.)
2. A quote: the code you write makes you a programmer; the code you delete makes you a good programmer; but the code you don't have to write makes you a great programmer; so where do you stand?

I honestly tell you that I was in the second category. I reached the part of cleaning and optimizing code.

Recently, I received a new project in which I have to change a bit the perspective through which I viewed things. Considering the latest technologies from Microsoft, it is now possible to create a .NET application and host it on a Linux server or even on Docker. Which option would you choose: Linux server or Docker container?

At the moment, I am a supporter of using frameworks that clearly ease a programmer's work. For the .NET framework, I could say there are three major frameworks:
- Linq
- NHibernate
- Entity Framework

Which have you used, how much, and which would you recommend?

Let's take them one by one.

I used Linq in a corporate project for a WCF with a SQL database. Considering the fact that the database could not be touched to make certain configurations or modifications on tables or views, Linq was chosen as the framework.

I used NHibernate in a project where, together with my team, we decided everything. Practically, the most convincing argument was the very large volume of data the application has to process in the shortest possible time.

Here I tried and tested the two mapping methods: by XML or by code. It seems that mapping directly in code is more efficient because it is directly integrated into the application's DLL.

Regarding Entity Framework, I am currently learning it. But it already seems to be a suitable choice for any type of project.

The visible trend in programming is that we no longer have to write all the code ourselves, but use tools that do this for us.