13 ms·
Without Flash the current web tech stack might look different
- turnspike 9y agoI still haven't forgiven Madobe for killing Macromedia Director - a thousand hours of my work lost. It taught me a valuable lesson about the importance of Open Source - protect your investment from the caprice of a single corp.
- rlanday 9y agoOpen source projects are guaranteed to be maintained forever?
- nerdponx 9y agoThey're easier to fork.
- Groxx 9y agoAlso you can pay someone entirely unrelated to fix things, if the need arises. Try doing that with closed-source software.
- shitgoose 9y agoand abandon.
- PhasmaFelis 9y agoAnd fork again.
- hn_throwaway_99 9y agoWhile of course open source projects can be abandoned, too, in my experience I've seen it much more likely that products, even good, profitable products, are often quickly abandoned if the company deems them no longer "strategic".
- Keyframe 9y agoDirector (when we all had a stint with INTERACTIVE CD-ROMs in the 90's) and FreeHand taught me that lesson. M'Adobe, tips hat - in both cases.
- DaiPlusPlus 9y ago> caprice of a single corp. There was no sudden-change: they kept on maintaining Director, years after its main use-cases (kiosk applications, magazine cover demo disc launchers and CD autoplay software) stopped being relevant. If my experiences at other software companies are anything to go by: Adobe's staffers probably wanted to open-source it but were held back by licensed third-party components. I haven't seen any true Director Shockwave content on the web since the original Shockwave.com - it was a handful of games that today could be built in JavaScript without any trouble.
- deleted 9y ago[deleted]
- turnspike 9y ago> There was no sudden-change Yep, it was death by neglect rather than violence. Shockwave was much more powerful than Flash for gamedev, it had true 3D baked in and fantastic audio and video support - in 2001. IIRC lack of a timely OSX version killed it. Arguably it was the same neglect of the Flash plugin on Mac that partly caused Apple to deep-six iOS support, decimating Flash's marketshare.
- cpeterso 9y agoAdobe knows how to milk cash cow products. They only just stopped selling Director in February 2017.
- notwedtm 9y agoI had very similar feelings a few years ago. Flash defined what we now know as the web. Without it, it'd be completely different. http://wedtm.com/2015/02/01/thank-you-flash/ http://wedtm.com/2015/02/01/thank-you-flash/
- lsmarigo 9y agoNot just flash, I'm a die-hard fireworks user and was still using it up until a few years ago, much better than PS for quick web stuff (99% of what I was doing). Was a sad day for consumers when Adobe bough them out, before they had to compete with improvements and new features for market share. I still use Adobe Fireworks regularly over Photoshop.
- devdoomari 9y agohow does adobe fireworks compare to adobe illustrator?
- lsmarigo 9y agodifferent use cases, illustrator is better for heavy vector based stuff like logo design but for quick/fast hack jobs fireworks is best.
- DaiPlusPlus 9y agoAre you thinking of Macromedia FreeHand? FreeHand was a vector art editor to compete with Adobe Illustrator. Macromedia Fireworks was a raster editor like Photoshop, but was heavily geared towards "web graphics" (think: Adobe ImageReady). It had neat features such as text templating, integation with Dreamweaver, and decent sub-pixel positioning. I used it from 2001 until 2005. I felt it was primarily for making websites using now-obsolete techniques like tables-for-layout, spacer.gif, and using heavily manually-optimized graphics and techniques to achieve effects that CSS was not yet capable of. I may be wrong, but I don't believe Fireworks changed much since the Adobe acquisition, ensuring its declining relevance in the post-CSS3 web world.
- virtualwhys 9y agoI've got an ancient Windows 2003 server VM that I keep around just for Fireworks. Not sure about PS, but even this circa 2001 version of Fireworks blows Gimp out of the water in terms of ease of use and basic image manipulations.
- lsmarigo 9y ago
- jugg1es 9y agoI feel as though the author missed talking about Flex, which really took flash to the next level. It was short-lived, as it came a few years before the end of Flash-as-we-know-it when Steve Jobs decided to block it - but it was a great way to build sophisticated SPA's before the javascript ecosystem was able to catch up. Thanks Flash!
- nneonneo 9y agoI taught an introductory UI programming course using Adobe Flex - very easy for beginners to pick up and start building functional UIs with minimal code complexity. Too bad it isn't used more in the real world - it really is a fantastic prototyping tool.
- sillysaurus3 9y agoit came a few years before the end of Flash-as-we-know-it when Steve Jobs decided to block it I forgot about that. Does anyone have any info about this? I didn't pay much attention at the time, but in retrospect it seems like it was one of the main reasons everyone stopped using flash. Did Adobe try to get Steve to pay a licensing fee, or was he just inherently against implementing flash? The excuse Steve made at the time was that it was too CPU intensive to run flash. I'm not sure how true this was, except for the earliest iPhone models. I've always wondered what the real reasons were. It was certainly a good decision in retrospect, but it's an interesting bit of history.
- dangerbird2 9y ago> Did Adobe try to get Steve to pay a licensing fee, or was he just inherently against implementing flash? Aside from security issues others have mentioned, Early iPhones employed HTML5 as the only 3rd party app API: no flash, no java, not even native Objective C apps. The only reason Apple opened up the Cocoa API to 3rd party developers was because HTML at that time was insufficient for powerful offline experiences (only recently has tools like services workers made deploying offline apps via browser HTML possible). Many would argue Apple's exclusive embrace of modern HTML on its phone was pretty helpful in ensuring HTML5's success accross all platforms.
- smaili 9y agoOne thing I recently discovered that is very cool is Adobe's Alchemy (later called FlasCC and then CrossBridge) which is able to generate SWFs from C++. Not too much documentation can be found around it but it certainly intrigued me to realize you could bring your C++ applications to the browser (assuming Flash is installed/enabled)!
- christinamltn 9y agoI used that for a project where the core business logic was shared with an iOS app (which was fairly simple but verbose C++ generated from CSV files provided by a researcher). Alchemy wasn't very well documented initially but worked just fine once we got it working. It integrated with the Flash code nicely. Saved me a ton of time when updating the two platforms and testing the changes.
- cpeterso 9y agoAlchemy didn't take off, in part, because Adobe tried to charge Flash developers royalties to use the Alchemy and Stage3D APIs.
- mortenjorck 9y agoFlash was the great motivator for browser vendors to improve [their] technology Flash was the first technology to really compete with the open web. That competition (which went both ways, mind you; recall such late excesses as Flash's Text Layout Framework) ultimately made the web stronger and more versatile. It's hard to imagine what the world might look like today had that fire never been lit under the web standards movement.
- merdreubu 9y agoAt the same time it's not hard to imagine how much better the world would be today if Macromedia was not sold to Adobe, and Adobe was not scared into abandoning Flash by the concerted efforts of Apple, Microsoft and the web standards zealots.
- acdha 9y agoAdobe wasn't scared in to abandoning Flash, they just stopped investing in in the early 2000s. Nothing prevented them from cleaning up the warts, adding an automatic updater a decade earlier, taking security seriously, investing in performance, etc. Part of why the HTML5 group got so much traction was that everyone else realized that the web's rich application platform couldn't be a company which wasn't serious about maintaining it.
- StillBored 9y agoThe question is, do any of the existing web stacks come close to the beginner friendly aspects of the original flash? I don't think so.. I can imagine any of my musician friends installing $FRAMEWORK and building a web site full of their own animations, menu's, and music playback.. Flash for all its "evilness" still IMHO hasn't been matched.
- code_duck 9y agoThe authoring software was user friendly but sites made that way were atrocious in terms of usability in every way possible. Slow loading and also everything else about a browser didn't work as expected - bookmarking, back button, cut and paste, open in new window were all broken in flash sites. I don't think that it's laudable to create a tool that empowers beginners to create useless and difficult websites.
- BatFastard 9y agoIndeed, lets condemn everyone who creates easy to use and powerful tools! I think everyone prefers pain in the ass tools and don't do much, this is the best way to protect the holy order of coders. Long live shitty tools!!!
- kbenson 9y ago> Indeed, lets condemn everyone who creates easy to use and powerful tools! Easy to use, powerful and proprietary. As a consumer, flash sites were often horrible. Get a few minutes into using it, find out that there's a bug keeping you from advancing any farther in exploration and your task, so you need to reload. Oh good, you have to start from scratch again because it's not actually using URLs to keep track of your location. Want to know how to find a manual on a manufacturer's site? Oh, good, they used flash, so their site isn't indexed correctly by any search engines, and you have to navigate their poor idea of what made a good UI in 1995. Flash was good for media delivery. For everything else, it just broke how the web was expected to work.
- hobs 9y ago
- dyarosla 9y agoI think what Flash (the program) really excelled at was giving creators the ability to draw, animate and program interactive objects, all wrapped in a single neat package. I would contest that no other software, even today, has come close to being able to do these three so seamlessly at once (Really, I encourage you to try to name one!) Sure, when it came down to it you can say it had poor performance, security, filesize bloat (all things that were fixable or you could work around). But in reality, it allowed for developers to create amazing things in a fraction of the time it would take in any other environment. As for myself, I've moved on to OpenFL and Haxe. It's fast, it's lean, it's cross-platform, it's open source... but it's still not the same.
- m-j-fox 9y agoI think security was not fixable, at-least not to the user's and browsers liking. You had to disable flash for safety and stopping the most annoying ads. The other issues could be left to consenting adults. But browsers and IT departments turned against plugins in general. Now even Java is almost gone (from browsers) for the same reason.
- dyarosla 9y agoI think Flash screwed up security because of the way users could control what Flash had access to (through a Security Sandbox Controller on the Macromedia/Adobe website) Imagine that instead Flash went the way of App Permissions: asking users for permission to access, read, and write different things to the browser. Could you imagine? Advertisers wouldn't be able to pull as many annoying/shady things, and security would start to become a non-issue. If anything, Flash gave developers too much freedom at first to tap into the browser. Then they tried to backpedal by adding more sandboxing rules that still connected to their awkward security manager. And so, advertisers contently continued on abusing all the ways they could get their ads to become as intrusive and in your face as possible, and people began to be angry with Flash because of it.
- lowbloodsugar 9y agoWasn't the problem was zero day exploits in the flash player?
- deleted 9y ago[deleted]
- bowmessage 9y agoAuthor: you have a typo in your header. "Programming and Developmetn Environment"
- trzeci 9y agoThanks :)
- synja 9y agoActual content creators have a much different perception of flash than IT administrators, chinstroking tech bloggers and the inventor of Javascript.
- danso 9y agoI did pretty well for myself building galleries and interactives in Flash and Actionscript; it was not just a good learning experience, but a more stress-free implementation compared to getting JavaScript to work cross-browser. I was still doing AS work into 2009. For me, it wasn't the inevitable obsolescence from iOS that caused me to quit, but an Edward Tufte seminar in which I saw that static visualization could be just as compelling as interactive ones, and a lot easier for end users to figure out.
- orixilus 9y agoI feel old reading this thread
- adamredwoods 9y agoAdobe Animate CC (aka FlashCC) can compile directly to HTML5 canvas, and allow code injection. It has the same troubles with mp3 and mp4 as browsers do, and requires knowing some "tricks" (like how to double the canvas scaling for retina), but it's an adequate tool.
- sayelt 9y agoStockholm Syndrome at its finest.
- zwetan 9y agoAbout the open source AVM2, there are in total 3 versions: The tamarin project on Mozilla mercurial with tamarin-central [0] and tamarin-redux [1] Then after the project got abandoned, Adobe renamed it to avmplus and moved it to github [2] and made a couple updates. Later on, they moved it to another repo [3], updated it on December 2015 to the equivalent of Flash Player v19.0 and updated it again on Mars 2016 to the equivalent of Flash Player v20.0 (codename rankin). I maintain a fork/extension named redtamarin [4] which focus mainly on adding native API to make ActionScript 3.0 run on the command-line, shell scripts, server-side, etc. imho FlasCC/Alchemy/CrossBridge did not take off because it is much harder for dev to produce a project in C++ than in AS3, also why redtamarin took an opposite approach: bring the C API to the AS3 context instead of forcing users to actually write C/C++ code. [0]: https://hg.mozilla.org/tamarin-central https://hg.mozilla.org/tamarin-central [1]: https://hg.mozilla.org/tamarin-redux https://hg.mozilla.org/tamarin-redux [2]: https://github.com/adobe-flash/avmplus https://github.com/adobe-flash/avmplus [3]: https://github.com/adobe/avmplus https://github.com/adobe/avmplus [4]: https://github.com/Corsaair/redtamarin https://github.com/Corsaair/redtamarin
- aidos 9y agoInteresting. I wrote a uploader in flash for our photo hosting website many years ago using alchemy. From memory I wrote a wrapper for libjpeg that could do the resizing in C which was then compiled into flash bytecode. That could then be imported into the swf that would handle multiple files drag-drop resize / upload. That all interfaced with the page through some sort of JS bridge. I'm amazed any of it worked to be honest, somehow it managed to chug along for a decade without issue.
- 0x0 9y agoAlchemy also required a per-domain license key to be purchased to unlock various API combinations at runtime. For me this was the biggest shock and definitively a hint that not all was well in flash land. Runtime player licenses were unheard of until then - only the authoring tools cost money. Having to pay up for every swf on every domain certainly put a chilling effect on experimentation around the new APIs.
- 9y ago
- Brajeshwar 9y agoAh! Flash! I started my career as a programmer but always had a mind for creative designs. When I discovered Flash around 2002-2003, I was all over it. ActionScript was my ultimate weapon to make Flash sing and dance to all my tunes. I was so involved then, Macromedia picked me as one of their "Professional Expert" or something in that line. Those were the times when I made good money, lots of friends, clients, met few interesting business partners. In the summer of 2005, just as it was about to be acquired by Adobe, I got an email that I was invited to their office in San Francisco. I was one of the 20-odd people from around the world picked up for something called the "Lego" Team. I was overwhelmed, humbled, and scared - to meet all the authors from whose book I learned ActionScript, all those developers whose files I downloaded to learn Flash/ActionScript. It was a blast. If you were into Flash during those times, you'd remember names such as Guy Watson (FlashGuru), Brandon Hall, Peter Hall, Colin Mook, Aral Balkan, Jesse Warden, Peter Hall, Marcos Weskamp, Grant Skinner, etc. Well, it was the congregation of the whos-who of the Flash world at that time. Well, all of our names were then featured on the credit screen of Macromedia Flash. Some of us also realized that Flash was dying and something needed to be done. Adobe came along and well, Macromedia and Flash became just another archive on Wikipedia. Next year, 2006, the company I founded was acquired by a Startup from Silicon Valley. That's when I started my very bumpy Startup journey, and I'm still chugging along. Here are some of the Macromedia Flash Lego Summit photos - https://www.flickr.com/photos/brajeshwar/albums/72057594081435036 https://www.flickr.com/photos/brajeshwar/albums/720575940814... (who do you recognize).
- cpeterso 9y agoThanks for sharing! That's a blast from the past. I used to work on the Flash team at Macromedia and Adobe in that very office. :) I believe "Lego" was the code name for Flex Builder aimed at developers. "Duplo" was the unfortunate code name for a corresponding Flash authoring application aimed at designers who didn't write ActionScript.
- NTripleOne 9y agoHahaha, Lego and Duplo for developers and non developers, fantastic!
- ricardoteix 9y agoI was 16 in 1999 when a high school teacher presented me the Flash 4. From there I built my professional career. For most than one decade I improve my Flash and ActionScript skills and loved that. I never felt that nothing but joy when building things with Flash Platform. It was a good knowledge. Even these todays I did somethings with ActionScript 3. My company developed educational solutions with Flash for 6 years and the transition to the HTML5 promesse was painful, expensive and complex. I did not realize why Adobe did not invest some effort to keep us using Flash and ActionScript 3 to build web applications transpiled to JS (without HTML5 canvas). Is there another tool capable to compile to iOS and Android over Windows with no need of a Mac with XCode? I loved that in Flash. "You either die a hero or you live long enough to see yourself become the villain". Harvey Dent, The Dark Knight. Sorry for poor english. I am not native.
- pdkl95 9y ago> In my opinion without Flash the current web tech stack might look different. Without Flash you couldn't do anything at zombocom[1]! [1] http://zombo.com http://zombo.com // Now that HTML+JS has has the features necessary to implement the "flash intro page" experience, I have yet another reason to leave javascript disabled.
- drawkbox 9y agoEven zombocom moved on. [1] https://html5zombo.com/ https://html5zombo.com/
- jondubois 9y agoI also started with ActionScript 2 and moved to ActionScript 3 soon after. Then I did Java, C++, Python and all the others before going to JavaScript. I've been using mostly JavaScript for the past 5 years. I actually don't miss any of the other languages, not even ActionScript 3. I think that you don't really need classes, private methods, protected methods, abstract classes, inheritance, etc... For web-related stuff. Games are a bit different because, in a game, unusual edge cases happen all the time (a game can be in a practically infinite number of states), so static type checking can help take care of a lot of issues. That said, with automated testing, you can also get similar stability without having types.
- Marazan 9y agoFlash, specifically Flex, won the battle and then promptly lost the war as other companies remade the internet in Flex's image. Adobe's sudden and not at all inevitable betrayal of Flex devs was a huge shock and absolutely killed Adobe in the field of Rich Internet Apps which at that point they were dominating. If they'd pivoted Flex to compile to Javascript then the world as we know it would be a very different place, one where we would have been happily producing web apps in MXML markup for the last decade rather than recently rediscovering it through the medium of React and JSX.
- zwetan 9y agoThen you should check FlexJS [0] Also checkout the last FlexJS Summit at ApacheCon Miami 2017 [1] [0]: https://cwiki.apache.org/confluence/display/FLEX/FlexJS https://cwiki.apache.org/confluence/display/FLEX/FlexJS [1]: https://www.youtube.com/playlist?list=PL4EsaSA9xpnnraJX7NzpX6eh_P95RO8Pj https://www.youtube.com/playlist?list=PL4EsaSA9xpnnraJX7NzpX...
- robmcm 9y agoAt the key time JS couldn't achieve everything in the Flex scope, even now some of the less open features (DRM) are still missing. Having said that 80% of my time is still spend writing AS3 in Flex ;)
- skocznymroczny 9y agoThe ironic thing is that ActionScript is being reinvented once again in form of TypeScript and its siblings.
- wink 9y agoI loved Flash - back in a time when there was only a few DHTML tricks and JavaScript was not a proper programming language, also the lack of proper CSS. The year I speak of is 2001 and my task as an intern was to create a CMS for the company that could power a "plain" website at the same time as dynamic content for the fancy Flash website. It was hell of a lot of fun coming up with a solution that made this possible. Even managed to make the company migrate from PHP3 to PHP4 for it. But not so soon after (let's say 2005? 2006?) I wasn't missing Flash (or it's cousin, Shockwave) anymore. Good for games, but the more I did proper web development the more it showed that it was just interactive movies (surprise) and not so good to work with for plain (html) text.
- drawkbox 9y agoFlash was awesome for learning script and rendering. Plugins in the early days of the web '95-'05+ were needed to push the web. HTML5, WebGL, Canvas, SVG are all heavily inspired by Flash. Mobile and smaller hardware really put a pause on Flash's blaze of glory that was all the way up until '07/flex/air etc. Adobe did not move to cross-compilation fast enough nor did they improve hardware rendering early enough, Flash was largely run on CPU at the time and mobile performance was poor. Adobe also really took it hard that ES4 was shutdown and ActionScript was really the only use of that, I particularly liked it alot, ActionScript3 was a great language for interactive and web game development. Flash also allowed creators to publish, many cartoon shows today still use Flash [1]. Many have moved to ToonBoom or others but many still use it. Flash will always be an impressive moment in the web and interactives/games. Macromedia was quite the company, Flash/Director both really died from Adobe's hands. I wonder if Microsoft would have bought Macromedia if it had gone different. Macromedia really created fast web video with Flash/ASF formats/RTMP streaming and saved us from Real Player, Quicktime, and Windows Media Player. Flash made possible Youtube. Flash is still around as Adobe Animate and OSS as OpenFL[2], lime[3], Haxe [4] and more. Though it is more focused on compilation to target platforms natively from script and AOT compiling or WebGL/html5 output rather than to the AVM or runtime ActionScript. [1] https://en.wikipedia.org/wiki/List_of_Flash_animated_television_series https://en.wikipedia.org/wiki/List_of_Flash_animated_televis... [2] http://www.openfl.org/ http://www.openfl.org/ [3] https://github.com/openfl/lime https://github.com/openfl/lime [4] https://haxe.org/ https://haxe.org/
- AndrewDucker 9y agoWhat boggles me is that it's still hard to put together a UI by dragging/dropping some fields together. If Visual Basic (and Delphi, and others) had this basically solved twenty years ago, why is it still something that's so hard to do for HTML?
- meredydd 9y agoIt's so hard because Web layout with HTML/CSS/JS is the ultimate Turing Tarpit [0]. Any tool that tries to offer a simple interface to three interlocking programming languages is going to have to deal with all the crazy things the Javascript Framework of the Week will do to the page you're creating. This is exactly the problem we're solving with Anvil (https://anvil.works https://anvil.works). It's explicitly VB-like - one language, drag and drop design, and object oriented components. But it is only possible because we took the deliberate choice to do it all with one language (Python) with an appropriately simplified display model. [0] https://en.m.wikipedia.org/wiki/Turing_tarpit https://en.m.wikipedia.org/wiki/Turing_tarpit
- TimJYoung 9y agoOur product, Elevate Web Builder, does exactly what you describe: https://www.elevatesoft.com/products?category=ewb&type=web https://www.elevatesoft.com/products?category=ewb&type=web (Examples at the bottom) Here's an (older) video that shows the IDE in use: https://youtu.be/o1cU0KoJU8Q https://youtu.be/o1cU0KoJU8Q I wouldn't consider what we're doing as "hard". The main thing is that the developer has to be willing to do some odd things relative to traditional web development, such as: - Don't use JS as the development language, and only use it as a target for a statically-typed, compiled language. It's basically impossible to do a decent IDE without the type information. Even simple things like getting method signatures of event types for selecting/creating event handlers is impossible without types. - Don't use CSS and, instead, use per-element style modifications via code. CSS is too broad a brush for component-based development where you want to allow the developer to customize the look and feel of every visual control on a per-control basis. Also, it lacks the flexibility required for dealing with weird/odd control state transitions. In general, one has to take a step back from the HTML/CSS/JS world and virtualize everything in code in order to allow for dual design-time/run-time usage (we're adding server-side right now). Unfortunately, this also has the side-effect of not being "normal" web development anymore, so we're definitely swimming against the tide. But, I think it's the way to create more reliable and dependable web applications in a must more productive manner.
- thekenwheeler 9y agoI remember way back when, when I first started on the web, I got paid to make Flash sites. It was a cringey time, but the capability and animation smoothness, on Windows XP, 8 years ago, was still better than you can get on the web on a Macbook Pro today. When Jobs murdered flash I transitioned to web waiting for it to come up to parity, but it never did. We've had incremental improvements, but IMO they have been scraps, and the priority is out of wack. Why are we adding MIDI to a platform that still can't efficiently do layout? I recently gave a talk about building a new browser without the DOM, instead using native UI primitives driven by javascript for our sites: https://www.youtube.com/watch?v=WEQx3wz8QeY https://www.youtube.com/watch?v=WEQx3wz8QeY Wherever we land, I just hope to someday get the kind of performance on the web that I got 8 years ago with Flash.
- hacksonx 9y agoSpeaking of flash & it being used to build entire websites, this we hear made it hard to index those sites. I remember when I was at university, the university network didn't work with android devices because it worked over a proxy and Google/Android weren't fond of a proxy server because it prevented them from tracking the user. Lots of tools have died solely because they prevent bigger companies to flourish. Not saying Adobe aren't big but you know Google and Apple are massive.
- camus2 9y agoI liked Flash and still think it is vastly superior to HTML5 when it comes to games or interactive experiments BUT Flash was a closed source, proprietary tech that was controlled by a single actor and not future proof. I understand now the dangers of such platforms and why the web should be free and open.
- petraeus 9y agoThe problem with flash wasn't that it didn't create great animations, it did. The problem was it was not web friendly, you can't build a seo site in flash, you cannot build a maintainable database driven project in flash. You cannot build security into flash. Its great for doing little animations but thats it.
- agentultra 9y ago> In someway ES6 tries the best by adding classes. But there is plenty of other missing features like: final classes, private, public, protected, internal accessors. Explicit inline (This is more compiler feature than language), strong typed (thankfully we have TypeScript), well designed Event System with nice propagation (It’s more like a library feature rather tan language), no confusion with undefined, no confusion with this, and static variables / functions. Well, public/private/protected are reserved keywords in the latest spec... so they're coming. Personally I don't see these as features but deficiencies. I liked the Flash creator tools; I haven't used a vector drawing + animation system quite like it since.
- AdmiralAsshat 9y agoOnce nice thing about Flash (and believe me, I don't think there are many) is that it can go a long way towards cementing the concept of OOP to beginning programmers. I was taking a high-school C++ class at the time, but the whole "everything is an object" concept just didn't stick. It was still in the abstract sense and not tangible. You start to play with Flash and ActionScript, however, and suddenly each instance is a physical thing you can see and interact with. Each copy of the thing you make inherits those properties and that action script. It was a very useful learning experience for me. I worked through a Pong tutorial and then tried to extend it as a personal project to be a four-corner pong. It became very clear the benefits of making a position-agnostic "Paddle" class when the left-right paddles' collision detection went haywire upon copy-pasting them to the top and bottom of the screen.