This is really interesting. Nice find. Here's a very brief summary: Participants were shown a few words and then four different identifiers, one of which matched the words and three of which did not. The example in the paper is:
From the conclusions section:
"Although, no difference was found between identifier styles with
respect to accuracy, results indicate a significant improvement
in time and lower visual effort with the underscore style. The
interaction of Experience with Style indicates that novices
benefit twice as much with respect to time, with the underscore
style. This implies that with experience or training, the
performance difference between styles is reduced. These results
add to the findings of Binkley et al.’s study"
So, finding the correct identifier was just as likely regardless of style but the correct identifier was found faster if it was using underscores as opposed to camelCase.
I think the underscores acted as "whitespace" in this study which in my experience is the most important factor in how quickly you can visually parse code. However, from a subjective/aesthetic perspective, I still prefer using camelCase over underscores.
> ...couldn't possibly do tech, are a threat to the American Way Of Life(tm), and should in general not be so uppity
So, the analogy then is that some people are saying these kinds of things about minorities. If I can speak frankly: Who says this kind of stuff or thinks that way besides idiots? If someone is still racist in this day and age then there is little hope of changing their thinking. Those kind of people should just be ignored.
It would be silly to say we should make sure that people with green eyes are not under-represented in tech but why is it okay to say the same thing regarding skin color?
I think the reality is that these days being a minority is not a "burden", it's an advantage, and an unfair one. It would be better if it was just a non-issue but I guess we're just not there yet.
Even from a practical perspective I would respectfully disagree with you. I think someone with a lifetime of "traditional" programming experience would have a much easier time getting up to speed with a modern programming language than someone starting with a blank slate. Of course, I am assuming that by "blank slate" you mean: no experience at all.
After seeing so many negative comments primarily focusing on the syntax and verbosity of the language, I felt compelled to create an account to try and get some understanding of why this is.
The way I understand it, a terse syntax is useful in getting something working quickly. However, this is not necessarily the best code when it comes to performance or maintenance. Adding "boilerplate" code not only makes the compiler/interpreter more efficient, it also makes the job of the maintainer much easier. Personally, it takes me less time to figure out what a particular piece of code is doing if the datatypes of variables and return values of functions are obvious.
Dart seems to understand this well and so makes typing optional which is useful for prototyping but then also allows you to refactor and explicitly include types to gain performance and improve maintenance for production code. Am I missing something? If not this sounds pretty exciting to me.