I hear people say don't get emotional about a programming language, it's simply a tool to achieve an end result – I'm here to call bullshit on that!
I have been a programmer for over 20 years and for at least 15 years I've programmed C# on the Microsoft .NET platform. During the time there was a voice saying there has to be a simpler way, this is needlessly over complicated! But then I guessed that some very cleaver people have designed this language and the .NET environment so they must have it all figured out. The thing is C# and .NET is largely a rip off of Java and the Java JRE.
People often say that C# is 'Java done right' and I guess it is but if you do a better version of an abomination, it's still an abomination. Now I find C# a bit verbose and boilerplatey but that is nothing compared to Java, when I read through any Java I just want to cry. A good parody on the ridiculousness of Java can be found here.
It has been argued this is a debate over statically VS dynamically typed and this is true to a certain extent but I contest this is also a debate about taste, Java is just plain old bad taste, taste matters! Now I have firmly moved over to the dynamically typed camp, the freedom it gives you and the reduction in boilerplate code is worth sacrificing the PERCEIVED safety that a statically typed languages give you.
Using a dynamically typed language, as long as you validate all inputs to a program then you are largely free to enjoy the expressiveness and freedom that mutating objects at runtime gives you without any of the downsides.
Here is a video of Steve Jobs talking about taste:
James Gosling the creator of Java is in my opinion a man without good taste. It may not be all his fault as it was developed by committee but he had a large part in the abomination. He has admitted himself that it was developed in part to make sub standard programmers useful and productive.
So in summary, developers with good taste are the 10x developers. Good design decisions and using the right language can massively reduce the LOC (Lines of code) required for your project. This is important as it's a fact that bugs occur every x lines of code largely irrespective of language.
Here is a talk by one of my programming hero's about writing good software:
Article Written By Zoftar : January 9th, 2018.