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
AppleScript
(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!
{{distinguish|Apple (programming language)}} {{Short description|Scripting language for macOS}} {{Use mdy dates|date=March 2020}} {{Infobox programming language | name = AppleScript | developer = [[Apple Inc.]] | year = {{Start date and age|1993}}<ref name="Cook 2006"/> | paradigm =[[Natural language programming]], [[Scripting language|Scripting]] | typing = [[weak typing|Weak]], [[dynamic typing|dynamic]] | latest_release_version = 2.8<ref>[[Apple Inc.]] (2022). [[Script Editor]] (Version 2.11). Retrieved November 11, 2022.</ref> | latest_release_date = {{start date and age|2014|10|16}}<ref>{{cite web|url=https://www.theverge.com/2014/10/16/6978157/mac-os-x-yosemite-release-mac-app-store-october-16th|title=OS X 10.10 Yosemite release date|date=October 16, 2014|access-date=November 16, 2014}}</ref> | operating_system = [[System 7]], [[Mac OS 8]], [[Mac OS 9]], [[macOS]] | license = [[Proprietary software|Proprietary]] (parts available under [[Apple Public Source License|APSL]]) | website = {{URL|https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide}} | influenced_by = [[Natural language programming|Natural language]], [[HyperTalk]] | file_ext = .scpt, .scptd, .applescript }} '''AppleScript''' is a [[scripting language]] created by [[Apple Inc.]] that facilitates [[automation|automated control]] of [[Mac (computer)|Mac]] [[application software|applications]]. First introduced in [[System 7]], it is currently included in [[macOS]] in a package of automation tools. The term ''AppleScript'' may refer to the scripting language, to a script written in the language, or to the macOS [[#Open Scripting Architecture|Open Scripting Architecture]] that underlies the language.<ref name="Goldstein">{{cite book |last=Goldstein |first=Adam |title=AppleScript: the missing manual |location=Sebastopol, CA |publisher=[[O'Reilly Media]] |date=2005 |isbn=0596008503 |oclc=56912218 |url=https://books.google.com/books?id=-ynfWvkwzpwC}}</ref><ref name="Sanderson">{{cite book |last1=Sanderson |first1=Hamish |last2=Rosenthal |first2=Hanaan |title=Learn AppleScript |chapter=Interacting with the Unix Command Line |date=2009 |pages=863β896 |edition=3rd |location=Berkeley |publisher=[[Apress]] |isbn=9781430223610 |oclc=308193726 |doi=10.1007/978-1-4302-2362-7_27 |url=https://books.google.com/books?id=_40AkCe9nOUC}}</ref> AppleScript is primarily a mechanism for driving [[Apple events]] {{endash}} an [[Inter-process communication|inter-application communication]] (IAC) technology that exchanges data between and controls applications.<ref name="Goldstein"/><ref name="Sanderson"/> Additionally, AppleScript supports basic calculations and text processing, and is extensible via [[#Scripting Additions|scripting additions]] that add functions to the language<!--to the language? or to the environment?-->. AppleScript is tightly bound to the Mac environment, similar to how [[Windows Script Host]] is bound to the Windows environment. In other words, AppleScript is not a general purpose scripting language like [[Python (programming language)|Python]]. One way that AppleScript is bound to the unique aspects of its environment is that it relies on applications to publish ''dictionaries'' of addressable objects and operations. As is typical of a command language, AppleScript is not designed to directly perform intensive processing. For example, a script cannot efficiently perform intensive math operations or complicated text processing. However, AppleScript can be used in combination with other tools and technologies which allows it to leverage more efficient programming contexts. The language has aspects of [[Structured programming|structured]], [[procedural programming|procedural]], [[object-oriented programming|object-oriented]] and [[natural language programming|natural language]] programming, but does not strictly conform to any of these [[programming paradigm|paradigms]].<ref name="Sanderson"/>{{rp|xxvi}}
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)