Мини-опрос: назовите три, с вашей точки зрения, самых красивых (своей эстетикой, своим устройством, своей структурой и т.п.) языка программирования. Ответы в комментах приветствуются.
Мои ответы:
1. Форт
2. Смолток
3. Не знаю - много разных претендентов на это место.
Видимо, учитывая первые два места в моём ответе, мне нравятся языки с таким свойствами:
Последнее свойство, правда, имеет и свои отрицательные стороны: изоляцию языка внутри интегрированной среды, сложности с написанием отдельных программ, призванных функционировать отдельно от среды, внутри других систем.
Форт: дистилляция до прозрачной, и вместе с тем неимоверно мощной простоты базовой идеи макроса: кода, который только и делает, что вызывает в последовательности один за другим другие макросы. Плюс к этому постфиксная нотация и раздельные стэки для данных и контроля выполнения. Всё.
Смолток: дистилляция до прозрачной, и вместе с тем неимоверно мощной простоты базовой идеи объекта: набора данных, который определяет и воплощает протокол коммуникации с ним других объектов.
Оба языка - вне "мейнстрима", у обоих - своя ниша (Форт - embedded software, Смолток - financial systems). Оба мне бы хотелось видеть в мейнстриме, но этого никогда не случится.
Оба я сделал бы (вместе ещё с пятью-шестью другими языками) обязательными для преподавания в программе компьютерного факультета. Оба не являются обязательными для преподавания ни на одном известном мне факультете.
Мои ответы:
1. Форт
2. Смолток
3. Не знаю - много разных претендентов на это место.
Видимо, учитывая первые два места в моём ответе, мне нравятся языки с таким свойствами:
- очень простая концептуальная база;
- практически неограниченные способности к расширению языка самим программистом в нём, включая самые фундаментальные его структуры;
- прозрачность каждого действия на атомном уровне, переходящая в управляемую сложность на глобальном уровне, вытекающую из структуры, сотканной программистом.
- мощная интегрированная среда, включающая в себя компилятор, интерпретатор и т.п., и всё это написано на самом языке за исключением крошечного ядра.
Последнее свойство, правда, имеет и свои отрицательные стороны: изоляцию языка внутри интегрированной среды, сложности с написанием отдельных программ, призванных функционировать отдельно от среды, внутри других систем.
Форт: дистилляция до прозрачной, и вместе с тем неимоверно мощной простоты базовой идеи макроса: кода, который только и делает, что вызывает в последовательности один за другим другие макросы. Плюс к этому постфиксная нотация и раздельные стэки для данных и контроля выполнения. Всё.
Смолток: дистилляция до прозрачной, и вместе с тем неимоверно мощной простоты базовой идеи объекта: набора данных, который определяет и воплощает протокол коммуникации с ним других объектов.
Оба языка - вне "мейнстрима", у обоих - своя ниша (Форт - embedded software, Смолток - financial systems). Оба мне бы хотелось видеть в мейнстриме, но этого никогда не случится.
Оба я сделал бы (вместе ещё с пятью-шестью другими языками) обязательными для преподавания в программе компьютерного факультета. Оба не являются обязательными для преподавания ни на одном известном мне факультете.
Re: Ðополнение:
Date: 2002-04-20 11:26 pm (UTC)Re: Ðополнение:
Date: 2002-04-21 08:25 am (UTC)Ð Ð´Ð»Ñ ÑÑилиÑаÑнÑÑ Ñелей как Ñаз ÑÑодов и иÑполÑзÑÑÑ. Ðон Perl Ñоже, пÑÑмо Ñкажем, Ñ Ð¿ÑедÑÑавлениÑми не оÑÐµÐ½Ñ - а полÑзÑÑÑÑÑ, еÑе и Ð½Ð°Ñ Ð²Ð°Ð»Ð¸Ð²Ð°ÑÑ. Ðа и C++ ÑÐ¾Ñ Ð¶Ðµ, пÑÑмо Ñкажем, не ÑÑÐ¿ÐµÑ Ð² ÑÑом плане. Ркак Ñаз ÑнивеÑÑиÑеÑÑкими ÑзÑками Ñ "пÑедÑÑавлениÑми" полÑзÑеÑÑÑ Ñвное менÑÑинÑÑво, болÑÑинÑÑво же о Ð½Ð¸Ñ Ð¸ не ÑлÑÑ Ð°Ð»Ð¾ никогда. Так Ð²Ð¾Ñ Ð¿Ð¾Ð»ÑÑаеÑÑÑ.
Re: Ðополнение:
Date: 2002-04-21 04:47 pm (UTC)ÐÐ¾Ñ Ð¾Ð´Ð½Ð° иÑÑоÑиÑ: Ñ ÐºÐ°Ðº-Ñо пÑинимал ÑÑаÑÑие в кÑÑÑе, где пÑогÑаммиÑовали на templates. ЧÑÐ¾Ð±Ñ Ð½Ðµ пиÑаÑÑ ÑлиÑком много: Ñ Ð¿Ð¾Ð¼Ð¾ÑÑÑ templates компилÑÑÐ¾Ñ Ð²Ð¾ вÑÐµÐ¼Ñ ÐºÐ¾Ð¼Ð¿Ð¸Ð»ÑÑии Ð¼Ð¾Ð¶ÐµÑ ÑоÑÑиÑоваÑÑ ÑпиÑки, вÑÑиÑлÑÑÑ Ð°Ð»Ð³ÐµÐ±ÑаиÑеÑкие ÑоÑмÑÐ»Ñ Ð¸ вообÑе ÑабоÑаÑÑ Ð¸Ð½ÑеÑпÑеÑаÑоÑом ÐиÑпа !
ÐекÑÐ¾Ñ ÑÑого кÑÑÑа (кÑо Ð·Ð½Ð°ÐµÑ - ÐоÑÑи ÐилÑ) поÑемÑ-Ñо ÑÑиÑал, ÑÑо ÑÑо Ñ Ð¾ÑоÑо. Ð Ñ Ñак ÑÑиÑаÑ, ÑÑо ÑÑо одно из гнÑÑнейÑÐ¸Ñ Ð¸Ð·Ð²ÑаÑений когда-либо пÑидÑманнÑÑ .