2 ms·
> If you have a lot of experience in C# 2.0, later code may be quite incomprehensible. I did a lot of programming in .Net 1.1 and quit just after 2.0 was relea
by magicalhippo 2y ago
> If you have a lot of experience in C# 2.0, later code may be quite incomprehensible.
I did a lot of programming in .Net 1.1 and quit just after 2.0 was released. I've then spent all my time in other programming languages. Past year at work we've been starting our transition to .Net. I must say I found exactly the opposite.
All the things I knew I could still do, and I found the new stuff quite readable. Sure I had to do a couple of searches to read up on some of the changes, but overall I've been productive in .Net 8.0 from the moment we started. I have had no issue reading library code, as one does to figure out what's really going on.
Also, Visual Studio guided me to rewrite my outdated code in better form, which also helped to understand the changes.
This is entirely unlike C++ which I also used a lot before and quit just shy of C++11 getting released. These days when I read some modern C++ code I frequently have absolutely no idea of what's going on.
As for EF I don't know, as the database we still have to support doesn't support it so haven't had a chance to use it yet. If we do, we will be writing our own SELECT statements for anything beyond a trivial primary key lookup though.
YMMV.
- Hawxy 2y agoModern EF Core can generate SQL very close to handwritten and will aggressively warn you if you do something dumb. I wouldn't worry about it.
- magicalhippo 2y agoGood to know, though we have mostly either trivial (ie by indexed key) or complex queries, with very few "medium complexity" queries. For the complex ones we like to have full control as it almost always turns into a major ops issue if the queries are not performing well. Though perhaps if we can catch changes of the generated queries in our test suite we could let EF generate them. Trust but verify kinda deal.
- ThinkBeat 2y agoMy example was 9 months old. At least in this instance EF did not warn, and caused great problems.