Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Backward compatibility
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Usage== ===In hardware=== A simple example of both backward and forward compatibility is the introduction of [[FM broadcasting|FM radio]] in [[stereophonic sound|stereo]]. FM radio was initially [[monaural|mono]], with only one audio channel represented by one [[signal (electrical engineering)|signal]]. With the introduction of two-channel stereo FM radio, many listeners had only mono FM receivers. Forward compatibility for mono receivers with stereo signals was achieved by sending the sum of both left and right audio channels in one signal and the difference in another signal. That allows mono FM receivers to receive and decode the sum signal while ignoring the difference signal, which is necessary only for separating the audio channels. Stereo FM receivers can receive a mono signal and decode it without the need for a second signal, and they can separate a sum signal to left and right channels if both sum and difference signals are received. Without the requirement for backward compatibility, a simpler method could have been chosen.<ref>{{citation|title=Newnes Radio and RF Engineering Pocket Book|first1=Steve|last1=Winder|first2=Joseph|last2=Carr|edition=3|date=2002|publisher=Newnes|isbn=9780080497471|pages=121β123}}</ref> Full backward compatibility is particularly important in computer [[instruction set architecture]]s, two of the most successful being the [[IBM]] [[IBM System/360|360]]/[[IBM System/370|370]]/[[IBM System/390|390]]/[[z/Architecture|Zseries]] families of mainframes, and the [[Intel]] [[x86]] family of [[microprocessor]]s. IBM announced the first 360 models in 1964 and has continued to update the series ever since, with migration over the decades from 32-bit register/24-bit addresses to 64-bit registers and addresses. Intel announced the first [[Intel 8086]]/[[Intel 8088|8088]] processors in 1978, again with migrations over the decades from 16-bit to 64-bit. (The 8086/8088, in turn, were designed with easy [[source-to-source compiler|machine-translatability]] of programs written for its predecessor in mind, although they were not instruction-set compatible with the 8-bit [[Intel 8080]] processor of 1974. The [[Zilog Z80]], however, was fully backward compatible with the Intel 8080.) Fully backward compatible processors can process the same [[executable|binary executable software instructions]] as their predecessors, allowing the use of a newer processor without having to acquire new [[application software|applications]] or [[operating system]]s.<ref>{{citation|title=Computer System Organization|author=Naresh Jotwani|publisher=Tata McGraw-Hill Education|date=2009|pages=320–324|isbn=9781259081217}}</ref> Similarly, the success of the [[Wi-Fi]] digital communication standard is attributed to its broad forward and backward compatibility; it became more popular than other standards that were not backward compatible.<ref>{{citation|title=Next Generation Wireless LANs: 802.11n and 802.11ac|first1=Eldad|last1=Perahia|first2=Robert|last2=Stacey|date=2013|publisher=Cambridge University Press|isbn=9781107016767|chapter=Foreword}}</ref> === In software === {{See also|Binary-code compatibility|DLL hell|Opaque pointer}} In software development, backward compatibility is a general notion of interoperation between software pieces that will not produce any errors when its functionality is invoked via [[API]].<ref name=":0">{{Cite web |last=((etc1M)) |date=2019-12-18 |title=Backward Compatibility in Software Development: What and Why |url=https://www.redstar.be/backward-compatibility-in-software-development-what-and-why/ |access-date=2023-05-13 |website=Red Star IT |language=en-US}}</ref> The software is considered stable when its [[API]] that is used to invoke functions is stable across different versions.<ref name=":0" /> In operating systems, upgrades to newer versions are said to be backward compatible if executables and other files from the previous versions will work as usual.<ref>{{Cite web |title=What is Backward Compatible? |url=https://www.computerhope.com/jargon/b/backcomp.htm |access-date=2023-05-13 |website=Computer Hope |date=December 31, 2022 |language=en}}</ref> In [[compiler]]s, backward compatibility may refer to the ability of a compiler for a newer version of the language to accept source code of programs or data that worked under the previous version.<ref>{{cite book|url=https://archive.org/details/xslt20programmer0000kaym|url-access=registration|page=[https://archive.org/details/xslt20programmer0000kaym/page/123 123]|quote=forward compatibility.|first=Michael|last=Kay|title=XSLT 2.0 Programmer's Reference|publisher=Wiley|date=2004|isbn=0-7645-6909-0}}</ref> A data format is said to be backward compatible when a newer version of the program can open it without errors just like its predecessor.<ref>{{cite book|title=What is a Good Standard?|chapter-url=http://www.w3.org/People/Bos/DesignGuide/compatibility.html|chapter=Backwards Compatibility|first=Bert|last=Bos|date=2003|access-date=July 12, 2016|archive-date=March 11, 2016|archive-url=https://web.archive.org/web/20160311205921/http://www.w3.org/People/Bos/DesignGuide/compatibility.html|url-status=live}}</ref>
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)