Если бы языки программирования были детскими конструкторами



Всем привет! Как то случайно года 3 назад представил язык Pascal как детский конструктор, и написал об этом заметку. Показал друзьям, они заценили. Позже добавил C#, C++, HTML и Ассемблер. Надеюсь, хабровчанам понравится. Приятного чтения!

Pascal


Представляет собой железный конструктор в серой невзрачной коробочке. Детали бывают трех видов — длинные но узкие, короткие но широкие и уголком. Скрепляются между собой винтиками. Если в детали есть 3 места, в которые можно вкрутить винтик — то надо их туда вкрутить, даже если винтики ничего не будут держать! Иначе вся конструкция сразу развалится.
Приведены несколько примеров для творчества — маленький дом, средний дом, большой дом и почему то подобие вертолета. Невероятно, но вертолет сможет даже летать.
Все, абсолютно все модели строятся по одному плану — снизу фундамент, сверху крыша, посредине пустой каркас. А вот внутрь каркаса можно запихнуть абсолютно все, хотя это и не вяжется с современными концепциями конструирования. Но всегда можно представить что две рейки это лифт большого дома, а три рейки это двигатель вертолета! Все как по настоящему!
В Паскале даже можно иногда использовать веревочки — это позволит создавать гибкие динамические конструкции. Для этого надо собрать железный короб, жестко его закрепить и в него положить веревочку.
Опытный паскалист, вспомнив молодость, сделает на Паскале абсолютно все.
Известный Р. Столлман собрал из Паскаля коробку с конструктором С.
Паскаль устаревший конструктор, поэтому его не жалко поломать и его дают играть детям и студентам младших курсов.

С++


Купив С++ вы думаете что купили конструктор, но на самом деле это целый ремонтный набор. К основной коробке потом можно будет отдельно докупить множество больших и маленьких коробочек с детальками сложной формы, которые очень упрощают жизнь.
С++ это весьма сложный конструктор, для его использования надо сначала прочитать инструкцию на обратной стороне коробки. Если этого окажется недостаточно, можно выписать по почте полный сборник инструкций из 10 томов по 600 страниц в каждом.
Некоторые собирают табуретки. Другие хвастаются что собрали работающий разводной гаечный ключ и теперь он помогает им в работе. Известны случаи когда из конструктора С++ собирали действующее огнестрельное оружие. Двое случайно застрелились сами, остальных забрали в милицию.
В набор С++ входят три десятка основных деталей, множество веревочек, бумага, клей и маникюрные ножницы. Когда надо, вы можете самостоятельно собрать нужную деталь.
Те кто начинал с конструктора Паскаль, продолжают строить тяжелые надежные конструкции. Новички строят невообразимо уродливые сооружения, которые легче поломать чем починить. И наконец, только те кто увлекается С++ достаточно долгое время, способны построить ажурную конструкцию весом в полторы тонны, с одной точкой опоры и изменяющимся центром тяжести — благодаря умению использовать веревки.
С++ это основной язык для суровых бородатых конструкторов, однако те кто был неоднократно придавлен развалившейся поделкой, недолюбливают его.

С#


С# это один из конструкторов известной фирмы, производящей детскую не очень качественную продукцию.
Можно купить полный набор, в который будут входить множество конструкторов, иногда даже совместимых между собой.
Обычно облегченный набор конструктора С# бесплатно раздается в институтах.
Яркая коробка, веселые лица изображенные на ней, надписи вроде «Конструировать это здорово!» сделают этот конструктор хорошим подарком юному инженеру.
Внутри лежит яркая книжица, которая описывает примерно треть деталей. Остальные описываются только по платной подписке.
Детали представляют собой деревянные кубики, на которых написаны слова. Некоторые кубики пустые, на них можно написать самому все что хочешь. Изредка попадаются параллелепипеды. А еще есть одна пирамидка с надписью main, которая должна венчать самую верхнюю точку творения, иначе все развалится.
Все кубики сделаны довольно качественно, одинаковые разложены по отдельным коробочкам.
Иногда кубики с разъемами — не для дополнительной прочности, а чтобы нельзя было собрать неподходящие. Или можно, но ненадежно. Однако несмотря на одинаковые разъемы, кубики часто не собираются друг с другом.
Создатели конструктора решили ввести множество нововведений в процесс конструирования. Например запатентованная Технология Гибких Кубиков ©, запатентованная Технология Полупрозрачных Кубиков ©, запатентованная Технология Вязких Кубиков © и запатентованная Технология Липких Кубиков ©.
Решив не отказываться от веревочек, их оставили в наборе. Две. Одна обычно сделана из закаленной проволоки, поэтому не гнется, а вторая слишком короткая.
Те кто начинал свою конструкторскую деятельность с Паскаля, могут даже не заметить различий между С++ и С#.
Если человек долго работал с кубиками С#, и может, например, собрать башенку, его лицензируют как Специалиста По Кубикам.
В целом, прочность конструкции из деталей-кубиков примерно такая же как и из железных деталей, а красивая коробочка окончательно убедит большинство выбросить старый Паскаль.

HTML


