Chris Angelico <ros...@gmail.com>: >> A software system is defined through its interfaces. > > And the most important interface is with a human.
I barely ever program anything for the human interface. > If you want to write single-platform code, go for it; but if you want > to write cross-platform code, the best way is to let someone else take > care of the differences, abstracting them away into a nice tidy thing > that we call a high-level language. You suggested most software should be platform-agnostic. Now you are qualifying the statement. But still, I challenge the notion that you could write a web site, game or application that feels natural on the XBox, iPhone, Windows PC and LXDE at the same time without significant amounts of platform-conditioned parts. > I don't need forking, file descriptors, or process IDs, to describe > how a person uses my code. Those are *implementation details*. Even if I programmed for the human and the UI experience were more-or-less identical between platforms, the system interfaces can be conceptually quite different. Heroic attempts have been made to overcome those differences with generic APIs. However, Python should stay out of that crusade. Whole programming cultures, idioms and "right ways" differ between platforms. What's the right way to write a service (daemon)? That's probably completely different between Windows and Linux. Linux itself is undergoing a biggish transformation there: an exemplary daemon of last year will likely be deprecated within a few years. Marko -- https://mail.python.org/mailman/listinfo/python-list