Я бы выделил отдельное течение:
Advanced брут форс программирование.
Это когда человек уже писал на другом языке. Конечно динамическом, конечно небольшие проекты, да еще и Раби - это его способ мышления. Поэтому не нужно его учить как прогать на флэше. Так, разве что можно только пальцы помочь подержать. И погнали. Куча анонимок одна в другой до 4-х уровней вложенности(!). Композицию долой как явление. Цепочка наследования в 5 - 10 классов. События долой (кто-то где-то сказал что это плохо), всюду будем пихать колбэки. Про value objects вообще не слышали, все строго динамическое.
И так уже несколько кк строк
Ээээх...
А вот вполне так пример, из соседней ветки

Код AS3:
private function tween(arg:Array):void
{
var timer:Timer = new Timer(10);
timer.addEventListener(TimerEvent.TIMER, ON_TIMER);
timer.start();
function ON_TIMER(e:TimerEvent):void
{
if (arg[0].x != arg[1] || arg[0].y != arg[2])
{
arg[0].x += (arg[1] - arg[0].x) * .2;
arg[0].y += (arg[2] - arg[0].y) * .2;
if (arg[1] - arg[0].x < 1 && arg[1] - arg[0].x > -1) arg[0].x = arg[1];
if (arg[2] - arg[0].y < 1 && arg[2] - arg[0].y > -1) arg[0].y = arg[2];
}
if (arg[0].x == arg[1] && arg[0].y == arg[2]) {
timer.stop();
timer.removeEventListener(TimerEvent.TIMER, ON_TIMER);
timer = null;
arg[0].mouseEnabled = true;
}
e.updateAfterEvent();
}
}