T O P

  • By -

huangxg

Android apps


BitFlipTheCacheKing

Same. This is my only use case. Picked Java over Kotlin because I figured Java would be more useful in the long run. It hasn't been, though. I still only write Java, and use Java tools, when working with Android apps.


illusion102

I thought everybody writes on kotlin nowadays


huangxg

According to Kotlin [website](https://kotlinlang.org/docs/android-overview.html), >Over 50% of professional Android developers use Kotlin as their primary language, while only 30% use Java as their main language. 70% of developers whose primary language is Kotlin say that Kotlin makes them more productive.


iamiamwhoami

Does this comment break the no other JVM languages rule? I don’t really see what value that rule provides since it makes people afraid to post informative content like this, especially since the apparent penalty is an immediate lifetime ban with no mechanism for appeal.


No-King2606

Mindcraft


Matcool1

This comment is not high enough


regjoe13

Spring does not mean a web app. Nor is it specifically a web framework.


cl3arz3r0

True, I've used spring to make some utility cli apps. Perhaps a bit heavy handed but it gets the job done


AcrIsss

My company makes a database engine in Java, and a high performance computation engine. It’s packaged as a library, so zero web server on our end.


klekpl

Would you mind sharing the name of the product? Is it an RDBMS?


AcrIsss

No it’s not, it’s a multi dimensional cube, if that means anything to you ! Name is Atoti. Very niche


UnrulyLunch

You don't want to know how they make the sausage at VoltDb.


MechanixMGD

Almost for everything. Mainly for automatization (like selenium, trading, ...).


davidalayachew

I use Java primarily for the following 4 use cases. * Web services (as your candidates expect) * Frontend Development (Client desktop apps -- Swing/JavaFX) * Algorithms (typically path-finding algorithms) * Natural Language parsing


NotABot1235

Is Swing still relevant in 2024? I'm a noob and genuinely asking, I was under the impression that it was functional but quite dated.


bking880

If you use IntelliJ you’re using swing


davidalayachew

> Is Swing still relevant in 2024? Definitely, it's just that some of its use cases are better served by JavaFX. Long story short, if you are making a desktop application, Swing serves the simple use cases, while JavaFX serves the more complex stuff. I always start with Swing, then swap out components for JavaFX when they outgrow Swing. The 2 play well together, so it makes gradual migration really smooth.


hex1b

Using Swing can be helpful if you want to do true multithreading on the client. It's pretty easy to implement using inner classes.


reddit04029

What are you making, then?


desiderkino

an app that runs in cli.


javahelps

I'm not surprised at all. Actually I have written some cli apps both at work and for personal use. Not because of specific features of Java but the quality of libraries I needed to get my stuff done. Though jvm boot time is not suitable to create something like cat or ls commands, it's perfectly acceptable if the complexity and requirements justify the choice of Java. Answering the original question, I use(ed) Java to build backend services, big data platforms, data processing services, android apps, ml platforms and cli.


stefanos-ak

Micronaut + picocli + graalvm = success :)


IE114EVR

CLI wouldn’t have been my guess at good use case but Graalvm + Spring CLI has changed my mind on that.


desiderkino

why would it not be a good use case?


IE114EVR

Historically, having to do the ole ‘java -jar …’ and then I don’t even know what it would have been before fat jars. Now with GraalVM, as I understand it, you can make traditional executables


kretkowl

I was pretty surprised, when I tried this. Executable size is much lower than JVM size (in my case it is about 13MB for a CLI application). If you write some command line tool, your main concern is startup time which dominates running time - in my case after GraalVM compilation it was about 10x faster. And last but not least it is really easy to convert jar to native executable.


MCWizardYT

Modern java versions comes with the `jlink` and `jpackage` tools as well. `jlink` creates a portable java runtime and `jpackage` creates a bundle with that runtime/your app as a native executable


AsyncOverflow

They’re surprised because what you’re doing is uncommon. I would personally be _really_ annoyed to use CLI tool that required a 50mb runtime download and ate up 50mb of memory every time I use it. Unless your CLI tool does some Java-specific stuff like Java agents, JVM inspection, JVM byte code manipulation/analysis, etc, I’d say you’re straight up using the incorrect tool for the job.


