3 ms·
Most of the reinvent-the-wheel functionality that Java implements exists to make up for deficiencies in Windows as an OS.
by herge 13y ago
Most of the reinvent-the-wheel functionality that Java implements exists to make up for deficiencies in Windows as an OS.
- jlgreco 13y agoIt seems to me that a strength of the Java should be it's ability to only reinvent-the-wheel where necessary, and simply provide a thin compatibility layer over existing wheels on systems that already had them. I mean, they already have different low-end implementations of "draw this shit onto the screen" for X and Windows..
- huherto 13y agoYou have to make implementations in all plataforms to make sure that they behave exactly the same way.
- jlgreco 13y agoYes, that is right. So use the tzinfo on systems where it exists, and restrict the more complex implementations of the same interface to systems where it does not (Windows).
- untog 13y agoBut how can you rely on tzinfo and your custom implementation behaving the same? How do you know what version of tzinfo you're running against? What if it changes? The expensive, costly answer is to rigorously test each version and keep up to date with every change on an external dependency managed by a organisation you have no control over. The other answer is to just use your package everywhere.
- herge 13y agoIf you have to support common functionality on operating systems ranging from Window XP to Windows 8 (so a 12 year range), and deal with all the bugs within, along with most unix systems, you would start implementing a lot of things yourself.
- thwarted 13y agoThere was no wheel to reinvent here, the tzinfo data files could have been installed on Windows. They didn't reinvent a wheel, they built a jalopy when there was a perfectly usable high speed rail going to their destination already available. Really, the tzinfo files could have been distributed with Java, and then linux packages could have removed them and symlinked the paths where java expects them to where they are actually installed.