Swift
ParadigmsDataflow, distributed, grid, concurrent, scientific workflow, scripting
DevelopersUniversity of Chicago,
Argonne National Laboratory
First appeared2007; 19 years ago (2007)
Stable release
0.96.2 / August 5, 2015; 10 years ago (2015-08-05)
Typing disciplineStrong
PlatformCross-platform: Java
OSCross-platform: Java
LicenseApache 2.0
Websiteswift-lang.org
Influenced by
C syntax, functional programming
Influenced
Cuneiform

Swift[1] is an implicitly parallel programming language that allows writing scripts that distribute program execution across distributed computing resources,[2] including clusters, clouds, grids, and supercomputers. Swift implementations are open-source software under the Apache License, version 2.0.

Language features

edit

A Swift script[3] describes strongly typed data, application components, invocations of applications components, and the interrelations in the dataflow between those invocations. The program statements will automatically run in parallel unless there is a data dependency between them, given sufficient computing resources. The design of the language guarantees that results of a computation are deterministic, even though the order in which statements executes may vary. A special file data type is built into Swift. It allows command-line programs to be integrated into a program as typed functions. This allows programmers to write programs that treat command-line programs and files in the same way as regular functions and variables. A concept of mapping[4] is used to store and exchange complex data structures using a file system structure with files and directories.

Rapid dispatch of parallel tasks to a wide range of resources is implemented through a mechanism called Coasters task dispatch.[5] A Message Passing Interface based implementation of the language[6] supports very high task execution rates (e.g., 3000 tasks per second)[7] on large clusters and supercomputers.

Area of applications

edit

Application examples:[7][8]

  • Energy modelling
  • Climate modelling
  • Economic modelling
  • Biochemical protein modelling
  • Magnetic resonance imaging (MRI) analysis in neuroscience
  • Glass structure modelling

See also

edit

References

edit
  1. ^ "Swift Home Page". swift-lang.org. Retrieved 2014-06-02.
  2. ^ Wilde, Michael; Hategan, Mihael; Wozniak, Justin M.; Clifford, Ben; Katz, Daniel S.; Foster, Ian (2011). "Swift: A language for distributed parallel scripting" (PDF). Parallel Computing. 37 (9): 633–652. CiteSeerX 10.1.1.658.8990. doi:10.1016/j.parco.2011.05.005. Archived from the original (PDF) on 2014-06-06.
  3. ^ Reference manual, chapter 2
  4. ^ Reference manual, chapter 3
  5. ^ Hategan, Mihael; Wozniak, Justin; Maheshwari, Ketan (2011). "Coasters: uniform resource provisioning and access for scientific computing on clouds and grids" (PDF). Proceedings Utility and Cloud Computing.
  6. ^ Wozniak, Justin M., Timothy G. Armstrong, Michael Wilde, Daniel S. Katz, Ewing Lusk, and Ian T. Foster. "Swift/T: Large-scale Application Composition via Distributed-memory Dataflow Processing." In Cluster, Cloud and Grid Computing (CCGrid), 2013 13th IEEE/ACM International Symposium on, pp. 95-102. IEEE, 2013
  7. ^ a b Wilde, Michael; Foster, Ian; Iskra, Kamil; Beckman, Pete; Zhang, Zhao; Espinosa, Allan; Hategan, Mihael; Clifford, Ben; Raicu, Ioan (2009). "Parallel Scripting for Applications at the Petascale and Beyond" (PDF). Computer. 42 (11): 50–60. doi:10.1109/mc.2009.365. S2CID 5271623. Archived from the original (PDF) on 2014-07-12.
  8. ^ Case studies on the official site

📚 Artikel Terkait di Wikipedia

List of programming languages by type

StreamBase StreamSQL EventFlow Swift (parallel scripting language) VEE VHDL VisSim Vvvv WebMethods Flow Data-oriented languages provide powerful ways to search

List of programming languages

Subtext SuperCollider Superplan SuperTalk Swift (Apple programming language) Swift (parallel scripting language) SYCL SYMPL T TACL TADS (Text Adventure

Swift

programming language developed by Apple Inc. Swift (parallel scripting language), a programming language for parallel computing developed at the University of

Swift (programming language)

Swift is a high-level general-purpose, multi-paradigm, compiled programming language created by Chris Lattner in 2010 for Apple Inc. and maintained by

Timeline of programming languages

of notable programming languages, by decade. History of computing hardware History of programming languages Programming language Timeline of computing

List of C-family programming languages

Programming Language Evolution". GitHub. 17 October 2021. "Swift Programming Language Evolution". GitHub. 17 October 2021. "The V Programming Language". "The

History of programming languages

JavaScript language rose rapidly to popularity because of its early integration with the Netscape Navigator web browser. Various other scripting languages

Source-to-source compiler

translates from a language like C to assembly or Java to bytecode. An automatic parallelizing compiler will frequently take in a high level language program as