Информация об изменениях

Сообщение Re: Про мертвые языки программирования от 23.04.2012 15:12

Изменено 22.12.2018 5:24 os24ever

Re: Про мертвые языки программирования
Как я заметил, языки как будто поднимаются по какой-то невидимой лестнице, т.е. идут по пути всё большей и большей независимости от среды выполнения и операционной системы, а их авторы постепенно отказываются от некоторых вещей, оставшихся ещё со времён архитектуры Фон-Неймана:

▪ Отказались от ячеек памяти, придумав структуры и списки (Алгол-58 и Лисп),
▪ Отказались от оператора безусловного перехода, придумав циклы (ПЛ/1 с Паскалем),
▪ Отказались от многословного синтаксиса предыдущих языков, добавили макросы (K&R C),
▪ Отказались от указателей, заменив их ссылками и добавив сборку мусора (скрипты и Java),
▪ Отказались от ссылок в глобальной области видимости (Erlang, Scala — наконец-то!!) и т.д...

И каждый раз в каждый язык подмешивали различные приёмы, от ООП до функций высшего порядка и замыканий. Но это менее важно: никто не мешает придумать язык с синтаксисом, напоминающим древний Паскаль — и с поддержкой функций высшего порядка.

Каждый раз что-то отправлялось на свалку истории. Сейчас это будут языки, позволяющие написать что-то вроде:
interface ListNode {
    public var prev : ListNode ;
    public var next : ListNode ;
}
class List<T : ListNode> {...}
Здесь можно наступить на грабли из-за одного только ключевого слова "public". Казалось бы, мелочи... но если ещё и переменные доступны в общей области видимости — точно наступит кто-нибудь.
Re: Про мертвые языки программирования
Как я заметил, языки как будто поднимаются по какой-то невидимой лестнице, т.е. идут по пути всё большей и большей независимости от среды выполнения и операционной системы, а их авторы постепенно отказываются от некоторых вещей, оставшихся ещё со времён архитектуры Фон-Неймана:

▪ Отказались от ячеек памяти, придумав структуры и списки (Алгол-58 и Лисп),
▪ Отказались от оператора безусловного перехода, придумав циклы (ПЛ/1 с Паскалем),
▪ Отказались от многословного синтаксиса предыдущих языков, добавили макросы (K&R C),
▪ Отказались от указателей, заменив их ссылками и добавив сборку мусора (скрипты и Java),
▪ Отказались от ссылок в глобальной области видимости (Erlang, Scala — наконец-то!!) и т.д...