Too many times I have asked myself what should be done. But it never occurred to me 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 to 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 ourselves 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 stage of cleaning and optimizing code.
Recently I received a new project in which I have to change 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 an advocate of using frameworks that clearly ease the work of a programmer. 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 an SQL database. Considering the fact that the database could not be touched to make certain configurations or modifications to tables or views, Linq was chosen as the framework.
I used NHibernate in a project where, together with my team, we established everything. Practically, the most convincing argument was the very large volume of data the application had 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.