5 ms·
I moved from C# to Java project. I preferred C# Syntax but amazed by the number of Java libraries. However I've found Java world full of neck-beard developers t
by u678u 5y ago
I moved from C# to Java project. I preferred C# Syntax but amazed by the number of Java libraries. However I've found Java world full of neck-beard developers that make everything complicated. Spring is toxic - the learning curve is steep and half the devs dont understand it well enough which leaves a huge mess.
Dotnet Developers seem much more pragmatic. I wish I could go back.
EDIT - I forgot about how bad Java GC is. Still with Java 16 a ParallelOldGC Full GC is taking 30 seconds on a big server.
- sz4kerto 5y agoToxic? Isn't this word too strong maybe? Spring provides consistent patterns and solutions for many things and their solutions is usually good (vary between mediocre to great). Learning curve is steep-ish when you start but quite a smooth ride later. It's maintained, reliable, not buggy.
- rcarmo 5y agoSpring is an acquired taste, and many people don't like it because they don't know the right patterns, so I agree with you and think the parent is exaggerating.
- u678u 5y agoYou're both right. I agree Spring Boot is great if you know it well and are knocking out micro-services. If you have a ball of mud like my current project with mixes of XML config, Attribute config and people rolling their own stuff it really isn't adding any value.
- eatonphil 5y agoI don't code very much Java or C#. I've tried to get into Spring because I wanted to save time but it was too complicated for my patience. I also evaluated ASP.NET and it seemed significantly more convoluted. There is a ton of documentation for both Spring and ASP.NET but both are so complicated and specific to investing in exact ways of modelling users/auth/whatnot that they are both super hard to get into as a hobbiest outsider. I like both languages and they both have good microservice libraries and general ecosystem. I just don't think it's worth saying Spring is complex without talking about ASP.NET.
- 5e92cb50239222b 5y ago>evaluated ASP.NET and it seemed significantly more convoluted Which one? I would be very surprised if it were asp.net core, which is their current offering. It is one of the most straightforward and clean web frameworks I've ever had to work with. Spring seems to me to be a giant bowl of spaghetti in comparison to it.
- Felk 5y agoYou may also be interested in taking a look at [quarkus](quarkus.io) in that case. It's a relatively new platform developed by RedHat that focuses on cloud usability, performance and developer joy, while using well-established APIs like JAX-RS, JPA or microprofile
- eatonphil 5y agoOh yes I've found a number of good microservices for both languages. I'm just astounded by how complex Spring and ASP. Net are. Though to be fair I also find Rails too complex. I guess the problem is that I've just never had to use on of these at work. So when programming in my free time in both Java and .NET it's way easier/more fun to just use microservice libraries that are easier to pick up.
- nobleach 5y agoRails and Spring Boot both scratch a similar itch. Out of the gate, a brand new project spins up and can return output (JSON or HTML) with almost zero config. The developer is responsible for augmenting that project with controllers/services/models/etc. What this leads to are dark corners. This is fine as not every developer needs to understand all of those dark corners. But it also leads to blind dependence on the framework and its libraries. And when something goes wrong, they can go REALLY wrong. That said, Spring implements some great patterns out of the box. And spinning up a highly performant microservice with JWT auth, security, an okay ORM (I don't hate Hibernate like a lot of folks do) is cake!
- midoBB 5y agoIf someone is escaping Spring for it's verbosity and complexity JAX-RS and the Java EE standards aren't that much better IMO.
- wayneftw 5y ago> neck-beard What's wrong with hair growing on your neck if it grows there? It's completely natural. I know that this is slang/shorthand, but I don't agree with it at all. I work with plenty of people who have unruly beards and none of them fit the "neck-beard" stereotype. I don't think it's a very nice term to be perpetuating. Judging people purely based on one physical attribute and then mocking them for it is not a great look for anyone.
- oblio 5y agoHair on your neck makes you look unkempt. I think it's the main issue.
- wayneftw 5y agoSo the problem is that unkempt looking people have created code that this person has to deal with?? Oh, and every single person who has hair on their neck looks unkempt, without exception, am I hearing that right? Sure, OK.
- WorldMaker 5y agoFor what it is worth, it isn't a neologism to this thread it's a (insulting) slang term for certain types of pedantic nerds in relatively common usage on the internet going back to early internet history (some of the earliest recorded usages were in the early 2000s). https://en.wiktionary.org/wiki/neckbeard https://en.wiktionary.org/wiki/neckbeard
- oblio 5y ago> Oh, and every single person who has hair on their neck looks unkempt, without exception, am I hearing that right? Yes, shave it. Especially if you have long neck hair and short or no facial hair. There are some exceptions, if you have a long beard, maybe. Hair in other places is considered equally distasteful (long nose hair, ear hair, whatever).
- aksss 5y ago
- mrighele 5y agoAny particular reason for using ParallelOldGC with Java 16 ? There are other options that should fare much better.
- pleb_nz 5y agoI've used .net almost exclusively backend over the last decade and recently had to take over a spring project. I was surprised and found it super easy to architect, build and maintain with lots of nice patterns. It's yaybe heavy, but I wouldn't say it's toxic.
- Shadonototro 5y agoTry ZGC, sub 1ms pauses https://malloc.se/blog/zgc-jdk16 https://malloc.se/blog/zgc-jdk16
- kaba0 5y agoJava GC bad? It is the state of the art (though it has multiple ones, but G1 and ZGC are the best for different workloads), no other runtime has a better one, with V8 coming somewhat close.