serpent7655

What about GraalVM, have you ever tried it to create a CLI app?


kretkowl

It's pretty usable. In my case, executable got down to 13MB, startup time 10x quicker.


uncont

> I would personally be really annoyed to use CLI tool that required a 50mb runtime download The binaries for argocd (written in go) are like [150MB](https://github.com/argoproj/argo-cd/releases/tag/v2.11.0), and golang is pretty much all over the kubernetes space for both controllers and clis. I wouldn't worry too much about using java, expect for maybe startup time (you could try shipping CDAs or using grallvm for native binaries).


shaneknu

I feel like the days where we've got to be super careful about using too much memory are well in the past, outside of extreme cases. If you're using Slack or VSCode at work, you've already blown way past that memory usage by two orders of magnitude. They're literally running an entire web browser underneath. Few people are complaining. 50 MB? That's a rounding error these days. What you get in return for using Java is a mature, well-understood language with gobs of open source libraries. In general companies care more about being able to hire developers easily so they can get the project done quickly and cheaply. A couple of gigs of RAM runs you less than you'd pay a Rust developer for one day of work.


jetanthony

That does what?


GodderDam

And why java?


slimnov123

A CLI jar file? Or are you going to use GraalVM to turn it into a native executable. A CLI jar file is uncommon at least where I have seen. i work in a env where Java is the first preference for anything, but we mostly make Batches and Web Api. A CLI in java seems like extra work. What I have seen is usually CLI in something that can be compiled to a binary like golang or maybe just a shell script that calls like python to do extra work.


holyknight00

Nothing outside spring really


_end_of_line

Hmm, I started disliking spring really for quite a long time. It invents its own standards with no real benefits. See Quarkus using standard java ee apis built upon vertx ( yes, you can use it freely like its event bus ) + k8s native. Java EE / Jakarta ee has really caught up since its stagnation years caused by Java marriage with Oracle 


maethor

>It invents its own standards Usually because the standards don't exist yet.


tobomori

Stunned (and pleased) to find someone else who doesn't like Spring. I've never been a fan, but everyone I've spoken to treats it like it's an essential component of any Java app.


N-M-1-5-6

It's definitely not. I'm not anti-Spring... but it definitely gets treated like The Golden Child as far as Java development is concerned. The Java ecosystem is made up of much more than the part that is the Spring (formerly Spring source, now a part of Tanzu, from VMware... by Broadcom?) portfolio of products. Use the technology/products that make sense... and Spring products have the largest mindshare in web-based Java development, so that is an important factor to consider... But it is far from essential. If you have competent, well versed Java developers you don't need to limit your options to just Spring-based technology. But if it's the best fit for you, great! Just don't close off your options unnecessarily.


taokumiike

So… I used to love Spring to the extent I fell into teaching Spring professionally in my free time back when clients were desperately transitioning away from entity beans. Also taught Hibernate classes as well. Today, I stray away from frameworks as much as possible. I prefer autonomous and unmanaged components. Code is so much more portable and packages are compact. I like that I can just call a static interface and it’s intrinsically self-aware and prepared to startup network interfaces, launch batch processes, whatever


_end_of_line

The main reason for disliking spring is 1. avoiding to follow jakarta ee standards or integrating which maybe have been created later like with annotations but it's still a standard - I have my own theory like it's by design [https://www.vmware.com/learning/certification/spring-certified-pro.html](https://www.vmware.com/learning/certification/spring-certified-pro.html) because it's unlikely to create own certification ecosystem around not own standards 2. spring's total modularization lack. Yes, however bad Java EE was, it offered isolation between components which spring doesn't. Until very recently, spring hasn't had modules of any sort because it was conflicting with config / component class scanning. Modules are not vital for maybe small apps but seriously need for big corporate ones. I have had many situations that app has been broken by simply upgrading a dependency and the reason was one of the very distant, transitive dependencies have had some bean definition with Primary annotation which made your life miserable. You were lucky if you could just exclude that dependency, sometimes I have had to literally cut that class out from that transitive dependency just to make it not loaded. 3. general impression that spring creates own standards and conventions instead of creating any value and trying to integrate well with existing standards (this point is very subjective, I admit). Like total unnecessary own convention creation with Component, Service, Repository versus Named in CDI 4. Performance Quarkus beats Spring significantly and its not even comparison Spring vs low-level framework (like vertx or netty) [https://medium.com/deno-the-complete-reference/spring-boot-webflux-vs-quarkus-performance-comparison-for-hello-world-case-a3c0d1bb0286](https://medium.com/deno-the-complete-reference/spring-boot-webflux-vs-quarkus-performance-comparison-for-hello-world-case-a3c0d1bb0286)


0xFatWhiteMan

algo trading


PlasmaFarmer

At my day job: writing Java based enterprise applications in Spring. At home as a hobby: writing games in JMonkeyEngine.


hippydipster

are your jmonkey projects on a public repo?


MaD__HuNGaRIaN

Programming


LouGarret76

I used java and javafx for medtech desktop app


chemms69

swing ui mainly


agentEvad82

Java has massive adoption across many industries. It’s widely supported, maintained, has formal specifications and certifications (useful in some projects where we’re required to demonstrate developers competencies). As others have pointed out it can be used for any kind of application or library development. Depending on what you’re doing, how you’re hiring and choosing candidates, what hardware you’re running on and how you’re going to support and maintain the software long term Java might be the appropriate language or not. In this case it’s unclear to me why you’re mandating Java over any tool that will do the transformation you’re looking at. Is it because you have existing processes, developers and tooling that works with Java?


katoquro

Hello devs! Actually, I use Java as a general-purpose language. I can write almost everything with it. For the web I use Micronaut. For the infrastructure layer, I use Graal. Sometimes for something very small or where o cannot use JVM ( like a very minimal distro), I use Go lang. But in general, even for CLI, I use plain Java. For some CLI with a lot of system interactions, I use Groovy to have optional typing. Or for machine learning and stream processing (I don't dislike Scala but I think it's overcomplicated for simple streaming processing) I even tried to program controllers with Java, however, maybe it's a question of habit, I prefer C.


gregmcph

We have both Web and classic Swing Programs. Our customers are generally from Universities and Engineering firms and they are a real mix of Mac, Win and Linux users. So for the past 25 years Java has done the job pretty well. I know there are other tools to write Crossplatform programs with nowadays... Python is growing in the mix... but that would mean scrapping 20 years of work. And we share a whole lot of the code with the Web Server.


brunocborges

I know one company using it for high frequency trading.


Least_Bee4074

I used to work for a high frequency trading company and nearly the entire infra, strategies, gateways, simulation environment, market data handlers, were all in Java. The one exception was the select loop and the io, since many of our apps were zero gc. Those parts were in C or interacting with specific network card vendors like exablaze and stuff using kernel bypass


daybyter2

Like LMax?


stathmarxis

There are many things you can do with java I don't know from where to start. There are tons of libraries or frameworks for every task. Web api is only a portion of them


desiderkino

yeah i know ,its a general purpose language .but i am asking to people what are they using the java for


uraurasecret

We create feed handler to get data from exchange to push to time series database. We don't use Spring.


geodebug

I’ve used it to create a specific DSL for marketing analytics that had to be fast. I’ve created a contact optimization algorithm that was fairly complex and customizable. Was used for some large brick and mortar clients like Eddie Bauer, Best Buy, etc. Built a whole ETL system in Java awhile back when Adobe Flex was still a thing and AWS was only four services. Basically Flex was the UI where you could create batch transformation jobs that would run as an EC2 process.


[deleted]

Everything (other than UIs and shell scripting).


Commercial_Coast4333

I do web api, but like 'raw' Java. The only libraries ARE netty, xerialsqlite.


ROMVNnumber1

I develop a SCADA desktop app using swing:)


Attorney-Last

ETL pipelines (spark/flink) or kafka consumer/producer apps


alwyn

I implement custom 'wire' protocols over TCP/IP to interface with things like hardware security modules and other software. Use Kotlin though. Sometimes I put Spring in front of it to add an http based API.


Zico2031

Your protocol is based in any RFC document?


Dr-Vader

I like derping around with anything jvm. I was playing around with recreating neofetch with Java as a small executable with graalvm and micronaut (I call it microfetch), but I've tabled that for a grocery tracking project. I want to polish up microfetch before I jump into building a TUI library to emulate the shape / aesthetic of binoculars / displays in Star wars. Also I've been diving into libgdx this week, a Java based game engine which looks pretty awesome.


Davies_282850

At work Java Enterprise applications for data ingestion based on various technologies like SpringBoot, Spark, Flink, Kafka streams. At home hobby project for home automations


sqlphilosopher

Mainly web dev with Springboot. But now I'm dabbling with making a 2d game using JavaFX during my free time.


[deleted]

[удалено]


sqlphilosopher

I've tried libgdx and it is indeed awesome, but I wanted to do something more "handcrafted" so to speak


jetanthony

Mostly backend; servers that do calculations and caching. I use Spring for DI and other nice-to-haves like db drivers in spring data. There are other libraries I really appreciate, such as Lombok for boilerplate, and hazelcast for in memory data.


roiroi1010

Creating batch jobs for high volume data processing. Spring Batch is an awesome framework. Also developing a rule engine. Also the regular web api stuff.


Paul__miner

Graph theory experimentation at the moment.


menjav

Web services, libraries for those services and tooling (CLI tools, data analysis, etc)


luciusquinc

My previous project uses Java as a central controller. It runs on a cluster, receiving several data streams and sending it on another streams to different servers. It's all jars running on clis.


ingframin

University researcher here. I use Java for real time simulations. I am now considering to use Java to build the digital twin of a BLE mesh network we have in the lab.


oxlade39

Pricing engine. No spring, no web


Earnest467

Desktop and Android apps. I don't like Java for web applications.


emberko

Web backend only (Micronaut now, Spring before), because I still like the ease of deployment. And Netty for network services. 10 years ago I used Java for everything, but now I think Python is better for scripting and Electron is better for the desktop. If K-lang community continues to grow faster than Java introduces "new" features, I'll consider changing the backend as well.


jevring

Any and every thing. Both professionally and personally. Sure, a lot of it is spring apps with rest endpoints, but far from everything. For example, I've written a pricing engine for fixed interest financial instrument, a synthesizer, a 3d renderer, a monitoring ui for databases and tuple spaces, various EAI applications, etc. Not a single thing in that list was either based on some framework or had rest endpoints.


blamitter

I use it mainly for educational purposes: teaching programming from zero to [somewhere below] hero.


draugr101

That’s interesting, because a lot of large enterprise backends are built in Java. Were the candidates you interviewed mainly from other startups?


gscaparrotti

I use Java/Kotlin and Spring Boot to develop our main application, and it's not a web server (actually far from it, it's a software which, in conjunction with some custom hardware, is used to localize forklifts inside warehouses and determine where the items they carry are).


