At runtime, there are no generic types kept, meaning it is technically possible to break the generic typing of an object. Smarter people than me can probably give you more detail on this, but generics were grafted on to the language long after it was introduced, and it shows. Most people are now forced to use some json serialization, but the old serialization format is still lurking in the background to ensnare less knowledgeable programmers. Java has built in binary serialization support that ended up being a massive security hole. No one still uses it like this, with most method creating an `Object lock` as a synchronization primitive. Java built in synchronization primitive is based upon an older model of concurrency whose name I cant remember but it involves every object basically being able to maintain internal consistency with it's own state. You can mostly fix this with annotations, but those your team using them very consistently, and are not supported by most java libraries. Swift and Kotlin have first class support for these, which are meant to minimize or reduce the number of null pointers in your code. There's nothing really wrong with it, but it's core design is pretty outdated in ways that are difficult to fix without putting together a totally new language. And with all the built in refactoring and tooling there is now, it is really a full circle and you don't exactly need anything else.Įdit: it is also worth pointing out that adding Resharper to VS2022 makes it a lot nicer, but in my book that is basically the same as using Rider because then most of the refactoring is taken away from the Microsoft IDE's engine and goes though the same/similar path as it does in Rider (as Rider uses the Resharper Engine too.) But from the very first version of Android Studio, it all seemed coherent. That might have just been with how immature the Android tooling was back then. With Android development (which to be fair I mainly do on the side), I remember Eclipse being reasonably hard to get set up. I spent a long time ignoring JetBrains, but once I started to use Rider (and Android Studio) I realised how much better they were in general. I guess VSCode seems to march to its own drum and some of how it integrates things is really clunky still. got better recently (the C# Plugin is now a full on full Microsoft first party offering), but VSCode is still less like an IDE, more like a code editor. Visual Studio 2022 is pretty buggy recently, especially for mobile, which is the bulk of what I do recently. Rider is hands down better at refactoring and generally having features "out of the box". So - I'm not a Java programmer, but I do a lot of C# in Visual Studio 2022, Visual Studio Code and JetBrains Rider (which is built on the InteliJ engine), so I guess I have a unique perspective.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |