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
Hot swapping
(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!
=== Software development === {{Further information|Dynamic software updating|Interactive programming}} Hot swapping can also refer to the ability to alter the running code of a program without needing to interrupt its execution. [[Interactive programming]] is a [[programming paradigm]] that makes extensive use of hot swapping, so the programming activity becomes part of the program flow itself. Only a few [[programming language]]s support hot swapping natively, including [[Pike (programming language)|Pike]], [[Lisp (programming language)|Lisp]], [[Erlang (programming language)|Erlang]], [[Smalltalk]], Visual Basic 6 (not [[VB.NET]]), [[Java (programming language)|Java]] and most recently [[Elm (programming language)|Elm]]<ref>{{cite web|url = http://elm-lang.org/blog/Interactive-Programming.elm|title = Interactive programming β Hot-swapping in Elm|publisher = elm-lang.org|access-date = 2015-02-15|archive-date = 2013-10-06|archive-url = https://web.archive.org/web/20131006235603/http://elm-lang.org/blog/Interactive-Programming.elm|url-status = dead}}</ref> and [[Elixir (programming language)|Elixir]]. [[Microsoft Visual Studio]] supports a kind of hot swapping called Edit and Continue, which is supported by [[C Sharp (programming language)|C#]], VB.NET and [[C (programming language)|C]]/[[C++]] when running under a debugger.<ref>{{cite web|url=http://msdn.microsoft.com/en-us/library/bcew296c(VS.80).aspx|title=MSDN Article for Edit and Continue|publisher=Msdn.microsoft.com|access-date=2013-08-18|archive-date=2010-07-31|archive-url=https://web.archive.org/web/20100731042922/http://msdn.microsoft.com/en-us/library/bcew296c(VS.80).aspx|url-status=dead}}</ref> Hot swapping is the central method in [[live coding]], where programming is an integral part of the runtime process. In general, all programming languages used in live coding, such as [[SuperCollider]], [[TidalCycles]], or [[Extempore_(software)|Extempore]] support hot swapping. Some web-based frameworks, such as [[Django (Web framework)|Django]], support detecting module changes and reloading them on the fly. However, although the same as hotswapping for most intents and purposes, this is technically just a [[cache (computing)|cache]] purge, triggered by a new file. This does not apply to markup and programming languages such as [[HTML]] and [[PHP]] respectively, in the general case, as these files are normally reinterpreted on each use by default. There are a few [[Content management system|CMSes]] and other PHP-based frameworks (such as [[Drupal]]) that employ caching, however. In these cases, similar abilities and exceptions apply. Hot swapping also facilitates developing systems where large amounts of data are being processed, as in entire genomes in bioinformatics algorithms.<ref>{{cite journal | title = HotSwap for bioinformatics: A STRAP tutorial| year = 2006|publisher=Biomedcentral.com| doi = 10.1186/1471-2105-7-64| last1 = Gille| first1 = Christoph| last2 = Robinson| first2 = Peter N.| journal = BMC Bioinformatics| volume = 7| page = 64| pmid = 16469097| s2cid = 18283272| pmc = 1386713| doi-access = free}}</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)