backwards-compatibility

How do you balance the conflicting needs of backwards compatibility and innovation?

I work on an application that has a both a GUI (graphical) and API (scripting) interface. Our product has a very large installed base. Many customers have invested a lot of time and effort into writing scripts that use our product. In all of our designs and implementation, we (understandably) have a very strict requirement to maintain...

How to compile classes to JDK1.5 when ant is running in JDK1.6

My development environment is running in JDK1.6, and I need to compile some classes so they are compatible with a client running JDK1.5. How would I do this with the 'javac' ant target? ...

How good is Mootools backward compatibility?

A coworker of mine has had issue with Mootools being backward compatible and I was wondering if anyone else had noticed this? He said that his main problem was when trying to using the drag and drop functionality offered in an older version. I never really looked into it myself, but when I mentioned it when asking the same question for ...

How important is backwards-compatibility?

When you are considering an upgrade in a development tool, how important is backwards-compatibility to you? Would you still purchase Visual Studio 2010 if it required significant changes to your source code? Where is the tipping point for you in terms of trading backwards compatibility for new features? ...

jQuery Graceful Degradation

I want to spruce up some areas of my website with a few jQuery animations here and there, and I'm looking to replace my AJAX code entirely since my existing code is having some cross-browser compatibility issues. However, since jQuery is a JavaScript library, I'm worried about my pages not functioning correctly when JavaScript is turned ...

Ensuring a Program Written for 32-bit Windows is Compatible with 64-bit Windows

While it's my understanding that there's no fundamental reason a program written for 32-bit hardware / OSs not to run on 64-bit hardware / OSs, in practice, I've found many programs intended for 32-bit versions of Windows that will not work on 64-bit versions of Windows. Examples include a number of popular security utilities (most prod...

What are the main syntax changes in Ruby 1.9?

Also, I'm wondering what effect upgrading to Ruby 1.9 would have on legacy code from version 1.86. Is the new version backwards compatible? ...

How much time and effort should a project spend on backward compatibility?

Given that every software project only has so many programmer-hours dedicated to it, how much would you spend on making sure the product is backward compatible with the previous versions? Actually there are several points to consider: Does the age of the software affect your decision? Will you invest less time in backward compatibility...

How to announce backward incompatible changes in OSS project?

Sometimes you need to introduce backward incompatibile changes, when the improvements far outweighs the downsides. It is possible to easily switch to old behavior, but the user must be aware of such changes. Therefore the question is: how to announce future backward incompatible changes to FLOSS (open source) project, so that users can ...

When should you break backwards compatibility?

I hate capricious projects that change at the drop of a hat. I hate projects which are overly complex trying to maintain backwards compatibility. Where is the balance? When maintaining a project, what should one take into account when deciding to break backwards compatibility or not? How much effort should one put into conversion util...

SQL language differences between MSSQL 2000 and 2005

My company has an application developed for SQL Server 2005 (among others), and a potential client is attempting to install it on SQL Server 2000. Naturally, installation failed. Specifically, it failed with syntax errors in our CREATE TABLE statements. Is there a summary of the language differences between these two databases? ...

Serialization of classes containing generics with backwards compatibility

Hi, I am trying to find out the best way to handle serialisation in my program. I want to serialize private fields (so XML serializer is no option) I want to serialize generic types like Bindinglist (SoapSerializer is no option) I also want to provide some level of support for being able to deserialize object from previous versions of ...

Question about backwards compatibility of jquery

I know jquery have backwardscompatibility files. But if you link to this specific version: http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js you don't need backwardscompatibility files. I want to know if http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js also is going to work with newer browserversions. Then ...

DataContractSerializer: why not remove members?

I was reading Microsoft's Best Practices: Data Contract Versioning, and they state: Do not remove data members in later versions, even if the IsRequired property was left at its default property of false in prior versions. Can anyone suggest any reason for this? They don't elaborate. Since they say it's fine to add data members in ...

Handling new library features in old applications

We are working on a new library version that contains some UI controls that are used by other applications. Some of these controls have new features that the old applications don't know about. We will disable the new features by default, but there are specific apps for which we'd like to enable them. The apps are likely to exist on th...

10.5 base SDK, 10.4 deployment: how to implement missing methods

I have a project that targets both Mac OS X 10.4 and 10.5, where 10.5 is the base SDK. Some methods like -[NSString stringByReplacingOccurrencesOfString:withString] are unavailable in 10.4. I could just implement the functionality by hand. Another option would be to implement the method as a category, but that would mess with the 10.5 i...

What Java designs are explicitly done to support backwards compatability?

Since this question is back to four votes to close, I'm trying again to ask a more narrow question that hopefully the community will view more favorably. Which specific design decisions in Java are documented to be done the way that they are not because that was the preferred design decision, but rather because it was necessary to suppo...

Compiling Java code written for 1.5 to work with 1.4 JRE?

I have a project that uses generics and a few Java 1.5/6 bits and pieces. Is it possible to compile this code to work on a system running a 1.4 JRE? I use an ANT build script and javac task to compile the library. This builds fine while the target attribute is 1.5. If I change the target to be 1.4 I get the following error: generics a...

How to provide for IPC API backward compatibility

I am designing a (SOAP-like) inter-process communication protocol for making function calls over a network. I want to make sure an older client can talk to a newer server. After thinking over it for a while, it seems like the only thing I can do are: avoiding API changes make it possible to add functions make it possible to add functio...

How backwards compatible is php 5 with php 4?

Hello everyone, I work on a code base written in php 4. I'd like to go through the process of upgrading the code to php 5 (the latest version my host provides). I'm wondering if anyone else has gone through a similar upgrade experience and can share what gotchas/pitfalls there are, what has to change in my code, what is not backwards co...