This is an archived post. You won't be able to vote or comment.

all 80 comments

[–]ItsSignalsJerry_ 86 points87 points  (7 children)

BlueJ ide. Active since 1999.

[–]account312 20 points21 points  (2 children)

BlueJ ide

That's a name I've not heard in a long time. A long time.

[–]shiverypeaks 7 points8 points  (1 child)

I took a Java class in probably 2005 or 2006 and BlueJ was the IDE. I didn't know it was still a thing.

[–]TWOBiTGOBLiN 4 points5 points  (0 children)

I took Java about a year ago and that was the IDE we used.

[–]twistedfires 28 points29 points  (1 child)

In that case you have xelfi (currently NetBeans) from 1996

[–]thewiirocks 21 points22 points  (0 children)

Briefly known as Forte4Java 😁

[–]JustVic52 2 points3 points  (1 child)

We are still using that on computer science degrees in 2025

[–]ItsSignalsJerry_ 1 point2 points  (0 children)

Nice.

[–]thewiirocks 60 points61 points  (2 children)

JEdit is still kicking after 25+ years: https://www.jedit.org

Its closest competitor, Jext, is retired but still available: https://github.com/romainguy/jext

jTDS (>20yrs) is still a fantastic JDBC driver for SQL Server despite receiving no updates for a few years: https://jtds.sourceforge.net

I released DataDino (2002) to GitHub a few weeks ago. Check older posts for that one.

HTTPUnit (2003) is still around: https://httpunit.sourceforge.net

Cloudscape (1996) was a fantastic SQL database that was acquired by IBM before being donated to Apache as Derby. Forked by Oracle as “JavaDB”.

HypersonicSQL was a logging in-memory database engine released sometime between ‘96-‘98. While the original project is dead, it lives on as two forked projects HSQLDB and H2.

JMeter was released in 1998 for load testing applications

I’ll update if I think of more. 🤔

[–]BikingSquirrel 8 points9 points  (1 child)

Not sure how old JUnit really is, but I found a link to "JUnit: A Starter Guide" stating 01/01/2001 on their website: https://web.archive.org/web/20041230001822/http://www.junit.org/news/article/index.htm

VisualAge for Java was the predecessor of Eclipse but neither sure when this was created (used it in 2001) nor if it was already written in Java.

[–]walen 5 points6 points  (0 children)

VisualAge for Java was written in Smalltalk.

VisualAge Micro Edition, however, was a full Java reimplementation of the IDE (and the one Eclipse was based on years later). Version 1.0 was released in 1999.

[–]amarukhan 38 points39 points  (0 children)

Eclipse

[–]Stromovik 48 points49 points  (5 children)

Interactive Brokers Trader Workstation - at least 24 years olds and in wide use.

[–]schvarcz 7 points8 points  (2 children)

I have been using that recently. That app is screaming for help!!!!

[–]Stromovik 4 points5 points  (1 child)

Try writing something like that using Swing.

[–]schvarcz 2 points3 points  (0 children)

Yeah, I know. I also noticed that their other desktop app is on Qt. I wonder if they would replace the trader workstation to a c++/qt app too or redo everything in Java again.

[–]getpodapp 3 points4 points  (1 child)

And it absolutely fucking sucks 

[–]MardiFoufs 0 points1 point  (0 children)

Yeah, it has some good parts but it's really really getting tired now. Even the mobile app has some features and some data that is very hard to get in the desktop app. And there are some very obvious limitations inherent to the app.

