I grew up with "easy" languages. Pascal, VB, C, C++, Java, C#. And frankly I'm getting real sick of them.
I'm porting Dijkstra's algorithm over to C# at the moment, and in the last several hours here's the two most clownish things that have happened:
1) I have:
if (node is null) {
..
}
My IDE is telling me "Expression is always false according to nullable reference types' annotations". Nevertheless it enters that section every time.
2) I have:
SortedSet<int> nums = [];
Console.Out.WriteLine(nums.Min);
You know what this prints?
0
The minimal element of a set which has no elements is 0.
Yes, every language has its warts, and anecdotes like this aren't going to change anyone's mind. I only wrote these up because they're hitting me right now in one of those languages that companies use "because anyone can learn them". I like harder languages better than easy languages, because they're easy.