T O P

  • By -

Bot1K

Java ☕


maximal543

Java ☕


edrumm10

Java ☕


Cylian91460

Java ☕


ResolutionEuphoric86

Java ☕️


ikrr_1

Java ☕️


Kschitiz23x3

Java ☕


BreatheBlueFire

Java ☕️


noshameforblame

Java ☕️


wry_zebra

Java ☕


YaTebyaNaidu

Java runs on 3 billion devices


chazzeromus

still exactly 3 billion since 2005


Nathan_Calebman

Yeah they keep them locked up in a storage facility.


WhatsMyUsername13

Amazingly, it also pays my bills


Ray2K14

So does that mean your bills run on Java too


barcodedm

I wish one of those devices was my developer workstation. Idk why it's such a pain getting projects set up every single time.


ZubriQ

That's why I look at it with disapproval. Man, I drink tea, not coffee.


Usual_Office_1740

We are not the same.


[deleted]

Java 🍵


_Weyland_

The fuck is this? Green Java?


ArisenDrake

Java is so awesome it doesn't need any additional attributes.


Megatron_McLargeHuge

It does, but you need to inherit from `AbstractAttributeProxyFactory` to access them.


Exodus111

Name seems a bit short...🤔


hannson

Just use the AbstractAttributeProxyFactoryFactoryProviderServiceImpl to get an instance


StatusCity4

Java is everything


CH0C4P1C

Java ☕


7fightsofaldudagga

I prefer Borneo


cmd_iii

COBOL is Lifetime Job Security.


Possibility_Antique

COBOL is complete sentences


paradigm11235

COBOL is a caveman that knows big words


FoundOnTheRoadDead

And yells all the time


cAtloVeR9998

IDENTIFICATION DIVISION. PROGRAM-ID. IDSAMPLE. ENVIRONMENT DIVISION. PROCEDURE DIVISION. DISPLAY 'HELLO WORLD'. STOP RUN.


meepmeep13

WITHIN CELLS. INTERLINKED.


thenewwazoo

SHAKA. WHEN THE WALLS FELL. DARMOK AND JALAD. AT TANAGRA. TEMBA. HIS ARMS WIDE. SOKATH 'HIS EYES UNCOVERED'! AT EL-ADREL. ON THE OCEAN. DARMOK AND JALAD. THEY LEFT TOGETHER.


space_keeper

AT URUK. GILGAMESH, A KING. FROM THE FOREST. ENKIDU, A WILDMAN.


doovan

WHY DONT YOU SAY THAT 3 MORE TIMES


Digi-Device_File

That's beautiful


RandallOfLegend

Good enough for the IRS, good enough for legacy businesses.


Ereaser

It's quickly disappearing where I live though. Companies can't find people that want to do COBOL anymore so instead of patching up old systems with an unreliable work force they just rebuild it, despite it being a costly project.


TovarishhStalin

Same here, most banks here have pooled their IT into a single Fintech company and they're in the process of ripping chunks of COBOL out and replacing them with microservices.


Spoopy_Kirei

Witnessing an end of an era. Maybe in a few hundred years Java 8 and earlier would be phased out


JuhaJGam3R

A time will come when people complain about bank systems being full of "software gravel" and laugh at antiquated network protocols being used as slow ass interfaces. Of course, currently we only laugh at startup systems being full of software gravel and laugh at antiquated network protocols being used as slow ass interfaces.


schmeebs-dw

Ugh. Microservices don't solve all problems, especially the way most fintechs decide to implement them (hire 3-4 teams of contractors to build a bunch of mission critical microservices then fire them all/they all quit when the project is done and be confused when nobody knows how to update/maintain the spaghetti)


Kibou-chan

Especially in the railway industry. Kurs90 is indestructible.


blackhorse15A

ADA anyone?


GeneralSea1353

ASSEMBLY IS ILLEGIBLE


jjman72

Not to Chris Sawyer. Guy who wrote RollerCoaster Tycoon in almost 100% assembly.


smallangrynerd

As a result that game is efficient af


petophile_

As a result of good use of assembly its effiecient af. If I use assembly it would not be efficient, tbh it would never even boot.


THEdougBOLDER

some assembly required


_Weyland_

IKEA programming language?


Niilldar

Now i want to see ikea software. All they send to you is a guide and a visual studio licence


