It appears to me that recently, some developers have gone nuts. Like the ones sitting at Google. They don't seem to be interested in backwards or forwards compatibility, and are pushing out this incredible crazy development dependencies. As example, see below what I spent half of this day doing: I just wanted to debug CopperCube's Android client code on a newly bought phone. Should be easy, with a ready to run and working development environment, right? No:
- Me: trying to debug my code by hitting the 'Debug' button with the new device connected.
- ADT: "Device is offline! I cannot do anything."
- The internet says I need to update the Android SDK for this.
- I'm updating the Android SDK. Trying again to debug.
- Android SDK: "I don't run with this version of ADT. Please update!"
- ADT: "I won't work with this version of Eclipse. Please update Eclipse!"
- I'm updating Eclipse. It won't instead, it decides to hang or to crash randomly each time I try.
- I'm downloading a new version of Eclipse. Reinstalling. Then downloading and installing a new ADT for that Eclipse.
- ADT: "This plugin requires the build tools to be installed!"
- I'm downloading and installing the build tools. Together with about 15 other things the SDK Manager tells me to. This takes about 1 hour.
- Then, finally, I was able to debug my stuff again, after half a day of senseless updating and installing.
Dear developers: Did you ever hear about the term backwards compatibility? Or forward compatibility? The software I write has over 500 highly complex features (from calculating math on 3D GPUs, over running a web server to generating Android apps on the fly, or rendering realtime 3d reflection surfaces), will run on Windows 8 and 10, and while using some of that operating system newest features, it will still also run on Windows 95
. And you don't have to update each time you start that thing. It is not magic. You just don't have to be a lazy-ass developer, in order to make this possible.