if JetBrains people are reading this, I want to say THANK YOU! You saved lots of developer time with IDE, then Kotlin language. I use Golang, Python and Database IDEs, and they are really nice and time saving, can't imagine how much time you guys saved to Java developers where everything is reflection based annotations and deep level of abstract class/interface implementations. (last time when I worked with Java in V…
Jetbrains products are amazing if you _need_ and IDE. Otherwise you're much better off using VIM or Emacs as they are open source, have tons of customization and plugins available and also they are simply lighter, faster and are available on all unix platforms.
Jetbrains founders turn billionaires without VC help
501–510 of 530 posts
Re: Jetbrains founders turn billionaires without VC help
#502Earlier quoted context omitted.
Current model still isn't perfect as you only get the version that existed when your sub starts not when it ends. So if your sub expires you actually have to downgrade the product to an old version. Before if you bought a major point release you would get all minor point releases as upgrades. Now you don't even get any bug fixes that occurred since your sub started. I love their products though.
Well, I think it's fair. If there was no subscription model, this would be the same as buying the version that was available at the time of your purchase. Everything that gets released after that is only a teaser that nags you to continue your subscription. You don't need to update.
Re: Jetbrains founders turn billionaires without VC help
#503Earlier quoted context omitted.
Modern Java has nowhere near the developer ergonomics of C#, I can tell you that much. You are still manually writing tons of boilerplate, you still cannot express something as simple as List (and the JSR for that is on its, what, 8th iteration? for a problem that existed since before C# existed ?), there is no async/await in 2020 when even C++ has figured it out, the new module management system is a joke that solve…
I’m a huge fan of C# and how Microsoft has been improving .NET recently but as a C# fan I think you’re being a little unfair to Java. It has a slightly different perspective on language evolution than C#, in that they try to keep the language core smaller. I was overwhelmed by syntax when I first started programming C#, from all the different kinds of parameters (optional, named, ref, out, in) to all the different ki…
Also, auto-properties are binary compatible with computed properties, whereas public fields aren't, and you can use 'ref' on a public field whereas you can't make a ref to a property.
Re: Jetbrains founders turn billionaires without VC help
#504Earlier quoted context omitted.
> This is definitely more verbose and arguably uglier, but it hews closer to the object-oriented style because it’s visibly falling a method on an object. Of course this is happening in C# as well, but it’s hidden by syntactic sugar. It's hard to appreciate how addictive the sugar is if you never had it. Frankly, language level auto properties -alone- would get rid of 25-33% of the pain I feel writing Java. Of course…
Lombok fixes most of the getter/setter issues. It is also supported in IntelliJ
Re: Jetbrains founders turn billionaires without VC help
#505Earlier quoted context omitted.
> This is definitely more verbose and arguably uglier, but it hews closer to the object-oriented style because it’s visibly falling a method on an object. Of course this is happening in C# as well, but it’s hidden by syntactic sugar. It's hard to appreciate how addictive the sugar is if you never had it. Frankly, language level auto properties -alone- would get rid of 25-33% of the pain I feel writing Java. Of course…
I think from an object-oriented design perspective that it's quite easy to overuse public field members and that a lot of getters and setters is generally a code smell. Nonetheless, properties are a very sharp tool and having them in the toolkit is wonderful. I've never used Scala but it seems to go much further in the syntactic sugar and semantic complexity direction, more akin to F# than C# (though with less elegan…
Re: Jetbrains founders turn billionaires without VC help
#506Earlier quoted context omitted.
FWIW I once had a VC tell me to use a certain IDE because it “automatically generates unit tests for you” I nodded politely and said “right, always nice to have test stubs laid out..” and was promptly corrected that it does in fact generate the whole test for you
Was it this maybe? https://www.diffblue.com/
Re: Jetbrains founders turn billionaires without VC help
#507Earlier quoted context omitted.
I’m a huge fan of C# and how Microsoft has been improving .NET recently but as a C# fan I think you’re being a little unfair to Java. It has a slightly different perspective on language evolution than C#, in that they try to keep the language core smaller. I was overwhelmed by syntax when I first started programming C#, from all the different kinds of parameters (optional, named, ref, out, in) to all the different ki…
I am not saying Java's model of never adding important things is better or worse. I might now say it is worse, but that wasn't the point I was making - I was simply responding to a comment saying Java has added important things, when it hasn't. Also, auto-properties are binary compatible with computed properties, whereas public fields aren't, and you can use 'ref' on a public field whereas you can't make a ref to a p…
public int Foo { get; set; }
public int Bar;
Java has absolutely made important improvements, and there are even more impressive ones on the horizon. In particular you should look at Project Loom, which is Java’s answer to async/await. It’s not finished yet because the design is much more general and novel, and it avoids the “function color” problem that async/await has. It’s inspired in part by Erlang/BEAM’s green threading system.You might also look at the JDK flight recorder, which is an amazing feature that .NET doesn't have. The Java perspective is adding complexity to the runtime fiest instead of the language.
Re: Jetbrains founders turn billionaires without VC help
#508That said, I hate their nonsensical keybindings for (my) most common uses (looking at you function keys). I also wish their plugin API was more stable. A lot of great plugins seem to require a lot of maintenance work release to release.
Re: Jetbrains founders turn billionaires without VC help
#509Earlier quoted context omitted.
I think in this case you’re holding the tool wrong. When you want, for example, an array of (float x, float y) “objects” in Java, you just keep them as two arrays (float[] x, float[] y) — and I guarantee it will use the same amount of memory and will have nearly the same speed as C++ (depends on what cache locality you need for a specific task, it might even be faster to have two separate arrays for some tasks). So y…
That would be a workaround, but it annoys me when you have to make a workaround for something that is available in the language it set out to replace. And if you are doing something like nearest cluster mapping, or anything else where you process your data in linear order you are not going to get the optimized cache locality. Plus you can't read the file with mmap if your data is from there.
I would go further and say that if your job is analyzing terabytes of memory-mapped binary files, maybe C++ is not optimal either, and investing in specialized languages like Shakti/K would pay off quickly.
Re: Jetbrains founders turn billionaires without VC help
#510Earlier quoted context omitted.
Lombok fixes most of the getter/setter issues. It is also supported in IntelliJ
However bad the Java situation is, Lombok as a solution is worse. It uses unsupported and undocumented APIs of the compiler, it autogenerates code that is in some cases flat wrong (like the infamous enum @ToString), and it does this through a mechanism of the language specifically designed for pure metadata - code that compiles with annotations should not cease compiling without them. And, because of the way it does…