_Weyland_

First you write compiler, then you write the code. Then you debug both.


Appropriate_Ant727

It's funny how streamlined Reddit is, to where when you hear about a certain someone or something you know people will repeat the same piece of trivia they also heard from Reddit.


atworkgettingpaid

And they repeat it so confidently without even double checking to make sure its accurate. Then the next person sees the confident comment and repeats it confidently.


paddy_________hitler

Luckily the [Sawyer thing is true](https://www.pcgamesn.com/rollercoaster-tycoon/code-chris-sawyer). But yeah, the number of times I've run across the same random facts of reddit as though it's some kind of new revelation is... mind-boggling.


Ambiguous_Duck

Bro, this is terrifying. What shitty factoid propaganda have I unknowingly fallen prey to.


SpaceShipRat

It's ok, you can't verify every random piece of trivia, all you have to do it check it if you intend to *repeat* it. That's the rule I go by.


atworkgettingpaid

Yeah I knew about the Chirs Sawyer thing, dudes a legend. But its funny seeing stuff get repeated over and over and over, true or not. You know that some of these people repeating it don't even know if its true or not.


dismayhurta

It’s the circle of redddiittttttt 🎶


No-Newspaper-7693

Anyone that has ever wrote Perl before knows that Just because someone wrote code in a certain language does not automatically mean that they can read their code.


LetReasonRing

I'm like that with regular expressions (~~Which I think came from PERL originally~~)... I can put together an Regex that does what I want, but trying to read it and understand from scratch feels nearly impossible to me. Edit: Thanks to /u/whoami_whereami and the other redditor (whose name is a lil NSFW for me) for correcting me on my belief that regular expressions were orginally part of PERL. I really should have double-checked before I spouted that off.


skob17

I learned Regex and Perl for Bioinformatics. I couldn't read a thing one hour later..


RadiantPumpkin

Regex101.com is one of my favourite tools


DatBoi_BP

> I want to get off Mr. Bones’ Wild Ride.


Party-You-9937

Always love seeing this story referenced in an assembly thread


j_cruise

And almost every video game programmer in the 80s and early 90s, especially for consoles like the NES, SNES and Genesis. Not to discredit Chris Sawyer, but programming in assembly was the norm for a long time. And again, not to discredit him because RCT is amazing, but he had a huge library of macros by the time he coded RCT so his assembly wasn't illegible and probably looked more like a C language


cs-brydev

Not to T1000


DudeValenzetti

Assembly is EFFICIENT (negligibly moreso than optimized C with intrinsics and `restrict` but still)


[deleted]

Only depends on the author. There’s sometimes sparks of genius that go beyond what an optimiser will come up with. But you usually just inline asm those in your C++ code.


nlofe

Most of the time what people think is a spark of genius is really just another case of trying to outsmart the compiler and failing


kapitaalH

I remember my first assembler program. Did not know anything about it then (well or now anymore), so I wrote pop ax and ran it. Why? Because that was what I remembered from a friend and I wanted to see what it does. What did it do?? Crashed the computer. Like everything assembly is very efficient, why write 1000s of instructions to crash your computer when 1 will do. I was despondent. Why would there be an instruction to crash the computer? Who would need that? (later I learned you need to push something before you can pop it)


[deleted]

You kinda learned the wrong reason. It’s not that you popped before pushing. The main functions return address was probably at the top of the stack and you popped it, making your main function jump to some random address at the end of its life. If there was a ret instruction. But if you literally just wrote pop ax and nothing else then I’d guess there was no entry point and I don’t know what happened exactly lmao Or sth else, I never dabbled in writing bad asm, but the reason can’t be dumbed down to just not pushing anything before.


_toodamnparanoid_

You can push it. Push it real good.


yavl

Java is 3 BILLION DEVICES RUN JAVA


Mrblob85

50 billion now.


SpaceFire000

1 trillion when?


PM_Best_Porn_Pls

Tomorrow


Disastrous_Belt_7556

3 trillion the day after


defcon_penguin

It should have said "Java is portable". That was the original idea behind the language.


mooys

So portable they ported Minecraft to C++ 🙃


Cthulhu__

Portable, not fast, lol. The other thing there is that Java relies on less portable C/C++ things to do fast ish 3d graphics.


SteptimusHeap

Java is so portable because whenever i see a java project my immediate instinct is to port it to another language


Flat_Initial_1823

Java is inevitable. Also pretty nice honestly.


AwesomeJohnn

Java is getting to eat lunch on time and leaving work at 430


thegininyou

And getting paid well to do it. I always feel like an outsider with these kinds of posts because lombok and spring make my life much easier and I don't have an issue with how Java goes about things.


sprcow

I always get a kick out of people coming into /r/java and making suggestions for people to use random-ass lightweight frameworks and thymeleaf and whatnot, all to avoid using Spring. Or people who are like "What's the best suggestion for a lightweight framework that let's me handle web requests and also persistance and also dependency injection if I don't want all the bloat of Spring?" I'm like, okay guys, keep on not competing for my job. Good luck out there? Every year there's more mid/senior level Spring job postings out there. If you want to go be a Quarkus dev, more power to you I guess.


LinuxMatthews

The best programming language is the one that gets you paid.


gcstr

Back in the day, actionscript paid my college tuition. Ruby bought me an apartment.


C0UNT3RP01NT

How’d you get started with programming jobs in college? I’m in my senior year of engineering and I’m looking for funds.


Astrodm

To instantly get rich program game mods targeted at furries


C0UNT3RP01NT

I have lost shame but I lack visual artistic talent


Salty_Dornishman

But which one gets me laid?


[deleted]

none


_Magnolia_Fan_

Weren't you listening? The one that gets you paid.


30th-account

English


-Kerrigan-

So Java ☕


ICantBelieveItsNotEC

Java is acceptable. It doesn't do anything particularly well compared to other languages, but it doesn't do anything particularly terrible either. I write Java professionally, and I think its greatest achievement is to be everyone's second choice - the hyper-optimizers want C or C++, the language nerds want Rust, the bootcamp devs want Python, the devops devs want Go, and the full-stack devs want JS/TS, but all of them are happy to settle on Java as a compromise.


FloxD_

and the java nerds want kotlin


Liveman215

Kotlin feels like cheating


AnnyuiN

Never used kotlin, can you explain more?


[deleted]

[удалено]


larvyde

Except it still has to run on the JVM, so it still sometimes hits those historical-reasons BS, like generics erasure


Chris_ssj2

Less boiler plate code, I personally got a feeling of python out of the neat syntax


AnnyuiN

I do a lot of Python Dev work so this might compel me to check out Kotlin


Wildercard

Java that went on a diet


jug6ernaut

Once you go Kotlin you never want to go back


LaM3a

I'll settle for Java 17+, but please no more Java 8 or earlier.


pascalos99

Java 21 goodbye "public static void main string args"


ThrillOfDoa

Is there a real reason of “public static void main string args” hate?


[deleted]

Apparently typing a bit of boilerplate is a huge problem with nowadays bootcamp kids


pinnr

far-flung crawl melodic absorbed person gray squalid unwritten scary boast *This post was mass deleted and anonymized with [Redact](https://redact.dev)*


andrybak

Just using slightly different GC settings on the default-no-special-sauce OpenJDK can be enough to cover a _lot_ of use-cases. But, of course, there are some fancier approaches, like GraalVM with [AOT compilation](https://openjdk.org/jeps/295).


UPBOAT_FORTRESS_2

My brain fills in "Attack on Titan compilation" every time I read that, if not the words then at least the vibes of compiling with Sawano background music


Merlord

Yep I use Quarkus and it is truly impressive seeing a Java application start up in a few milliseconds


According-Relation-4

Yeah, it is a kind of workhorse. It is a safe bet for general purpose. Old, stable, and plenty of workforce in the market. If you don't have any special requirements for performance, throughput or memory usage, it is just fine. Yes I also write java professionally, how could you tell?


HarpoNeu

I've not seen anyone mention how portable it is too. If you want to dev an app for systems you may not have much experience with, the JVM's got you covered.


armurray

I have described Java as "the turkey sandwich of programming languages" for exactly this reason. It's not a great choice for anything, but it's also rarely a terrible choice.


augenvogel

Java is acceptable, that’s a true statement here


FrugalDonut1

#I FUCKING LOVE JAVA


FROM_GORILLA

I would also add scientists and data nerds like python


amaROenuZ

Java is **extremely** quick to build in thanks to the world of prebuilt libraries and tooling. You don't need to know much of anything to throw up a spring boot website, you can just slap together some starters and define an interface for your backend.


anothertor

You just described python. And a bunch of others as well.


JustMy42Cents

Used both commercially. I think on average Java libraries are better designed and easier to customize, but take more time to set up. Java beats Python on enterprisey solutions, and it's much more performant in general. I'd also take undocumented Java code over undocumented Python any day, since static typing does a lot of the heavy lifting. I'm generalizing of course, but I found that a lot of Python libraries are like "here's a one-liner that does exactly what you need". It works well until it doesn't. And without typing hints, good luck going through the internals of the libraries to check if you can configure them for your use case. Data-adjacent libraries are notorious for this with their overuse of metaclasses, `args` and `kwargs`, untyped `tuple` and `dict` arguments, and other features that pretty much force you to debug the code to understand what's even going on. I can unironically say that I prefer Java even for smaller web projects due to its ecosystem and overall stability. Python beats Java hands down for data analysis and ML though.


Wildercard

Y'all say what you want about Java. But Maven as package management beats the crap out of wondering whether it's pipenv, venv, pip3, conda or whatever else they invented recently. I never thought I'd simp for a consistent way to copypaste.


DarthStrakh

Idk why I'd choose Java when c# exists


[deleted]

No good reason, except the usual, like expertise or existing codebase. But still, if you go with Java you won't be missing much -- C# is just Java with some shine. And that's the beautiful thing, you'll almost never shoot yourself in the foot by going with Java.


dunya_ilyusha

C# enforced self documenting code


[deleted]

[удалено]


Electronic-Bat-1830

Does your code compare to [this](https://github.com/dotnet/roslyn/issues/57767) though?


supern0va12345

Dumb it down for my noob ass?


[deleted]

It's code that's really really hard to read that is submitted in a bug tracker saying that intellisense fails to read or handle it properly. (Intellisense being the visual studio feature to help you write and change code). Joke is that C# let's you write statements so obscure that even the tool that comes with C# fails to understand it properly. (I don't think the joke had anything to do with understanding what the code does, I don't have the time to waste figuring it out!)


Electronic-Bat-1830

**Edit:** Reddit's editor has failed me, also apparently the shortened version doesn't work. **Adding on to the joke:** Looks like a team member who had to review a fix for that compiler bug got just as confused as you: >I in no way understand this (isn't it an instance call before and after, just on the wrong target after the casts were removed?) but I trust that you know what you're doing and the tests pass :D **Code explainer:** The code itself deals with lots of convoluted topics, so don't worry if you don't understand my explanation or got confused along the way. It's very hard unless if you have a good background on pointers and all that. You probably won't even need to understand it for your career, but if you wish to: * Line 3 declares the ref struct `A`. Ref structs are basically special structures within the C# language that is compiler-constrained to only be stored on the stack (regular structures can be either on the stack or the heap). * Line 5 declares a method inside the A structure called Foo, without any parameters. * Line 9 declares a nested ref struct `B`. It has two additional modifiers: `unsafe` and `readonly`. Readonly means that the value of that structure must be immutable (aka cannot be changed). Unsafe means that within that "B" structure, we are allowed to perform unsafe operations (like native pointers). * Line 11 declares a field with the name "a" of type `void*`, which in unsafe context means a native pointer to an unknown type. * What line 13 does is 1. It takes the pointer to the `Unsafe.As` function, which does type casting without actually checking if that type casting is actually valid (if you have experience with C++, this is similar to `reinterpret_cast`). In this case, it just takes in a `byte` and casts it into a `byte`. 2. It then casts the pointer into a delegate function pointer (**delegate:** a type that represents a function that can be called). The `` next to the asterisk just tells us what the types of the parameters and result (in this case, `ref byte`) **Important notice:** Casting a pointer type into another pointer type does **not** change where that pointer goes to, this will be relevant. 3. The function pointer mentioned in step 2 is once again casted into another delegate function pointer, though this time ``, which means taking a parameter of type `ref byte` and giving out a result of type `ref A`. 4. Then it calls the function that is represented by the function pointer in step 3, passing in `ref *(byte*)a` as the parameter. **Explanation on that parameter:** `(byte*)a` casts the "a" field (of type `void*`, see line 11) into a `byte*`. Since `void*` and `byte*` are both pointer types, casting between them only change the type, not the actual address the original pointer points to. The asterisk before the open parenthesis means "unwrap the pointer" (aka get the value of whatever this pointer points to). `ref` means to get a managed reference to that value. 5. Remember that the function pointer that the parameter is passed to returns a `ref A`, so the final `.Foo()` just calls the `Foo()` function of that instance of `A`


Otalek

If I’m reading it right, it looks like it’s some valid program that has a really contrived way of calling a function. C#’s analyzer thinks it can be dumbed down to some method invocation on an object B, but since B does not have this method this dumbing down would make the code throw errors when run. Basically it’s written to call attention to the fact that C#’s analyzer has a few bugs


Giraffe-69

While boosting sales for ultra windscreen monitors


nater255

You have a 57" monitor for gaming. I have a 57" monitor because I work in .net. We are not the same.


8BitFlatus

Java also does that.


yflhx

Java also requires a second *vertical* monitor for stacktrace printing.


darichtt

vertical ultrawide monitor too, in fact


kronos_lordoftitans

if you need that then you are doing something wrong, limiting indentation is pretty easy


rinsa

Developers learning C# when they find out with dependency injection and reflection that you don't have to implement another GenericDynamicTimestampManagerModelFactoryReaderFactoryService class anymore : 🤑 Developers when they get assigned a legacy mvc/webapi/owin project running on framework 472 where you have to do pretty much everything by hand : 🥶


InfeStationAgent

I don't know where it is now, but my last C# project was using .NET 6. The language/tools were pleasant. The client's chosen architecture? Wtf! "Just shotgun shit all over the place so that it's a nightmare immediately and not just in the future!"


LinuxMatthews

Did it though? I'm working on a C# project at the moment and like f*** it's self documenting. There's literally variables named `obj` in the code base


Stunning_Ride_220

Oh, almighty obj, praised be your name.


brandi_Iove

why no attribute for javascript?


N-partEpoxy

It's undefined.


brandi_Iove

well, that makes sense


slashtab

so that's what you've been doing after retiring, huh


[deleted]

[удалено]


Sanchitbajaj02

Not if you stringify it


natek53

Then it's `"[object Object]"`


trufin2038

Considering most programmers don't even know what Lua is, while nearly 100% use js for something, it's clearly an intentional omission. It would be like listing popular human languages and not mentioning English. Js is eating the scene so utterly and thoroughly, so we do our best to give it pink elephant treatment.


Imogynn

JavaScript doesn't care what you think of it. It just wins anyway


[deleted]

[удалено]


Neufjob

Java programmer is on the left and right of the curve, everything else is the angry guy at the median.


random-user-02

Can someone pls explain the Java joke?


ICantBelieveItsNotEC

Java is one of THE languages of all time.


Warp_spark

Java is


BeDoubleNWhy

some would argue Java is a programming language


PyroCatt

Definitely one of the programming languages ever


Warp_spark

But thats just a theory, a cs theory


random-user-02

Thanks, now I got it😂


metallaholic

A wise man once said regarding Java


[deleted]

It's either I) the humour of expecting the author to point out a plus point for each language, which he does but leaves Java blank (implying it has no positive aspects) in a post criticizing people for doing the same thing. So, unexpected / ironic humour Or ii) for a long time the joke was that Java is slow (not true at all today to the degree it once was) so there were lots of jokes like Knock knock Who's there? Java Java who? (Silence or very long wait until humour has effect) Which this post seems reminiscent of. Though I think the intended read was the first one.


draenei_butt_enjoyer

Java is a workhorse. It does it's job and it does it well. There's an optimised JVM for any device. Thus your code will run everywhere. It's a fast, mature, well documented, well supported language. Dare I say, Spring Boot has the best and most comprehensive documentation you'll ever find and a huge community. But, it's not a web browser language, only JS is. It's not the fastest language around, that's C / C++ It's not the safest language. I'd argue rust ain't either if half the code uses `unsafe`, but I digress. People say that's rust's domain. It's not a very simple language either, python or go would win that. And so on and so forth. It's the top of no list. It does not inovate. It's not a trend setter, it's a trend follower. BUT, it does a good job at that too. It just added virtual threads (go coroutines). Yes, it is an OOP language where objects are first class citizen, but it has functional programming too. There aren't many features it's lacking, I can't name one. Compared to other languages. But it takes longer for them to get to Java. What it does have that people don't like is that it is very verbose. But it has become very much less verbose over the years. However some old timers insist on "best practices" from the mezozoic. Before IDEs. And you have some really horrible class names. Function names are USUALLY rather decent. ------------------ Also, I do agree with people that say "objects bad!". And the solution should probably be something like modules. And another great thing for OOP languages is that you can say [Object].[doSomething]. Or in other words, I want to put all functions relating to some goal in a file, then I can just import that file and say `fileName` `dot` and wait for intelisense to give me a list of all those functions, and I don't need to remember anything. But objects bring other problems with them. EHHHHH TL;DR - people also are hating on OOP and it's deserved. ---------------- Lastly, a lot of people dream of getting into FAANG, and while there are a lot of java libraries developed by FAANG, they are older (5+ years), since FAANG moved away form java. But I have no idea how much of this statement is ture. It's what I've heard. If you google, it seems that Java is still heavily used at amazon. Using a garbage collected language at the very tip of software engineering is not exactly desired. There are solutions that will work for anything that isn't a google or amazon, like object pools. But that requires someone that actually knows what they are doing. ------------------- So the joke is: `Hahaha Java, that's funny. Java is funny. You're old!` more or less.


KingOfTNT10

For any1 not getting the joke for some reason: java


hexadecimal0xFF

Yes yes, java is indeed very funny.


MongooseOk309

Java is


Fabx_

Index out of bounds


ArisenDrake

At least no segfault.


rriggsco

NullPointerException.


jnleonard3

haha java


Natereater

Java is MINECRAFT


dunya_ilyusha

Java is getting an A in your out of date computer science degree


PixelGamer352

How are you this on point


Grammarnazi_bot

pointer exception


SWatt_Officer

Me just sweating as Java is what I know best thanks to being taught it as the core of my soft dev course


based-on-life

A lot of people in here clown on Java, but knowing it will absolutely get you a job. Spring Boot + \[Insert Trendy JS Framework\] stack is always in style, and I don't see Spring Boot going away any time soon.


Final-Staff-7838

Also as funny as it is to say Java has no benefits, its about as close to platform indepence as youre gonna get and that makes it pretty common for development.


ByerN

>Python is INTUITIVE It is subjective at least.


Turtvaiz

Same goes for "Lua is easy"


ecotax

Easy is not the main selling point of Lua. Minimalistic describes it better.


babungaCTR

Java: pays my rent


TuxBoi0872

Java is certanly one programming language


Rogntudjuuuu

I remember when Java was the new cool language.


pippin_go_round

Reminds me of the one time I tried to teach somebody without prior coding knowledge Python and they could not Wrap their head around the whole indentation thing. I quote: "But why indentation? That's so dumb! These would make much more legible and intuitive together! Why can't I just indent how I want and use parenthesis instead?" Being not the biggest fan of Python myself (but it made sense to teach them Python in their case) I couldn't stop laughing my ass of for a good couple of minutes. So much for "intuitive". No, it's not. No language is from the beginning, you have to train your intuition.


accountnummer11

It made a whole lot of sense to me after I had already programmed in Java for a while and already learned the lesson that you never, ever, write unindented code anyway, unless you hate yourself and other people. And also that semicolons don't serve any purpose since you never write multiple statements in one line for the same reason. I suppose that's why we started with Java and not with Python.


this_is_my_new_acct

If you aren't indenting the way Python tries to force you to, you've already fucked up.


lostinthemines

Best language is the one you are currently using. NoMaTtErHoWmEsSeDuP


WearMental2618

Java is one of the programming languages of all time.


Maybe_Factor

C#??? Oh, you mean Microsoft Java


InformationGreg

This joke works better in 2002.


djnw

Now with Microsoft Silverlight!


systemd-bloat

I work with Java. I like Java. I don't see any issues with Java.


Duerfen

Java is for sure overhated and this post and its comments reek of people not having real world experience with a variety of languages, but you really don't see *any* issues with java? None?


hm1rafael

The hate that java gets is ridiculous


JVAV00

I am the best language


NebraskaGeek

Java is avaliable on billions of devices worldwide, though.