bearforcenine
Joined 9 years ago
Joined 9 years ago
Most of the conversations I have with folks about Scala issues these days center around implicits, tooling, and its decline/lack of popularity.
Macros were an experimental Scala 2 feature, but were used all over the Scala ecosystem. Because they were considered experimental a good migration story for them was never developed. That lack of support stopped migration efforts dead in their tracks at our company for a long while. It just wasn't worth contributing simultaneous support for Scala 3 and Scala 2 macros to every third party dependency who used Scala 2 macros. That said, we did it for some and lived on a fork for others.
IDE support for Scala 3 was really rough when it first released. We checked in on it with every IntelliJ release for roughly 3 years before we decided it was far enough along. Prior to that it was rough enough that we froze migration efforts in order to keep the tooling usable enough for engineers to be productive.
After skimming the rest of the table, it looks like the PurpleAir II sensors might have some of the best field R^2 for PM 2.5 and PM 1.0
Not sure how it compares with Awair or laseregg.
I have no affiliation with PurpleAir, but they are pretty popular in Utah.
If I recall correctly, people on Twitch streamed games from the Dota Majors/Minors and got more viewers than the Facebook stream. Then ESL started DMCA'ing streams https://www.reddit.com/r/DotA2/comments/7skt8e/did_mlpdota_j... Then Valve got involved and made a statement about the whole kerfuffle http://blog.dota2.com/2018/01/dotatv-streaming/
Money seems like a good reason. If a tiny fraction of your sales and a large fraction of your bugs are from a particular subset of those users, you don't want those users. They are too expensive.
I've run into nausea with other games that have a narrow FOV. Increasing the FOV (when possible) usually fixes the problem.
As far as I understand, the late Total Biscuit was similar. He frequently advocated for FOV sliders in games. I greatly appreciate his help making FOV sliders more popular.
The language was deliberate about providing backwards and forwards compatibility between 2 and 3, but they didn't have a good story for macros. Yes, macros were experimental, but the ecosystem relied on them very heavily. This meant that your 3rd party dependencies likely hadn't migrated to Scala 3. If they had, things got complicated because you had to deal with two macro systems.
After many years the tooling is finally catching up and many 3rd party dependencies are available in Scala 3. That said, it's taken years and years. I think during those years many companies migrated to other languages or put a moratorium on new projects in Scala.