Live data from Hacker News

I found one of my first programs (Java, 2011) on the Wayback Machine and it runs

github.com

181–190 of 193 posts

Re: I found one of my first programs (Java, 2011) on the Wayback Machine and it runs

#181
post #65

The Internet Archive is (IMO) one of the most important endeavours of our time. Consider donating: https://archive.org/donate

I normally echo this sentiment, and I can easily imagine an outcome through which the money could pay for lawyers, but in the ongoing discussion about their court case https://news.ycombinator.com/item?id=40201053> there was a comment that predicts any money they get is just going to end up in the pockets of Hachette when they eventually lose :-(

I recognize this is a very pessimistic take but ... for consideration

Re: I found one of my first programs (Java, 2011) on the Wayback Machine and it runs

#182
I also found mine! The first program I wrote (aged 13) was in 1991 - it was “RADBench” a program for the Commodore Amiga that created a slimmed-down workbench that lived on a RAD disk (like RAM but survived a soft reboot). Meant you could use your computer without having to reinsert the disk containing the main OS binaries whenever you wanted to do anything.

I distributed it via public domain shareware listings - back then you had to send them off to a distributor and they would advertise their apps in the major computer magazines.

I used to get royalty cheques in the post! Which I think I spent on sweets.

Turns out most of the shareware from back then has been archived online so I was able to get it running again on an Amiga emulator and read all the immature embarrassing stuff that a 13 year old kid thinks belongs in a ReadMe… ;-)

Re: I found one of my first programs (Java, 2011) on the Wayback Machine and it runs

#183

Earlier quoted context omitted.

They rebranded Java 1.x as Java SE x, then later just Java x.

No, it's way more confusing than that. They started with Java 1.0 and 1.1 - then to "Java 2" at version 1.2, so you have Java 2 version 1.2 ... they then stuck with that through the version after 1.4 - but rather than 1.5, that was special as it was Java 2 version 5.0 ... thereafter they're just numbered with the plain number.

> thereafter they're just numbered with the plain number.

    $ java -version
    java version "1.8.0_391"
    Java(TM) SE Runtime Environment (build 1.8.0_391-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 25.391-b13, mixed mode)
¯\_(ツ)_/¯

Re: I found one of my first programs (Java, 2011) on the Wayback Machine and it runs

#184
post #183

Earlier quoted context omitted.

No, it's way more confusing than that. They started with Java 1.0 and 1.1 - then to "Java 2" at version 1.2, so you have Java 2 version 1.2 ... they then stuck with that through the version after 1.4 - but rather than 1.5, that was special as it was Java 2 version 5.0 ... thereafter they're just numbered with the plain number.

> thereafter they're just numbered with the plain number. $ java -version java version "1.8.0_391" Java(TM) SE Runtime Environment (build 1.8.0_391-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.391-b13, mixed mode) ¯\_(ツ)_/¯

Oh, that's the JRE software version - that's completely different from the language version.

For the JRE, I want to say that they stuck with the 1.version.minor numbering (although the last version with a minor other zero was I think the Very Popular And Probably Still In Prod 1.4.2), with updates suffixed with "u" + number through the Java 8 series, but then with 9 they switched to version.minor.update instead.

It's completely incomprehensible; not even Oracle can keep it straight.

Re: I found one of my first programs (Java, 2011) on the Wayback Machine and it runs

#185
post #79

Not to be snarky but 2011 is yesterday for programming, no major shift. I'd imagine almost all code written there would be able to run today.

In the Java world, sure. Other programming language ecosystems tend to have tons of churn. For an anecdote, every TypeScript project I find from 2021 or earlier is simply impossible to build nowadays, meanwhile the ClojureScript code I dealt with in a previous job was able to survive 8 years worth of updates to libraries and the core language. I frequently ran into code that was last modified around 2013 because it j…

> In the Java world, sure.

While 2011 Java certainly still runs today, 2011 Java is Java 6, which probably looks quite a bit different than the Java you'd write today. Not "different language" different, but different enough, especially with lambdas, and if you're doing anything with multithreading, or like to use functional-style streams APIs.

(I remember when generics came out in Java 5... now that did make it look a bit like a different language.)

Re: I found one of my first programs (Java, 2011) on the Wayback Machine and it runs

#186
post #48

Earlier quoted context omitted.

stuff written for java 0.9 (1996), even with the default package (no namespaces), still runs normally. 2011 is past java 7.

compile once -- run forever! Seriously though, this seems to be due to happenstance (well, commercial interest motivating great continuous engineering effort), rather than by design (forward-thinking) though; unlike, say, IBM's Technology Independent Machine Interface of AS/400.

> rather than by design

Remember, Java came from Sun. Backward compatibility was an absolute requirement at Sun for nearly everything. Compatibility is hard-baked-in to the culture.

Oracle plays more loose, but a lot of the people are still around.

Definitely by design.

Re: I found one of my first programs (Java, 2011) on the Wayback Machine and it runs

#187
I've recently dug up some of my first "larger" scale projects that I implemented in the early 2000's, including compiled executables, which managed to run unmodified on modern Windows.

That is an achievement in compatibility.

It was 2 demos of my game engine project, one compiled in late 2001 and the other in 2002 based on the exe file timestamps. They used Win32 and OpenGL, and surprisingly work faster on my laptop with integrated graphics than on my beast desktop PC.

Re: I found one of my first programs (Java, 2011) on the Wayback Machine and it runs

#188
post #48

Earlier quoted context omitted.

stuff written for java 0.9 (1996), even with the default package (no namespaces), still runs normally. 2011 is past java 7.

compile once -- run forever! Seriously though, this seems to be due to happenstance (well, commercial interest motivating great continuous engineering effort), rather than by design (forward-thinking) though; unlike, say, IBM's Technology Independent Machine Interface of AS/400.

bit late on "by design" party - java 'binary' (not source, which is easier) compatibility is an exceptionally important feature. E.g. changing method signature like void x(int val) to void x(long val) does break the binary compatibility and it means the original method has to be preserved, potentially as something like void x(int val){x((long) val);} - which just calls the new method by casting val. It some cases the original method might be marked as deprecated.

There are countless examples of such a behavior.

Re: I found one of my first programs (Java, 2011) on the Wayback Machine and it runs

#189
post #73

Earlier quoted context omitted.

There's nothing more permanent than a temporary fix put in while waiting for a permanent fix for a problem.

We have a saying for that in Greek: Ουδέν μονιμότερον του προσωρινού "Nothing more permanent than the temporary"

In Norwegian we have the (made up, but widespread) word 'Permasorisk' (a mangling of permanent and provisorisk) to describe a solution which is by no means meant to be permanent, but solves the original problem well enough that there no longer is a need for the permanent solution...

Re: I found one of my first programs (Java, 2011) on the Wayback Machine and it runs

#190
post #4

The first major piece of code that I ever wrote was a publishing workflow management system for a major newspaper. It routed page images to presses and generated pdfs of each page in each edition of the newspaper and made pdfs of each day's newspaper editions and published them to a static website where they were archived. I was only allowed to use perl 4 to write this software and I wasn't allowed to use a database,…

> It is used by hundreds of people daily, who by all reports absolutely hate it.

This made me chuckle because as a software development intern in 1988 (being paid like $8 an hour) I wrote a giant monstrosity of a time tracking program for a local CAD company in an Empress database using its forms builder interface. It was in use for far longer than anyone ever intended and whenever I ran into someone from that company years later they would tell me how bad it was. Sorry guys!

Post reply on HN