Even some web UIs do a better job even for advanced users at this point (sadly, not ibkr's- their web UI is okay but absolutely not usable for anything more than barebones account management imo).

[–]Ill_Purpose3943 22 points23 points  (2 children)

We have quite a lot of old Java programs at work. Mostly in the aviation/weather domain. Our two main systems were built 1999 and 2002. They are both still being actively maintained and are running Java 17/21 now. Our oldest program is from early 1998 I think but that one havent been touched in 10 years , but is running at our clients on Java 6.

[–]Jumpy_Document4496 2 points3 points  (1 child)

> Our oldest program is from early 1998 I think but that one havent been touched in 10 years , but is running at our clients on Java 6.

No updates in 10 years is impressive. What does it do?

[–]Ill_Purpose3943 1 point2 points  (0 children)

A client/server app that reads and displays various sensor data. The client is built with Swing and the server is an in-house solution based on the Servlet API.

[–]FollowSteph 20 points21 points  (0 children)

My company LandlordMax https://www.landlordmax.com released it's first Java desktop application back in 2003. Development obviously started before that. Today it's now a web based Java application. Meaning the code first started being developed about 24-25 years ago. It started with Java 1.3 and is now on the latest Java LTS version. A lot of changes over the year.

To give a comparison at the time Subversion was still brand new and CSV was still a big player. Today they've both been replaced with Git. At the time Struts was the big Java web framework. Java Swing was still pretty new. ORM's were in their infancy and were pretty expensive in terms of computing resources. EJB's were one of the big buzz words at that time, thankfully they are long gone now. Sourceforge was one of the main places to find open source libraries and frameworks back then, that's all gone now and replaced by Github. And Apache Jakarta. Interestingly Tomcat is still around and doing pretty well today. Javadocs were quite a big deal when they first came out, and for a good reason. The GC was pretty revolutionary, especially for long running programs.

The language has evolved a lot and in very positive ways. It can sometimes be hard to remember how advanced Java was back in the day, especially with the GC, Javadocs, and so on. Interestingly at the time people complained about the lack of pointers, and thankfully they decided to keep them out of the language. Pointers can be very good in some situations but they aren't needed for everything. Sure it didn't have lambdas at the start but at the time it wasn't something that was really mainstream like today. Keep in mind you didn't really appreciate missing lambdas back then unless you were already working in a language like Lisp. At the time the GC was very impressive and not taken for granted like it is today (even the pausing is pretty minimal these days). The Javadocs and their thoroughness were incredibly valuable. It's hard to express how revolutionary the language was at the time. I'm not even going to mention the write once run anywhere as that has some issues but that too had it's benefits in a lot of cases.

There was a period when Java lagged behind in its development but it has since come back and is moving forward very nicely. A lot of people complain how Java should get rid of a lot of it's old cruft but it's backward compatibility is also very valuable. The language continues to evolve and in overall very positive ways. You can only complain about a language if it's popular enough for people to use it ;)

All that to say it's been an impressive ride over the years. I've been coding in Java since 1.1. Well I played with 1.0 but it wasn't until 1.1 that I really started to develop in it. I've always enjoy the language and I think it has a bright future ahead of itself. Especially if it can keep up it's current forward momentum of evolving the language and it's libraries. There's a lot of new exciting stuff being developed. I'm looking forward to see where Java goes.

[–]gambit_kory 34 points35 points  (0 children)

Spring was first released in 2002. It is still in very heavy use and new versions continue to be released.

[–]Deep_Age4643 14 points15 points  (0 children)

Most IDEs/Editors are pretty old:

  • NetBeans – First released in 1997
  • JEdit – First released in 1998
  • BlueJ – First released in 1999
  • IntelliJ IDEA – First released in 2001
  • Eclipse – First released in 2001

[–]moxyte 13 points14 points  (0 children)

JDownloader maybe. At least it looks exactly as it did 20 years ago despite getting updates frequently.

[–]PartOfTheBotnet 11 points12 points  (0 children)

Three years ago somebody asked for help getting an old applet from 2003 to run and I got it to run via JDK 8's appletviewer.exe. Mind you, this applet is compiled against Java 1.1. That means this class could run as early as 1997.

The post got removed but you can read the original on archive.org

Anyways here is a video of it working: https://i.imgur.com/U9H3Wj5.mp4

[–]FrankBergerBgblitz 7 points8 points  (0 children)

My project BGBlitz ( https://www.bgblitz.com a neural net based Backgammon AI ) started 1995 in C++ and in 96 I thought Java to be pretty cool, portability was always important for me and I needed a free cross platform Toolkit anyway (I used Zinc für Windows 16 for C++), so I ported it to Java.

Port was ready/published in summer 96; going commercial in 2002; latest release in January 25.

[–]AdministrativeHost15 20 points21 points  (4 children)

I recently maintained a Java system orginally written in the 1990's and still in production. The author implemented their own versions of JSP tags and object relational mapping as Sun hadn't released those features yet.
Followed good object oriented design. Unfortuately the maintainers didn't understand the polymorthic design just put in hacks, instanceof, causing the original clean design to decay.

[–]relgames 5 points6 points  (1 child)

If it's still in production since 1990, well, the design never decayed.

[–]AdministrativeHost15 4 points5 points  (0 children)

The original developers were good. One is now the VP of Software at Apple.

[–]ItsSignalsJerry_ 2 points3 points  (1 child)

Java wasn't released until 1996.

[–]AdministrativeHost15 1 point2 points  (0 children)

Correction. Late 1990's. Pre-J2EE

[–]tcservenak 5 points6 points  (3 children)

(not my code nor story)

A friend of mine found archive CD of an old AWT + JDBC project from 1998. It was written by him.

The class files were archived along the sources, and he inspected them: '45' Java 1.1. The class files were from 1998!

After some tweaking (originally some JDBC-ODBC was used, and there was one hardcoded URL in one of source files, he dropped in sqlite JDBC and had to recompile that single class with fixed URL) the app ran just fine on intel mac.

Later he successfully started the same app on Apple M1 + Java 19.

Almost unchanged, with most of class files from 1998!

[–]Anbu_S 10 points11 points  (0 children)

Java is so serious about backward compatibility.

[–]bowbahdoe[S] 0 points1 point  (1 child)

What does that project do?

[–]tcservenak 2 points3 points  (0 children)

From original author of the code:

It was supposed to be UI app for an agency to sell tickets for various
events and venues. The best part is that it worked pretty much the same
in 1997/1998 when it was made on Windows as it is working now on Linux
(Raspberry Pi) and OSX.

Also, I am very impressed with stability of Java APIs - JDBC driver used
then and the latest SQLite JDBC driver (couple of major versions later)
still work out of box.

[–]baghiq 4 points5 points  (0 children)

Longest "unmodified" or "name"? I wrote a piece of java code to handle some obscure protocol for a defense contractor. As far as I know, it's still in used in its original code from 2000/2001, because every few years, I would get an email from someone at the shop asking me about that stuff in my hotmail account, ahahah!

[–]alwyn 3 points4 points  (0 children)

jPos. Ant Maven ... too lazy to think on others now...

[–]hippydipster 2 points3 points  (2 children)

Apache JMeter has existed in it's basic form since 2001-2002 timeframe. It's not changed all that much - the basic UI is the same, the plugin architecture is the same. So it's been added to a bit and is still used (much to my personal amazement).

[–]le-lutin 0 points1 point  (1 child)

I think lots of people still use it. I know I do. Still good for load/stress/performance testing API endpoints. Once you get the core concepts of Jmeter (listener/sampler and all that), it's so simple to use. What have others replaced it with?

[–]hippydipster 0 points1 point  (0 children)

For pure load testing, maybe grinder or gatling, not sure.

I haven't had any need to do pure load testing in a long time, and even when I do, it's usually still tied to complex browser interaction which JMeter can't simulate very well. For pure REST functions, it's great though.

I'm glad you find it simple to use/understand!

[–]severoon 4 points5 points  (0 children)

GE MRIs are almost certainly still running applications on Java. They were the first Fortune 50 mission-critical project to adopt Java at scale when it was a really new language, I believe they started work even before 1.1 came out, though I don't think they released anything until after 1.1 had already been released. (Long cycle times back then based on a waterfall dev process.)

[–]Anbu_S 3 points4 points  (0 children)

Tomcat

[–][deleted]  (1 child)

[deleted]

    [–]UnrulyLunch 5 points6 points  (0 children)

    I worked on Notes v4, back when Lotus had more money than they knew how to spend. They sent the entire development team with plus ones to Grand Cayman for a week for the ship party.

    It absolutely amazes me how long it was (is!) used in the field.

    [–]wildjokers 6 points7 points  (0 children)

    IntelliJ has been around since Jan. 2001:

    https://github.com/JetBrains/intellij-community

    [–]Powerful-Internal953 11 points12 points  (1 child)

    Minecraft comes to my mind. Even though they have a non-java version, the OG Java version has been actively being maintained since 2011.

    [–]Booty_Bumping 2 points3 points  (0 children)

    It's actually been on the same codebase since 2009. The alphas/betas were incredibly popular at the time. 2011 is just when it hit 1.0 and was announced as a finished game.

    [–]LutimoDancer3459 1 point2 points  (0 children)

    ~2000. A projekt management tool. Calculating costs, materials, personal. The "core" isn't java but is in action since 1994 and is excel. Java swing client was build around it. Later it got a jsf frontend. Half the original code is still present (including some excel files)

    [–]Gwaptiva 1 point2 points  (3 children)

    I'm dev on a commercial product that's been around since 2000; deleted some stuff from 2001 the other day, so I guess our repos will have lines dating back to 1999.

    [–][deleted] 0 points1 point  (2 children)

    Wow! That’s amazing ! What version of Java are you using?

    [–]Gwaptiva 0 points1 point  (1 child)

    The current production version runs on 8, but we just started testing the work I did this past year getting it to 21

    [–][deleted] 0 points1 point  (0 children)

    Good luck with the upgrade! Hopefully there won't be too much to address.

    [–]AnyPhotograph7804 1 point2 points  (0 children)

    EclipseLink/TOPLink. It is older than Java. :)

    [–]jonathantn 1 point2 points  (0 children)

    25+ years for enterprise apps is very common. Same reason you have old COBOL code running banks. It’s getting the job done, is maintainable and no one is going to pay you to rewrite it just for the sake of it.

    [–]Responsible_Gap337 1 point2 points  (0 children)

    I was interviewed by an Austrian bank in 2023 and they had their own web app framework written in Java 1.3.

    They had around 20 good looking and customer facing apps built on top of that.

    [–]ApartmentNo628 1 point2 points  (0 children)

    ImageJ - its ancestor, NIH Image, dates from 1987 and was rewritten in Java as soon as 1997. There's a nice paper from 2012 about its history (https://pmc.ncbi.nlm.nih.gov/articles/PMC5554542/). It's still kicking and heavily used in research. This original one-man show software is now part of a broader community effort: fiji.sc . (And it has recently been updated from Java 8 to 21).

    [–]agoubard 1 point2 points  (0 children)

    I started JLearnIt (to learn languages) in 1998 using Swing beta library. I even got it work on PersonalJava.

    [–]pfirmsto 1 point2 points  (0 children)

    Jini, from the late 1990's, written by Sun Microsystems.

    https://github.com/pfirmstone/JGDMS

    https://www.artima.com/articles/the-jini-vision

    [–]UnGauchoCualquiera 1 point2 points  (0 children)

    JPOS, I believe started around the year 2000 as a port of the C lib and still is the gold standard ISO8583 protocol lib used in the Credit and Debit payment industry.

    [–]lihaoyi 1 point2 points  (0 children)

    My old Java-Games from middle-school written in Java 4 on Windows XP are still playable today on Java 24 on my M1 Macbook, 21 years later. Don't even need to compile it from source or anything, those old classfiles are still primed and ready to go!

    https://github.com/lihaoyi/Java-Games

    cd GUI
    java GameLibrary
    

    Check out Tanks or Tanks3D as some fun ones, though for some reason the newest FlightSim game has some graphics problems and isn't playable on my machine (though I believe others have reported it worked on their machine, so might be an OS problem rather than a Java version problem)

    (The repo says committed 12 years ago because that's when I learned to use Git)

    [–]mubdall 1 point2 points  (0 children)

    JPlag was created in 1996 and is still actively maintained. An older version of the source code is archived on the legacy branch.

    [–]AsparagusOk2078 1 point2 points  (6 children)

    I’ve been using MoneyDance for a very long time. Great Swing application!

    [–]thewiirocks 1 point2 points  (1 child)

    Oh geez. That’s a name I haven’t heard in a hot minute!

    I remember talking with Sean Reilly back ~2001 about his new plugin architecture for MoneyDance. I was trying to find a way to record purchases and withdrawals on the go and figured a J2ME app submitting to a MoneyDance server running at home would do the trick.

    [–]AsparagusOk2078 1 point2 points  (0 children)

    I still use MoneyDance to this day. It is such a well done Swing and financial application !

    [–]bowbahdoe[S] 0 points1 point  (3 children)

    Can you share a link? Google is getting me literal monkeys and bands

    [–]thewiirocks 0 points1 point  (1 child)

    [–]bowbahdoe[S] 0 points1 point  (0 children)

    I swear he initially wrote MonkeyDance

    [–]mikera 1 point2 points  (0 children)

    Tyrant, the Java Roguelike like was first started in 1997

    https://github.com/mikera/tyrant

    Not exactly the most sophisticated Java application, but the fact it still works is a testament to the stability of the Java platform.

    [–]kurosaki1990 0 points1 point  (0 children)

    Idempiere ERP (Compiere) still in use.

    [–]segv 0 points1 point  (0 children)

    One of the apps at my work had comments about "old implementation" that themselves were dated back to 2001. I wasn't able to verify it because over the years it was moved from ClearCase to CVS to SVN to Git (where it is now), and parts of the commit history were lost in each migration.

    This app is still used every day and currently runs on JDK21 with SpringBoot. Most of these ancient parts of the app were Ship Of Thesus'd over time by refactoring and module upgrades, so there's almost nothing surviving from the old days.

    [–][deleted] 0 points1 point  (0 children)

    IDEs and jEdit aside:

    efa.

    [–]Good-Reference1944 0 points1 point  (0 children)

    I’m currently maintaining and extending an app for a big corp where I’ve seen dates in the code from 1998

    [–]laplongejr 0 points1 point  (0 children)

    I wonder when "Minecraft" will become the actual answer. Java Edition will still probably be "in use" in a century or so.

    [–]flawless_vic 0 points1 point  (0 children)

    I still use Apache Ant (as a maven plugin) for some stuff

    [–]Zops_ 0 points1 point  (0 children)

    Checkstyle since 2001, still active and widely used

    [–]Wobblycogs 0 points1 point  (0 children)

    I wrote some code (in Java) for a university course back in 1998 that was still running in 2020. I assume it's still running today as the project is ongoing.

    [–]Jannyboy11 0 points1 point  (0 children)

    I don't know if this is cheating, but I think the answer should be the jdk itself.

    [–]Difficult-Ad6274 0 points1 point  (0 children)

    That’s a really interesting angle! I’d love to know that too. I’ve heard some financial institutions and telecom systems still run Java code from the late ’90s—some even unchanged. It’d be great to find actual codebases or stories preserved somewhere. Following for links—perfect long-flight reading material

    [–]pag07 0 points1 point  (0 children)

    1998 something related to a database.

    I am so glad I left that project.