HTML это даже не конструктор, это скорее мозаика. Детали — кусочки бумаги. Все они, кроме пары штук, квадратные и различаются только цветом. В качестве деталей также можно использовать камушки, стеклышки, кусочки зеркал и обрывки тряпочек. Продаются красивыми коробки с мозаикой и хвалебными рекомендациями от лучших дизайнеров, там даже есть примеры картинок которые можно собрать из существующих кусочков.
Огромное количество руководств и липовых «профессионалов мозаики» дают советы как мозаику превратить в пазл.
В мозаике почти нет методик — можно собирать хоть сверху, хоть снизу, хоть по диагонали, как больше нравится.
В неопытных руках мозаика ужасна. Вместо красивой картинки почти всегда получается вырвиглазная абстракция.
Кто то выкладывает детали на краешке стола, кто то на полу, некоторые скрепляют все цементом.
В мозаике особенно важна не прочность творения, а красота получившейся картинки.
Многие новички делают ужасные вещи — вместо того чтобы перекладывать мозаику, они накладывают детали других цветов поверх старых. Издалека незаметно, профессионалы мозаики негодуют.
Из-за кажущейся легкости, мозаику очень любят тысячи человек. Кто то собирает картинки для отдыха, кто то зарабатывает этим деньги.
С мозаикой обычно поставляются дополнительные понятия, такие как
— CSS — это когда после сборки мозаики ты перерисовываешь стиль рисунка на бумажку от руки, чтобы было легче собирать в следующий раз.
— java-script — в большинстве случаев представляет непонятно зачем приклеенный сверху к мозаике калькулятор. Некоторые любят чтобы сверху готовый шедевр был усыпан перьями или снегом. Особо раздражает когда готовую картинку заслоняют наполовину содранные объявления о продаже детской коляски и указатели на другие мозаики.
Мозаика больше подходит для художников, чем для инженеров. Художники любят ее за красоту, инженеры не любят за плоскость конструкций.

Ассемблер


Конструктор Ассемблер нужно дарить только невероятно усидчивым или нелюбимым детям.
Для Ассемблера обязательно нужны пинцет и 10-кратное увеличительное стекло.
Будьте осторожны! Конструктор Ассемблер категорически не рекомендуется в качестве первого в жизни конструктора, потому что развивает очень мелкую моторику и прямолинейное мышление.
В минимальный набор входят 79 различных деталей. Структура сборки напоминает домино — плоская и больше двух деталей за один раз не соединяются.
Обычно в процессе сборки сам забываешь что ты хотел собрать.
Собранные на Ассемблере поделки работают всегда. Правда, не всегда понятно, что именно они делают и зачем они это делают.
Зато созданные конструкции могут перестраивать сами себя в процессе работы. Но надо быть осторожным — иногда поделка внезапно начинает активно изменять законы физики окружающего мира, и становится опасной для окружающих. Тогда ее следует немедленно уничтожить.
Конструктором Ассемблер можно подковать блоху. Никакой практической пользы это не принесет, зато можно хвастаться перед друзьями.
AdBlock has stolen the banner, but banners are not teeth — they will be back

More
Ads

Comments 19

    +6
    HTML — язык программирования?
      +11
      Нет, это мозаика :)
        0
        эхм можно долго спорить, но некоторые считают что да. императивный.
        хотя лично я не согласен.
          +4
          если уж на то пошло, то декларативный.
          но всё равно скорее нет.
            +7
            какой позор, конечно декларативный! не проснулся еще наверно
              +6
              Прочитал как «декоративный» )
                +3
                Ну так мозаика же :)
          +3
          Моим первым языком был ассемблер ZX80. Эх sinclair, bill gilbert, dizzy, tape load error, 16384 и прочие, теребящие душу слова :)
            +25
            Не хватает Python — конструктора без лишних деталей, где как ни старайся, всё равно всё соберёшь правильно.
            Не хватает Java — конструктора, живущего собственной жизнью, пожирающего память ребёнка и питающееся забытыми деталями других конструкторов.
            Не хватает чистого и незамутнённого Си — конструктора из коробков и спичек, где верёвочками пользуются только новички.
            Нет Хаскеля с шестимерными деталями, каждая из которых физически не существует, а только что-то делает, детали невозможно складывать, потому что их нет, с другой стороны они уже сложены и надо понять как это понять.
            Нету Эрланга, конструктора из самоклеющихся шаров в гигантский вакуумный шар, в котором болтается сферический конь.
            Нет ДжаваСкрипта, конструктора лего-дупло для детей 3-5 лет.
              0
              ну извините, с чем сталкивался, то и описал)
                +2
                про хаскель просто убило :)
                +4
                Предлагаю продолжить
                PHP
                Это конструктор, который встраивается в мозаику, состоящий из веревочек, бумажек и костылей. В комплекте идет набор старых деталей, которые, скорее всего опытному конструктору не понадобятся, но тем не менее они есть. чтобы можно было собрать конструкции по старым инструкциям.

                После постройки конструктор разваливается, оставляя после себя лишь мозаику.
                  +1
                  Ассемблер! Никогда лучшего описания не встречал))
                    0
                    Здорово :) Абзац про паскаль самый крутой!
                      0
                      Было бы здорово добавить иллюстрации
                        0
                        даже как то не задумывался насчет них.
                        что, правда нужны?
                        –2
                        Про C# херню написали
                          +1
                          я ж не заставляю тебя считать так же) предложи свое видение шарпа?
                          0
                          Ассемблер
                          Обычно в процессе сборки сам забываешь что ты хотел собрать.

                          бывало на ZX80 ))

                          Only users with full accounts can post comments. Log in, please.