ActionScript: Difference between revisions

Content deleted Content added
Template:Infobox programming language, WP:REFerence WP:CITation parameters: respaces, cut whitespace characters to standardize, aid work via small screens, needless underscores > spaces, reorders, update-standardize-conform. WP:LINKs: update-standardize, adds, needless WP:PIPEs > WP:NOPIPEs. Adds: Template:Official website, MOS:COMMENT, WP:CATEGORY.
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5) (Eastmain - 23915
 
(7 intermediate revisions by 6 users not shown)
Line 7:
| paradigm = [[Multi-paradigm]]: [[Object-oriented programming|object-oriented]] ([[Prototype-based programming|prototype-based]]), [[Functional programming|functional]], [[Imperative programming|imperative]], [[Scripting language|scripting]]
| family = [[ECMAScript]]
| released = {{Start date and age|1998}}
| designer = [[Gary Grossman]]
| developer = [[Macromedia]] (now merged into [[Adobe Inc.|Adobe Systems]], 2005)
| released = {{Start date and age|1998}}
| latest release version = 3.0
| latest release date = {{Start date and age|2006|06|27}}
Line 17:
| influenced by = [[HyperTalk]], [[JavaScript]], [[Java (programming language)|Java]]
| influenced = [[Haxe]], [[TypeScript]]<ref>{{Cite web |last=Nelson |first=Gary |date=28 April 2020 |title=How ActionScript foreshadowed TypeScript |url=https://javascript.plainenglish.io/how-actionscript-foreshadowed-typescript-149cdb764de9 |access-date=9 July 2022 |website=Medium |language=en}}</ref>
| website = {{URL|www.adobe.com/devnet/actionscript}}<!-- www.adobe.com/devnet/actionscript/articles/actionscript3_overview.html -->
}}
{{Infobox file format
| name = ActionScript
| extension = .as
| mime = application/ecmascript<ref>{{IETF RFC|4329}} (limit compatible with EcmaScriptECMAScript)</ref>
}}
 
'''ActionScript''' is an [[Object-oriented programming|object-oriented]] [[programming language]] originally developed by [[Macromedia]] Inc. (later acquired by [[Adobe Inc.|Adobe]]). It is influenced by [[HyperTalk]], the scripting language for [[HyperCard]].<ref>{{cite web|url=http://www.zdnet.com/blog/government/apples-lost-decade-hypercard-and-what-might-not-have-been-if-apple-then-was-like-apple-is-today/10185|archive-url=https://web.archive.org/web/20110421072519/http://www.zdnet.com/blog/government/apples-lost-decade-hypercard-and-what-might-not-have-been-if-apple-then-was-like-apple-is-today/10185|url-status=dead|archive-date=April 21, 2011|title=Apple's lost decade, HyperCard, and what might NOT have been if Apple then was like Apple is today|work=[[ZDNet]]|date=2011-04-17|access-date=2014-12-04}}</ref> It is now an implementation of [[ECMAScript]] (meaning it is a superset of the syntax and semantics of the language more widely known as [[JavaScript]]), though it originally arose as a sibling, both being influenced by [[HyperTalk]]. ActionScript code is usually converted to [[bytecode]] format by a [[compiler]].
 
ActionScript is used primarily for the development of websites and software targeting the [[Adobe Flash]] platform, originally finding use on [[web page]]s in the form of embedded [[SWF]] files.
Line 142 ⟶ 141:
var txtHello: TextField = new TextField();
txtHello.text = "Hello World";
addParentthis.addChild(txtHello);
}
}
Line 292 ⟶ 291:
 
==Code protection==
Like most [[bytecode]] file formats, Flash [[SWF]] files can be [[decompilation|decompiled]] into their source code and assets (similarly to how [[.NET Framework|Microsoft .NET]] files can be decompiled). Some decompilers are capable of nearly full reconstruction of the original source file, downapproximate to the actual code that was used during creation (although results vary on a case-by-case basis).<ref>{{cite web |url=http://www.flashmagazine.com/reviews/detail/review_trillix_flash_decompiler_3/ |title=Third party review of another decompiler |publisher=Flashmagazine.com |date=October 21, 2007 |access-date=April 22, 2013 |archive-url=https://web.archive.org/web/20170620134350/http://www.flashmagazine.com/reviews/detail/review_trillix_flash_decompiler_3/ |archive-date=June 20, 2017 |url-status=dead}}</ref><ref>{{cite web |url=http://www.topshareware.com/reviews/10386-1/flash-decompiler.htm |title=Customer comments on one Flash decompiler |publisher=Topshareware.com |access-date=April 22, 2013 |archive-date=November 8, 2016 |archive-url=https://web.archive.org/web/20161108235827/http://www.topshareware.com/reviews/10386-1/flash-decompiler.htm |url-status=dead }}</ref><ref>[http://www.macupdate.com/reviews.php?id=11541 Customer comments on another Flash product] {{webarchive |url=https://web.archive.org/web/20060818085731/http://www.macupdate.com/reviews.php?id=11541 |date=August 18, 2006}}</ref>
 
In opposition to the decompilers, ActionScript [[obfuscated code|obfuscators]] have been introduced, which transform code into a form that breaks decompiler output while preserving the functionality and structure of the program. Higher-quality obfuscators implement lexical transformations such as identifier renaming, control flow transformation, and data abstraction transformation which collectively make it harder for decompilers to generate output likely to be useful to a human. Less robust obfuscators insert traps for decompilers. Such obfuscators either cause the decompiler software to crash unexpectedly or to generate unintelligible source code.{{Citation needed|date=March 2021}}
Line 330 ⟶ 329:
<!-- Hidden categories below -->
[[Category:Articles with example JavaScript code]]
[[Category:Statically typed programming languages]]