Spring singleton beans are supposed to be stateless though, so they can’t be called variables. Maybe the DI aspect of Spring is less relevant today in the micro service era, but in the day Spring helped make layered monolith apps much cleaner.
Really? From my experience the opposite is the case. I work on a smallish team with 3 other developers and we also have a few spring services with < 100 classes and we constantly run into issues where making changes to a bean causes issues in another unrelated part of the codebase. I can’t imagine what a nightmare it would be with a larger codebase and more devs working on it.
I’ve tried progamming a bit on the phone, but fuck me with a pineapple, that’s an exercise in patience, all the things to make typing on a screen easier will work against you
One user during the night shift tested every possible key combination on the computer to see what would crash our software, so it became a race between the programmer locking the thing down and the user finding new holes. It ended when the user resorted to sitting on the keyboard and breaking the keyboard that got their bosses involved who told the user to knock it off.
I hate Java because whenever people make games or performance sensitive applications with it, performance is always complete ass shit. On top of that, it seems I always have to cave in and use Windows because when I’m trying to compile a Java project, there’s some obscure dependency can only be acquired and installed correctly on windows.
Try compiling Freerouting in anything other than Windows for example. It’s a good fucking thing Java apps are cross platform.
I’m still annoyed with how verbose Objective-C is. Just check out what one has to do to create and concatenate a string. Madness:
<span style="color:#323232;"> NSString * test = [[NSString alloc] initWithString:@"This is a test string."];
</span><span style="color:#323232;"> NSString * test2 = [test stringByAppendingString:@" This value is appended."];
</span>
And god forbid you want to concatenate two things to a string:
<span style="color:#323232;"> NSString * test3 = [test1 stringByAppendingString:[test2 stringByAppendingString:@" Adding a third value."]];
</span>
Not a bug exactly, but about ten years ago I was working as an iOS developer and to get around a major problem introduced by the app designer, I made use of a “private method”, which is something an app supposedly gets rejected for by Apple. I came up with a way of hiding it and had to sweat out the approval period before it went live. Ten years later that shit is still there; I’m sure the developers currently responsible for the app don’t even know it’s there. I normally comment my code with an eye to helping future programmers understand what’s going on and why, but this hack was one where I even obscured the comments.
Objective-C does not enforce method access (e.g. private methods) at the runtime level. If you are sufficiently determined, there are no restrictions on what methods you can call, unlike Java or C# (AFAIK).
Java absolutely lets you do that with Reflections. You’re not supposed to, and it’s painfully slow, but the JVM is only marginally smarter than javac (and that’s saying something) so there’s nothing actually stopping you.
I thought there was security code to stop that kind of thing. Granted, it’s been over 10 years since I’ve done anything with Java more than tinkering with Minecraft mods.
Java did have a Security Manager that can be used to prevent this sort of thing. The original thinking was that the Java runtime would essentially be an OS, and you could have different applets running within the runtime. This required a permission system where you could confine the permissions of parts of a Java program without confining the entire thing; which led to the Java security manager.
Having said that, the Java Security Manager, while an interesting idea, has never been good. The only place it has ever seen significant use was in webapps, where it earned Java the reputation for being insecure. Nowadays, Java webapps are ancient history due to the success of Javascript.
The security manager was depreciated in Java 17, and I believe removed entirely in Java 21.
programmer_humor
Top
This magazine is from a federated server and may be incomplete. Browse more on the original instance.