Пример того, в котором сравнивались разные языки программирования с оружием, при этом была поставлена задача - прострелить себе ногу. И так играем в Quake III. Цель игры – выиграть.
QBasic: Быстренько из подручных средств собираем МОЛНИЕМЁТ, лёгкий, с большим радиусом рассеивания молний (точно всё равно стрелять не будет), выбегаем в соседнюю комнату, и обнаруживаем, что работать не будет, поскольку мы не включили его в розетку. Находим провод и не отходим от розетки дальше двух метров.
Итог: убиваем двух ламеров, первый из которых тоже писал на бейсике, но не догадался про розетку, а второй вообще случайно тут оказался.
Pascal: Собираем ШОТГАН. Подключаем несколько модулей, увеличиваем скорострельность, ставим лазерный прицел, отлаживаем (нас за это время пару раз убивают, но мы же сохранялись), и выходим на Арену.
Итог: отстреливаем всех, кто бегает с МОЛНИЕМЁТАМИ на Бейсике, но падаем под ударами тех, кто писал на Си.
Си: Собираем из огромного числа запчастей ма-а-а-аленький РОКЕТЛАУНЧЕР, после чего убеждаемся, что стреляет он в сторону, противоположную нужной, т. е. в лоб. С минимальным количеством жизни, ругая всех и вся, исправляем код, перекомпилируем... стреляет, но не попадает..... переписываем, увеличиваем радиус поражения, добавляем скорость ракеты, компилируем... Обнаруживаем, что закончились ракеты...
Итог: пишем обычную ПЕРЧАТКУ и яростно, уже не обращая внимания ни на что гасим всех, кого видим.
Perl: Подбираем выкинутый программистом на Си РОКЕТЛАУНЧЕР, и переделываем в ПУЛЕМЁТ.
Итог: на вас никто не обращает внимания, потому что из пулемёта убить сложновато, но несколько фрагов вы сделать успеваете.
Visual Basic: умудрившись, мы переписываем свой старый МОЛНИЕМЁТ, и подключаем к нему аккумулятор в 1,5 метра весом. С довольным видом бегаем по Арене, нас никто не убивает, поскольку все остальные просто считают западло к вам подходить на расстояние выстрела. Вы тоже никого убить не можете.
Итог: убиваете только тех, кого нанял Микрософт, чтобы потешить ваше (и своё) самолюбие.
Delphi: Пишем не самый лёгкий, не самый скорострельный, не самый удобный, но вполне надёжный ПЛАЗМАГАН. Для красоты меняем цвет плазмы на ClRed, и все, в кого попали хотя бы раз, увидев на себе красные пятна, думают, что они уже умерли, и не оказывают никакого сопротивления. Вы их со спокойным видом добиваете.
Итог: вам становится неинтересно играть, и вы покидаете арену.
Visual C: Подключаем к перчатке MFC, пишем себе бесконечные жизнь и броню, и со зверским оскалом бегаете по Арене, пока вас не подрейлят.
Итог: вы не замечаете, как бойня закончится, и бегаете по Арене всю жизнь
ASSembler: В начале матча, тихонько, чтобы вас никто не видел, ищете самое кемперское место и до самого конца игры пишете там РЕЙЛГАН. Отлаживаете его, украшаете, потом убеждаетесь, что он не вызывает при выстреле синего экрана смерти, и дописываете до тех пор, пока экран не начнёт появляться. Потом снова отлаживаете, и ещё, делая его всё легче и легче... потом с ужасом обнаруживаете, что до конца матча осталось две минуты! Бросив всё вы начинаете рейлить всех подряд, и когда до победы остаётся один-два фрага всё остановится, появится лишь надпись: "РЕЙЛГАН вызвал недопустимую функцию в модуле QUAKE.exe...".
Итог: вы решаете написать не только свою КВАКУ, которая бегала бы и на 286, но и свою операционку, под которой таких ошибок бы не было.