Сообщение Re: Про мертвые языки программирования от 23.04.2012 15:12
Изменено 22.12.2018 5:24 os24ever
Re: Про мертвые языки программирования
Как я заметил, языки как будто поднимаются по какой-то невидимой лестнице, т.е. идут по пути всё большей и большей независимости от среды выполнения и операционной системы, а их авторы постепенно отказываются от некоторых вещей, оставшихся ещё со времён архитектуры Фон-Неймана:
▪ Отказались от ячеек памяти, придумав структуры и списки (Алгол-58 и Лисп),
▪ Отказались от оператора безусловного перехода, придумав циклы (ПЛ/1 с Паскалем),
▪ Отказались от многословного синтаксиса предыдущих языков, добавили макросы (K&R C),
▪ Отказались от указателей, заменив их ссылками и добавив сборку мусора (скрипты и Java),
▪ Отказались от ссылок в глобальной области видимости (Erlang, Scala — наконец-то!!) и т.д...
И каждый раз в каждый язык подмешивали различные приёмы, от ООП до функций высшего порядка и замыканий. Но это менее важно: никто не мешает придумать язык с синтаксисом, напоминающим древний Паскаль — и с поддержкой функций высшего порядка.
Каждый раз что-то отправлялось на свалку истории. Сейчас это будут языки, позволяющие написать что-то вроде:
▪ Отказались от ячеек памяти, придумав структуры и списки (Алгол-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 — наконец-то!!) и т.д...
▪ Отказались от ячеек памяти, придумав структуры и списки (Алгол-58 и Лисп),
▪ Отказались от оператора безусловного перехода, придумав циклы (ПЛ/1 с Паскалем),
▪ Отказались от многословного синтаксиса предыдущих языков, добавили макросы (K&R C),
▪ Отказались от указателей, заменив их ссылками и добавив сборку мусора (скрипты и Java),
▪ Отказались от ссылок в глобальной области видимости (Erlang, Scala — наконец-то!!) и т.д...