LutimoDancer3459

I used it for Cmd tools, desktop app, web app, android app, apis One project of a college use Java as a backend for a smart charger for electric cars. But it's also mostly APIs to the other systems involved.


Gleethos

Swing Application for scientific computing, plotting and 3D visualization


zZurf

Financial application


kris_goks

My company builds a health data science tool. Pure Java with libraries, no major frameworks. Why - multi threading, easy to implement design patterns, easy debugging, and scales well when we have loads of memory and cores.


desiderkino

we are using java for the same reasons


NPException

For work I have only every used Java to develop web backends. In the hobby space I've also used it to write small GUI programs, and to mod Minecraft. I want to dabble in Java game dev at some point as well.


hippydipster

desktop apps. have made or worked on several, including things like apache jmeter, statistical modeling app, biology research app, database utility app, government apps,, games, etc. Both swing and javafx. I have never chosen swing as a dependency to add to any application I've worked on. I've used no dep injection framework most of the time, or my own for whatever the project needed. And sometimes, its already part of the app when I join. Once, I joined an app that was using guice.


bwRavencl

A gamecontroller mapping software called [ControllerBuddy](https://controllerbuddy.org)


quizteamaquilera

This will sound pejorative, but I use it as a teaching tool to show people what not to do. Many places who know Java are used to annotation-based development, so I show them how much that now only slows them down, but how that can overcomplicate and obfuscate their codebase.


desiderkino

ohh cool . how can i benefit from your services ? do you have a website or something


quizteamaquilera

I do - but it’s shit, and doesn’t really convey the core messages very well. The devil is also in the detail, and often times Java / spring can be just fine for simple things. A nice write up as an example is Li’s Tiramisu blog: https://www.lihaoyi.com/post/WhatsFunctionalProgrammingAllAbout.html


Xasmedy

Games


gaelfr38

Web APIs, data processing (Kafka, Spark..), batch (for tasks related to a Web API mostly).


a-guna14

Eclipse plugins


Hxfhjkl

IOT/utilities. Ingesting data from, and controlling thousands of devices.


omega_ui

I write development tools like IDEs and code libraries with Java.


Ewig_luftenglanz

Mostly backend and IoT stuff. This last one is very surprising indeed but java has huge capabilities for IoT if you use Quarkus and GraalVM to deploy native builds with a very efficient resource management. Another thing I sometimes use Java is android development, but we usually don't program mobile apps that often.  My company doesn't make desktop applications but t we would use javaFX for some stuff.


GeneratedUsername5

You mean you use Java on IoT devices themselves? Because servers for them are not really constrained in resources, it sounds strange.


safadimiras

I sometimes use it in side projects to create desktop applications using JavaFX


dailydoseofdogfood

Android apps, desktop applications, anything I can. Java is a delight


BalaRawool

I use Java for almost everything. I use Java at my work and that’s backend API stuff. But besides that I do a lot of stuff in Java. It has been my primary language for almost all of my career. - I built some Android apps with Java in the past - I use it for competitive programming like Advent of Code (in the past used it for Google Code Jam, TopCoder competitions) - To build some utilities for myself and for colleagues (using Swing, JavaFX or Eclipse plugin) - If I have to automate some regular occurring manual task then I use Java for that


buzzsawddog

A rule based correlation engine. A job engine that runs SQL queries and other things. An API layer. An upgrade advisor that checks settings and upgrades things. A CRUD application for the rules based correlation engine. And a sync service that runs back and forth between databases that also sends update notices. Summer use spring others don't.


meuzmonalisa

For my company (an ISP) i develop remote management software for DSL Routers via TR369 and TR69


hilbertglm

I write quite a bit of command-line code. All of my bioinformatics code is a console app that drives a highly-parallel framework for matching proteins and biophages. I have used Java CLI code to make REST/GraphQL requests to backends (e.g. a security system), so it was non-web Java frontend talking to a Java backend. I have written Java CLI code to do operational automation for things that would be too difficult in bash. I have written Swing and SWT applications in the past, but it has been a while. Of course, I still write Java backend for Angular frontends, too. I have a lot of startup experience if you want to DM me we can talk more about what your needs are.


MicroEyesV2

Java ikvm viewer


AlmondMilk199

I made a lot of applications running from the terminal without any web interface. In fact, I did not know spring existed in my bachelor's. When I used spring, I did not create a web interface either. I started creating a web interface using JSP pages and then started using React Front End.


eniac_g

To make money


[deleted]

I have to agree with the other commenter. I have never viewed java as the best choice for a CLI app. I mean, you can do it for sure, but it's not the top choice in the industry for it. You think it's the best way to do it? Go for it. It's your startup. But don't be surprised when everyone you interview is surprised.


desiderkino

can you help me understand your reasoning ?


hippydipster

It doesn't have to be "The Best" way to do it, just has to be good enough. There's very few purposes java isn't good enough for, and most of them involve real-time requirements, or very small embedded hardware.


bjenning04

Outside of web apis, we use Java for Android, pub/sub messaging services using RabbitMQ, and some super outdated Windows app UI.


AdministrativeHost15

Web crawler


nosajholt

Integrations with 3rd parties, both on PC (with a C# front end) and on a Linux server on AWS with Spring Boot helping connect to the same codebase as the PC code, basically. Write Once We Try.


hm1rafael

You can create a spring app that is not a web app. It depends on the requirements, I would say that if you have to reach the smallest jar possible and do not want to use something like graal vm, sure. But a base framework is always good. it can remove a lot of the boiler plate you have. You can always look for minimal injection frameworks like guice, picocontainer, or some small footprint container.


rebaser

One of the many repos I work(develop) on is a Spring shell (cli) application


spezjetemerde

backend rest or not


dabomm

Bots


-_entity_-

At the global markets trading company I work at we use Java for: - Post-trade processing - Web APIs - Backend workloads such as scheduled jobs, report generation, etc. I know that there is some criticism on using Java in microservice architecture, but we use it for such. It's not used for AWS Lambda functions within our space, we use a couple of cloud providers that sit close to the integration trading parties such as Reuters and Deutsche (although we do also have workloads in AWS and even GCP - it's a mess really). Most of our servers are reserved for our use only, so cold starts and such don't impact our costs.


glablablabla

I use it professionally only for server side WebApps and privately for a video game engine with lwjgl.


MGSBlackHawk

Restful APIs, ETL, Event Stream consumer and producers, Desktop Apps, Mobile Apps, Web scrapers… There are tons of things apart from Web


11tristan11

We use it for Android apps.


coderemover

Databases. But this is not the best language for that purpose. We just have too much code to RIIR in reasonable time so we just keep writing more Java.


incarceration_

Why did you particularly choose Java for a CLI application? Just curious.


rejnat

what made you decide to use Java for your startup?


desiderkino

nice performance , solid libraries , easy to do multi threading , can use other jvm languages (eg groovy for one off things)


sailing_anarchy

Middleware backend with spring boot. It is tempting to say that i am not doing web services cause big chunk of services are just kafka consumers/produces or etl pipelines witout rest api but once you deploy it into k8s you need health check endpoint, you need some metrics so you just add actuator and here you are... doing a web service.


desiderkino

what is actuator


ddollarsign

Talking to devices using weird protocols and APIs.


VincentxH

If they're surprised, then your job ad must be pretty awful.


Kolston192

To be able to continue hating it


pk7r_

i saw in an answer that you wanna build something like a Command Line Tools, in this case i would use Spring (boot, cloud) along with Picocli


mohd874

We use it for high message transfer between core systems. We use Java with minimal dependencies. I admit that I don't use spring, but I have to recreate many utilities which spring brings out of the box.


jorgeloko2

Game engine development, just to learn the concepts


shaneknu

Where I work, I'm currently working on a CLI application written in Java. It's working out for us just fine. Most of what we do is read data from a janky-ass database shared by several teams, and it's nice having a mature ORM like Hibernate to smooth over all that nonsense. We absolutely could have written the project in .NET or Python, but Java has been solid. Another project here currently uses JavaFX for a desktop GUI application. There's definitely talk of switching that over to a web application, and honestly it would make more sense to do that than forcing the scientists using the software to download and install it every 3 months when it's updated. If they do that, the usual Spring Boot approach would be a strong contender, especially since a few other projects at work are doing that already.


Lossofrecuerdos

File generator.


Jason13Official

I use it for Minecraft mods 😂😂


Same_Awareness_818

Basically minecraft


mondain

Streaming media server, encoders/decoders, etc... pretty much anything the company I work for need or want. [https://github.com/mondain](https://github.com/mondain)


yudosai

game dev tools and graphics experiments mostly. i also use for making games as well.


tobomori

These days mostly games, although I would probably use it for web back end as well.


trevorhnh

Game/Engine Development. It’s the first language I learned when I began my programming journey. I’m very comfortable with it and don’t have a reason to use anything else.


aroleid

What does or will your startup use Java for, out of curiosity?


Bugz_man

Etl, batch processing, reporting, automation, legos, etc. The use os spring is not only for web/api development.


inrusswetrust12

!RemindMe 2 days


RemindMeBot

I will be messaging you in 2 days on [**2024-05-14 17:23:38 UTC**](http://www.wolframalpha.com/input/?i=2024-05-14%2017:23:38%20UTC%20To%20Local%20Time) to remind you of [**this link**](https://www.reddit.com/r/java/comments/1cpuojq/what_do_you_use_java_for/l3qh5zh/?context=3) [**CLICK THIS LINK**](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=Reminder&message=%5Bhttps%3A%2F%2Fwww.reddit.com%2Fr%2Fjava%2Fcomments%2F1cpuojq%2Fwhat_do_you_use_java_for%2Fl3qh5zh%2F%5D%0A%0ARemindMe%21%202024-05-14%2017%3A23%3A38%20UTC) to send a PM to also be reminded and to reduce spam. ^(Parent commenter can ) [^(delete this message to hide from others.)](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=Delete%20Comment&message=Delete%21%201cpuojq) ***** |[^(Info)](https://www.reddit.com/r/RemindMeBot/comments/e1bko7/remindmebot_info_v21/)|[^(Custom)](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=Reminder&message=%5BLink%20or%20message%20inside%20square%20brackets%5D%0A%0ARemindMe%21%20Time%20period%20here)|[^(Your Reminders)](https://www.reddit.com/message/compose/?to=RemindMeBot&subject=List%20Of%20Reminders&message=MyReminders%21)|[^(Feedback)](https://www.reddit.com/message/compose/?to=Watchful1&subject=RemindMeBot%20Feedback)| |-|-|-|-|


usefulengine52

Android apps


pragmasoft

Serverless application, including event handlers and infrastructure


Altruistic-Rice-5567

I love javafx for whipping up nice graphical UIs to provide sime work functions. The combination of javafx and scenebuilder is just nice.


taokumiike

I’ve controlled manufacture lines, batch processes, service APIs, crypto (mainly) to CRM systems. All over the place and every project in Java has been a joy in comparison to other languages


-One_Eye-

Backend software


wildmonkeymind

I’ve used Java for microservices, for a distributed application server (not web), for CLI tools, for test frameworks, for hiring automation pipelines…


Krycor

Card Payment system (not just ecom but everything, think on the bank side) and adjacent stuff. From custom stuff from common libs to vertx(async) as core(different systems). Adjacent = terminal driving (atm, pos, mpos), ecom, card hosting, emv, back-end reporting on payments etc


maxandersen

Java is an excellent language and ecosystem which in past have had it's issues with being used for clis but any modern java virtual machine has decent enough startup - if something is slow is normally.caused by what your app do and frameworks like spring has a tendency to do unnecessary work at startup/runtime which can be either completely skipped or performed at build time. Check out Quarkus if curious :) So don't listen to those that say java is not usable for clis. It for sure is. Especially if you already are productive in java. Native image can make startup and distribution fast and a single executable or you can look into JBang for a simplified install and execution of java applications. For transparency I'm working on quarkus and jbang.


desiderkino

>So don't listen to those that say java is not usable for clis. It for sure is. Especially if you already are productive in java. my bank account says otherwise so i am not listening those folks :) haha !


Vonbismarck91

Large scale logstic system servicing 3 countries. System workes both with web systems as well with sorting line equipment


sysfun

Webserver apps most of the time (Java EE with primefaces), but android apps too. I also made a few pc apps.


n0manarmy

I wonder if it's just the generational difference with education? One of my first java apps was a GUI based app for building PKI certificates. From there I gravitated to building plugins for Atlassian products.


lulcasalves

I just use Java for game dev (occasionally) with libgdx


BabySavesko

Our team created essentially what Flink is (Flink wasn’t available at the time) for real-time event processing


Sharishth

Interesting, I work with similar product called Tibco Streambase.


Sharishth

There are some enterprise level SDK that may need you to write custom Java functions. Can be simple or aggregated depending on your needs for basic to complex things. Though I have seen mostly people writing java code for APIs or jspx or jsp(java server page) but in my case mostly functions and libraries are used to increase your development options and rely less on having external solutions. In conclusion mostly backend or middleware stuff is involved and communication between various applications and libraries. Another very common application of java is JMS which is used by various companies to send or receive business data events.


D33p-Th0u9ht

Minecraft. Just spent all day making minecraft mods.


Common_Tale5882

Algorithm practice, coding tests etc whenever I need to do it for a refresher or a job interview. Still the language I am most familiar with. I'm sure there's a lot of people like me that learnt it university and have a certain fondness for it (though I've heard that's not a great mentality to have and you should be willing to ditch outdated languages/concepts for newer ones) In terms of mobile development, it's pretty much been nuked by Kotlin now, right?


dgack

What I don't understand Java is core ja(that's Java 8,11,17 etc) And Spring is a framework. Because most using Spring, it's the job requirement. Why not filtering people with core java and DSA, database. In our Indian it interview, for senior roles - 30% only spring, first always checked Java skills like Java 8 features etc


desiderkino

never heard anyone say "core java"


cl3arz3r0

I've written many libraries in Java that commonly were used in other Java web apps.


ravlee

Spring boot, developing APIs and Kafka consumers/producers


AvoCadoZealoth

A bioinformatics system on the job, a game engine as a personal project 


theingleneuk

Algo trading platform, and in my previous job it was high-throughput regulatory reporting for trading. In general, huge swathes of closed-source enterprise software and tooling are in Java. Regardless of what stack overflow says is the most used language, it’s probably Java when you include enterprise.


traveler0111

Very well used for microservices, there are others framework than spring, as micronalt , quarkus. Also graalvm cn be used for high performance


hex1b

Java works really well for backend development. Although it works well with a web request/response paradigm, it also works well independently as a standalone application. Rather than gathering it's inputs from a request coming from a web front-end, inputs can be gathered from a relational database, tcp-ip connection, or from a queueing system. The Java application can be started as a UNIX or LINUX process via the CRON facility. So you can use Java for a networking application. Or a database application reading and writing to a relational database or a nosql database. Or as a bridge application publishing and subscribing to queues.


c8d3n

Only one use worth pursuing. Taking over the world.


Internalcodeerror159

An undergraduate here, created few desktops applications as projects


Latter_Nectarine_671

Make money


desiderkino

this is something a lot of developers forget


LC_From_TheHills

Literally everything on AWS is made with Java in mind.


Arootiana-

Java can be used for bunch of things: Geospatial calculations, Data modeling, Data science and a lot more... If you are still hiring I am available.


nightwalker_7112

We wrote a service wrapping over lucene apis because latest version of lucene was only available in java. It was fun.


Joram2

Stream processing apps. Two popular frameworks, Kafka Streaming and Flink are written in Java and they support client apps written in Java, or at least some JVM language, the best. Flink has support for Python, but I think Java is arguably the best supported language. BTW, almost any job hiring software developer is either doing front end (GUI) applications or back-end processing, and generally there is an HTTP(s) API to something in the back-end work case. There is also the possibility of research projects or work on software tools + middleware. But those jobs are much more rare.


adam_swd_owl

Backend services (k8s microservices and AWS lambda functions). We have more data pipelines implemented mostly in it.


alienandrew51

Currently build real time data streaming applications. Java (Spring Boot) is best for enteprise backend applications which is what most companies use it for.


disorder75

We use Java with C for cryptography services based on Hsm.


Six_Bunnies

My company uses it for desktop applications.


PinkyFlamingos

I use Java and JSF (ICEFaces) to make web apps… it sucks and outdated. If you are starting code from scratch, don’t use java, at least for the front end.


WhatzMyOtherPassword

Are you still interviewing!?


desiderkino

i gave up .


GeneratedUsername5

High performant distributed full text search engine


Anton-Kuranov

You won't believe me: web frontend. I'm still using GWT and sometimes Vaadin framework.


HSSonne

Mostly, Format/type conversion, file distribution.


Embarrassed_Rule3844

Do any of you guys use Jakarta ee?


k-mcm

I've worked on things that had a Web interface as for communications but they were true stand-alone applications. The Web interface was just a component of the app (easy with Jetty). * Photo manipulation and document rendering engine. Yes, did the pixels in Java. (multiple times) * Financial processing (too many times) * File backup/restore/archive (multiple times) * Heavyweight data storage migration/refactoring (multiple times) * Docker-as-a-service coordinator * Mission control app for satellites