Мини-опрос: назовите три, с вашей точки зрения, самых красивых (своей эстетикой, своим устройством, своей структурой и т.п.) языка программирования. Ответы в комментах приветствуются.
Мои ответы:
1. Форт
2. Смолток
3. Не знаю - много разных претендентов на это место.
Видимо, учитывая первые два места в моём ответе, мне нравятся языки с таким свойствами:
Последнее свойство, правда, имеет и свои отрицательные стороны: изоляцию языка внутри интегрированной среды, сложности с написанием отдельных программ, призванных функционировать отдельно от среды, внутри других систем.
Форт: дистилляция до прозрачной, и вместе с тем неимоверно мощной простоты базовой идеи макроса: кода, который только и делает, что вызывает в последовательности один за другим другие макросы. Плюс к этому постфиксная нотация и раздельные стэки для данных и контроля выполнения. Всё.
Смолток: дистилляция до прозрачной, и вместе с тем неимоверно мощной простоты базовой идеи объекта: набора данных, который определяет и воплощает протокол коммуникации с ним других объектов.
Оба языка - вне "мейнстрима", у обоих - своя ниша (Форт - embedded software, Смолток - financial systems). Оба мне бы хотелось видеть в мейнстриме, но этого никогда не случится.
Оба я сделал бы (вместе ещё с пятью-шестью другими языками) обязательными для преподавания в программе компьютерного факультета. Оба не являются обязательными для преподавания ни на одном известном мне факультете.
Мои ответы:
1. Форт
2. Смолток
3. Не знаю - много разных претендентов на это место.
Видимо, учитывая первые два места в моём ответе, мне нравятся языки с таким свойствами:
- очень простая концептуальная база;
- практически неограниченные способности к расширению языка самим программистом в нём, включая самые фундаментальные его структуры;
- прозрачность каждого действия на атомном уровне, переходящая в управляемую сложность на глобальном уровне, вытекающую из структуры, сотканной программистом.
- мощная интегрированная среда, включающая в себя компилятор, интерпретатор и т.п., и всё это написано на самом языке за исключением крошечного ядра.
Последнее свойство, правда, имеет и свои отрицательные стороны: изоляцию языка внутри интегрированной среды, сложности с написанием отдельных программ, призванных функционировать отдельно от среды, внутри других систем.
Форт: дистилляция до прозрачной, и вместе с тем неимоверно мощной простоты базовой идеи макроса: кода, который только и делает, что вызывает в последовательности один за другим другие макросы. Плюс к этому постфиксная нотация и раздельные стэки для данных и контроля выполнения. Всё.
Смолток: дистилляция до прозрачной, и вместе с тем неимоверно мощной простоты базовой идеи объекта: набора данных, который определяет и воплощает протокол коммуникации с ним других объектов.
Оба языка - вне "мейнстрима", у обоих - своя ниша (Форт - embedded software, Смолток - financial systems). Оба мне бы хотелось видеть в мейнстриме, но этого никогда не случится.
Оба я сделал бы (вместе ещё с пятью-шестью другими языками) обязательными для преподавания в программе компьютерного факультета. Оба не являются обязательными для преподавания ни на одном известном мне факультете.
no subject
Date: 2002-04-20 01:50 pm (UTC)То еÑÑÑ, на Ñамом деле (еÑÑеÑÑно, вÑÑ IMHO):
- Haskell, как ÑамÑй пÑавилÑнÑй "ÑиÑÑÑй" ÑÑнкÑионалÑнÑй ÑзÑк (non-strict evaluation, ÑимпаÑиÑнÑе ÑÑÑÑкÑÑÑÑ, пÑоÑабоÑÐ°Ð½Ð½Ð°Ñ ÐºÐ¾Ð½ÑепÑÐ¸Ñ Ð²Ð·Ð°Ð¸Ð¼Ð¾Ð´ÐµÐ¹ÑÑÐ²Ð¸Ñ Ñ "импеÑаÑивнÑм миÑом" ÑеÑез монадÑ)
- Scheme, как ÑамÑй пÑавилÑнÑй ÐиÑп (лекÑиÑеÑкое ÑвÑзÑвание, continuations)
- Smalltalk, как ÑамÑй пÑавилÑнÑй class-based ÐÐ-ÑзÑк (пÑавилÑное ÑооÑноÑение ÑÑаÑики и динамики, ÑиÑÑоÑа Ð¿Ð¾Ð´Ñ Ð¾Ð´Ð°)
ÐÑиÑÑм вÑе ÑÑи а) могÑÑ Ð±ÑÑÑ Ð²ÐµÑÑма ÑÑÑекÑивно ÑеализованÑ, б) доÑÑаÑоÑно ÑÐ´Ð¾Ð±Ð½Ñ Ð² пÑеподавании CS и в) пÑиÑÑÐ½Ñ Ð² иÑполÑзовании.
ÐандидаÑÑ (оба ÐÐ), не воÑедÑие в ÑÑойкÑ: Self и Cecil - пеÑвÑй за ÑиÑÑоÑÑ prototype-based ÐÐ Ð¿Ð¾Ð´Ñ Ð¾Ð´Ð°, вÑоÑой - за пÑакÑиÑнÑе мÑлÑÑимеÑодÑ.
ÐпÑоÑем, ни одним ни дÑÑгим Ñ Ð°ÐºÑивно не полÑзовалÑÑ (в оÑлиÑии Ð¾Ñ ÑÑойки пÑизÑÑов).
no subject
no subject
Date: 2002-04-20 04:22 pm (UTC)