Same here. Paid for 2.0 and it was unusable between by Win 10 and Ubuntu boxes. After fighting with it for several hours I just uninstalled and wrote it off as a loss.
I had already read it and didn't see anything compelling. Basically it says its hard to maintain a tolerant cohesive society with intolerant nincompoops running around.
We have intolerant groups on both sides of many issues. Are we going to censor all of them?
Abortion, Gun Rights and Religious Freedom are low hanging fruit. To my mind, as a nation we are becoming less tolerant rather than more tolerant across the board. One of the reasons I have largely disconnected from Social Media.
var seems like a bad idea to me. One of the things I like about Java is (strong?) typing. Recently learning C# and was put off by 'var'. Why is it a good idea?
'var' in C# and Java doesn't change strong or static typing at all. It's just type inference. Your code is still statically typed, the compiler and IDE will catch errors. It's just that it's smart enough to infer the types of redundant things instead of making you type it.
So instead of typing:
AbstractConcreteFactoryFactory factory = new AbstractConcreteFactoryFactory();
You can just type it only once:
var factory = new AbstractConcreteFactoryFactory();
`Simple<List<Map<String, Demo>, OtherList<Map<Int, String>>` is a little bit painful.
I use scala and basically most often at least public Methods should (in scala you can omit even that, however some functional libraries need a return type) have a explicit type, which most often is enough.
The problem is that java.util.Optional has no special syntactic support compared to the way optionality is supported in Kotlin for example. And it is barely used in the standard libraries. And many/most 3rd parties libraries don't use it. Thus you end up with multiple styles in your code base: in places checking for null, in other places extracting the value from an Optional. And the type system/language doesn't prevent an Optional reference itself being null.
The Optional class is typical of the halfassery that has accompanied many improvements to Java over the years. From java.util.logging to generics to streams, I'm invariably irritated by compromises particularly as they've decided that maintaining backward compatibility is now a secondary concern.
I've run out of patience in the direction Java has taken and I've been a user since 1.0.4 - I'm going to try Kotlin for my next project.
Also, if you're interoperating with Kotlin, a nullable reference works better than an Optional. A Kotlin nullable reference compiles down to a reference with intellij's @Nullable annotation, and a Kotlin non-nullable reference compiles down to a reference with intellij's @NotNull annotation.
It also works in the opposite direction: a Java parameter or return value annotated as @Nullable (doesn't have to be intellij's, the Kotlin compiler understands several annotation libraries) will appear as a nullable reference to Kotlin code, and a @NotNull or @Nonnull annotation makes it appear as a non-nullable reference.
Coming from functional languages, I really really tried to make optional work in our code base. However, it's inability to interact with checked exceptions or even slightly unusual control flow make it a real pain. It feels like fighting the language. My current suggestion is to pick a nullability annotation, and then wire it through your compiler and IDE, so it tells you if you forgot null checks, or made a superfluous null check on something annotated non-null.
I was surprised by the responses about Optionals. Will have to look into it. As an alternative I have been looking to use the following to guarantee that certain methods cannot/will not return null (below). Maybe that is the better way to go?
_Raping_ is illegal. Being a registered sex offender means you might have served jail time and then released. Whether a rapist feels remorse or whether they've received fair punishment under the law is completely beside the point. Being homeless is certainly not illegal and the thing about condos is still true.
That's not the real question, you're pretending context doesn't matter. What's your argument? Women say "I enjoy having a place to communicate with other women in a place that feels safe from male interference," and your response is "Let me into the women's bathroom"?
No, having separate bathrooms is not sexist. Because the term sexism refers to negative issues only. Webster's uses the word "discrimination". Which I assume you are being pedantic and interpreting in a broader context like "discriminating between the colors blue and teal".
But lookup discriminate and it has a few meanings. One of which refers to prejudicial or unfair treatment. That is the definition implied when referring sexist discrimination.
Every major dictionary specifically uses terms like "prejudice", "discrimination against", "stereotype". There is obviously a consensus that it is referring to negative/unequal treatment.