Hacker News new | past | comments | ask | show | jobs | submit login

It 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..




You have to make implementations in all plataforms to make sure that they behave exactly the same way.


Yes, 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).


But 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.


If 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.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: