Someone posted a video on /r/programming entitled something like "Do not defend your programming language." Basically, his point seemed to be that a programming language is a personal choice, along the same lines as gender and one's qualifications as an astronaut, and that one's personal choice cannot be meaningfully critiqued.
What. The. Fuck?
Ok, maybe I misunderstood. Then again, he had one of those accents that just screams "Scandinavian cuckold," so I think I granted him plenty of generosity in my interpretation. I stopped the video three different times but forced myself to continue, thinking, "Ok, there's gotta be a punchline."
There was not.
Why do you use Scala?
Apparently, someone asked Mr. Cuckensen why his team had opted to use Scala. No one on his team had an answer. In part, this is defensible because the current team members had not been members of the team when that decision was made—or at least you might think that makes it defensible. If you think that, prepare to be wrong.
No, fuck you, I mean it. We're playing hardball.
Did someone put a gun to your head and tell you to join this fucking team? Did someone kidnap you and your children and brainwash you under torture while indoctrinating your offspring into the Cult of Scala, teaching you to reap blood for the blood god and skulls for the skull throne? Did you, in fact, leave your balls in your other pants on your way to work this morning?
No? Then you need to fucking know why you use Scala.
Why do you use C#?
When someone asks me why I use C#, I have answers.
- Strong, static types provide compile time guarantees not found in dynamic or weakly-typed languages.
- Broad userbase and enterprise acceptance provides a large pool of viable candidates.
- Common industry patterns mean hires are likely to be familiar with critical libraries and infrastructure.
- Jit compilation renders common performance concerns a non-issue except in extreme circumstances.
I can also tell them what I hate about it!
- Nulls suck.
- Common enterprise patterns are woefully inefficient and fast code often looks strange.
- Deployment to things other than Azure can be a serious pain in the grundle.
- Cult of Backward Compatibility (BLOOD FOR THE BLOOD GOD!) means BCL APIs are full of ancient shit no one should ever use.
On the positive side, C# shares points one and four with Scala. On the negative side, Scala has an advantage in that it is a newer language, with (presumably) fewer ancient promises to uphold. Apparently, Mr. Cuckensen, I know more about your language than you do.
And yet you would have us believe that you agreed to work on a team using Scala without ever considering any of this shit!
- It's the lingua franca of the 21st century.
- It's the only thing that works on every device you own.
- According to the Apostle Paul, all have sinned and fall short of the glory of God.
Some things are rich in metaphor
When we talk about baseball, we are talking about life. I'm out.