вторник, 22 июня 2010 г.

Языки

Как я уже говорил, я никогда не повторяюсь.
(с) некто

Как я уже говорил, языки мне нравятся, но только не естественные. Английский довольно (относительного русского) прост своей грамматикой. Но в нем есть такая гадость, что нельзя синтаксически отличить существительного от глагола и существительное от прилагательного.

Вот тут есть лекции Охотина в csclub про формальные грамматики (советую посмотреть, ибо про булевы грамматики вы вряд ли где найдете), где упоминается классический пример:

Time flies like an arrow.

Fruit flies like a banana.

Время летит как стрела.
Временные мухи любят стрелы.

Фруктовые мухи любят бананы.
Фрукт летит как банан.

В русском таких извратов я не знаю (опять же приведу слово "крокодил", как глагол в прошедшем времени от слова "крокодить", но мы понимаем что это не глагол).

Слов мало, а терминов много. Проблемы.

Если же перейти к языкам программирования, то тут стоит напомнить цитату из "1984" Оруэлла : "новояз - единственный на свете язык, чей словарь с каждым годом сокращается".

В реальности все наоборот. Только чистые языки стабильны, остальное превращается в непонятно_во_что. Вы когда-нибудь писали на С++ ? (провокационный вопрос :) ). А знаете хотя бы одного человека, который бы мог сказать, что знает С++? Советую найти спецификацию языка и сосчитать количество страниц спецификации, которые вы использовали. Если будет более 5%, то вы гуру.

Пожалуй, только функциональщина за счет \lambda-абстракции может не расширяться. И в этом ее прелесть.

update (01.08.10).
Хотя вот немного пошлый пример на русском, показывающий проблему с глаголом/существительным:

Мужик на огороде врезается в сук дерева и хочет его спилить. Спрашивает у жены:
- где пила?
- нигде не пила.
- где пила?
- с чего ты взял? нигде не пила.
- в последний раз спрашиваю, где пила?
- ну, у соседа пила.
- а зачем дала?
- ну выпила, и дала.

Комментариев нет: