It was built in Chicago. They could have just tested a bit North of Chicago. Wisconsin sees a fair amount of snow, and probably would not have needed to go all the way to Canada before the shortcomings were obvious.
I had a similar experience. I only moved from xfce when my nvidia board kept killing my X session in creative ways. I'm pleasantly satisfied with kde, but I only have high praise for xfce usability.
Build times always were my biggest Scala complaint. Arguably code base specific, as I suspect it had a lot to do with all the macros and type level metaprogramming, but, if that kind of thing is possible and customary, an average working programmer who doesn't control the codebase they show up to is going to end up stuck dealing with it.
It's a lot easier to build a language that works great, but only in the hands of a single skilled careful owner, than a language that stands up to the abuse of many careless temporary users, and still gets from point A to point B reliably.
Like the difference between a sportscar and a rental company or police fleet sedan.
To answer the question in the title, I don't think that Microsoft is even remotely trying to commit suicide. I think they realized that they are so freaking huge that they can nuke the equivalent of an entire year of revenue and still be in no danger.
So they can just try stupid shit left and right and see what happens, if they get lambasted for it, it's no big loss. If it works they will be genius visionaries, stock prices go up, investors are happy.
Cool tip! I learned that reading other people's code and seeing how much they could get done with far fewer lines of code and much faster than I cause they didn't over-engineer from the start. I got the bad habit of making a big architecture from the beginning because I read many books from academics talking about beauty and elegance, while I admired people in the industry the could get cool things done.
Now I have the experience that most of my projects I only understand after months (or years!) of development, observing the users and testing. Only after I have experience in the project I can actually know what should be the focus of my engineering.
I understand that binary libraries can be owned by a different company. But if you strip all that could the resulting code still be infringing the copy rights of third parties? I never worked at a company where someone else's source was integrated to our tree so I can't tell.
If my freelancer friends are anything to go by. Many companies, including some big-ish ones, will go with what's the cheapest option that looks good enough.
I think that your law of convenience is spot on. One thing that got by talking with commercial systems devs is that they are always under pressure by their clients to make their systems as cheap as possible, reducing the database stored and the size of the computations is one great way to minimize the client's monthly bill.
Great stuff. I hate having to write bash scripts and this seems like a great way to create scripts that will run on even old linuxes. Seems that there are a few sections missing in the documentation, stuff like the standard library and the extended documentation about handling failure, very alpha indeed :^D. I'll definitely be keep an eye on this one.