41 karma · joined June 30, 2024
Granted, the maintainers are more inclined to deprecate and remove parts of the API than has historically been the case but it is mostly obsolete things like applets. And you may need to keep a close eye on runtime flags and their effects.
I was briefly what is now called a developer-in-test on Sametime after Lotus Development bought them. I was untrained in C++ so my bug reports for that API were frequently closed with the comment "No".
We worked at Lotus Development, but we weren't from Iris or even in the USA. Notes was the golden goose & the risks from leaks were judged too high.
You guess correctly. Java was easy for C++ developers to learn which was beneficial for adoption at the time.
The software was released on 7 platforms, not counting multiple Windows versions. I don't know the risks or what platforms changes impact today or the test effort involved. I expect "it's still functioning as expected" was the default.
Different era, but shades of the Half Life 2 leak.
This brings back some (unpleasant) memories.
But otherwise I admire the minimalism.
[0] https://docs.oracle.com/en/java/javase/17/language/records.h...
Scotland, Northern Ireland & the rest of the world play by different rules.
I worked on network management software, the kind of software that runs on out of band networks that are unlikely to ever need IPv6. In the beginning IPv6 was a required feature for sales but it was accepted that no one was going to use it so little effort was put into testing it. More recently, it HAS to work. It is being used in anger internally in large telecoms companies.
I expect adoption to proceed at a glacial pace until some tipping point. Consumer ISPs will be the last to adopt it.
> There's a phrase people sometimes use about a nation's collective reaction to events like Pearl Harbor -- war fever. We don't know what a true war fever feels like today, since nothing in our recent history compares with it; even a popular war like the gulf war was preceded by months of solemn debate and a narrow vote in Congress approving military action.
I was unfamiliar with the author but when I read this bit I started hunting for a publication date - 1997.
If paralysed by consumer choice I would lean on Which?[0] magazine which is run by the Consumers' Association charity. Perhaps there is something similar in your geography.
> In my student time. There was a shop where we bought "Beer", "Cognac" or "Vodka", with corresponding simple labels.
This reminds me of the grocery store in the film Repo Man[1] which had a few digs at consumerism. I prefer to know where my alcohol is from & who made it but I pass no judgement.
[0]https://en.wikipedia.org/wiki/Which%3F [1]https://en.wikipedia.org/wiki/Repo_Man_(film)
I spent a decade writing element management systems. An element is a network device - switch, router, ROADM, etc. Often you give the customer kit & software and they spend a couple of years assessing it. This software would be installed on secure out of band networks with no route to the internet. 10/8 would have been adequate for the lifetime of the hardware currently in service - 200G stuff. However, that's not how things played out.
When I started working on EMS software IPv6 support was a requirement but it was just a box ticking exercise. No one was actually going to use it. A decade later IPv6 HAD to work for northbound and southbound traffic, on an internal network. Otherwise, no sale. IPv6 is being used in anger in telecoms. I have no idea how long that will take to filter to in band networks.
The locals had painted the domes in bright colours as a sort of added tourist attraction.
The choice expression is intended to account for different I18N language conventions. Imagine a language where pluralization works differently to none/one/plural. If you don't work on localized applications you can mostly ignore the MessageFormat type.
MessageFormat is often used in conjunction with ResourceBundle and properties files. The string is likely externalized and distributed to translators. That's probably not the case for String.format strings.
In real life you would typically just have "File count: " and concatenate a number. Translators weren't wild about it but they could work with it. Translators are typically not programmers and many would break any complex expression.
All the types in java.text are a bit archaic. They are basically impossible to reuse in a thread-safe manner. MessageFormat delegates a bunch of other Format instances. There's a lot of parsing and state there. Time zone handling is awkward.
I agree about the error-prone nature of this approach. I have written a library[0] that verifies MessageFormat syntax in properties files at compile time and generates typed methods for each property.
"It's strings aren't even mutable." - some C++ programmers.