Комментарии 22
Отлично написано. Однако программистам, воспитанным на классических императивных моделях, при чтении рекомендуется свободной рукой придерживать мозг
Я бы посоветовал, перед чтение его выщить, а после — вернуть назад :)Это всего лишь предрассудки.
Очень зря, имхо, воспитывать на императивных моделях. С точки зрения логики x=x+2 полный бред. А в императивных яп это вполне стандартная конструкция. Немутабельность в функциональном подходе обеспечивает надежность и логичность. Рекомендую также статью «Why OO sucks» — весьма помогает достичь просветления.
Так-то оно так, но императивная модель — очень даже правильно с точки зрения дискретного исполнителя, чем на низком уровне является компьютер. Я не защищаю императивы, просто говорю, что исторически развитие шло от более низкоуровневого — выше; соответственно, низкоуровневую модель Тюринг-машины тащили снизу вверх, от ассемблера — к ЯВУ.

Здесь приятным исключением выступает LISP; правда, не в плане синтаксиса. Сейчас можно достичь того же и не пользуясь «универсальным синтаксисом», но время утеряно, и императивы прут вперед :)

Я в свою очередь рекомендую SICP (pdf) — творит чудеса с мировосприятием.
Спасибо за интересное чтиво :) А чем вам синтаксис LISP не нравится? По мне так отлично продуманный синтаксис. Лучше только в Python. И вообще сам LISP близок к идеальному языку программирования :) Даром что один из самых старых. А из живых ныне так и вообще самый-самый. Что касается машины Тьюринга, то это абсолютно теоретическая вещь и с машиной фон-Неймановского типа (а как известно, современные компьютеры основаны на фон-Неймановской архитектуре, основной принцип которой — хранимая в памяти программа) у неё никакой связи нет. Да и ассемблер не самый низкий уровень, это мнемоническое представление двоичного кода. Вообще сейчас есть очень мощная штука — LLVM, рекомендую поглядеть. Недавно был топик про то, как Google собирается CPython на неё перевести. Было бы неплохо, коммунити наверняка одобрит. Лишь бы Гвидо не подкачал :)
Блин, скока информации и вопросов в одном комменте :) Да простит меня хозяин блога :)

Я и не говорил про субъективное отношение к LISPу. Он продуман в том направлении, что в основном благодаря ему обеспечивается поддержка метапрограммирования, замыканий, bind и прочих штук, на которых построен LISP. И сказал так же, что нынешние среды реализуют эти возможности не за счет синтаксиса, а за счет более «умной» системы поддержки компиляции и выполнения.

Насчет Фон-Неймановской — таки не согласен. Связана с Тюринговской, и очень даже сильно.

Также доводило писать под гарвардскую и супергарвардскую архитектуру, на основе которой построено подавляющее большинство архитектур встраиваемых устройств. Да и самих встраиваемых вычислителей в мире по статистике на порядки больше, чем компьютеров общего назначения. Так что в целом Фон-Неймановская вряд ли рулит. Сам считаю, что идеологически гарвардская вернее :)

С LLVM знаком, Adobe и Mac ее с 2005 года раскручивают. Adobe на основе нее даже Alchemy сделал, по трансляции c++ -> avm (Adobe Virtual Machine). Вот и Google подтянулся.
Если вам интересно, есть подобная разработка под названием С-- :) Правда, там опять-таки, за счес соглашений языка обеспечивается портируемость. Ну и она не получила достаточного распространения. Кроме того, если посмотреть глубже во фронтенд GCC, можно увидеть, что тот опять-таки с давнего времени компилировал в p-code, который процессился бэкэндом, заточенным под конкретную архитектуру. Вот только под формальный стандарт это не было подведено.

Сорри за длинный пост — каков вопрос, таков ответ =)
Прощу конечно. Мне даже лестно. И очень интересно.
Было желание вам кармы поддать, да вот хабра-баги не дают :)
Карму не стоит. Стоит только ей угрожающе подняться выше 2х, как тут же набИгают какие-то засЛанцы и в 1-2 дня сбивают. Причем я в это время обычно не пишу и не комментирую. Так что ваши труды пропадут зря — можете проверить сами как-нибудь :)
Самое забавное, что я не знаю как открывается профиль, людей со спец символами :(
Поставьте вместо underscore минусы — вот так:
-meowth-.habrahabr.ru/

FFox > 3 делает это самостоятельно; как помочь остальным, даже не знаю
Видимо делают ночнушки, потому что мой 3.6 альфа делает.
Ух ты сколько интересного :) Вы занимаетесь встраиваемыми системами судя по профилю? Не кинете в личку ссылок на интересное чтиво по этой теме?
Занимался. Сейчас все больше .net/java.

В ближайшее время будет серия постов (счас в черновиках частями лежит) про low-level в персональном блоге. Там и ссылки будут — упорядоченные и взаимосвязанные :)
Интересная статья, однако я все же ожидал увидеть продолжения в сравнении с альтернативами. Сравнить преимущества/недостатки; указать где они предпочтительнее, а где от них следует отказаться. Тогда было бы совсем хорошо :) Ну или еще парочку примеров привести, которые обычно приводят :)

Это только перевод. Автор акцентировал внимание на том, какой цели он добивается. И на мой взгляд, ему это удалось.
Упс. Не обратил внимания. Ну тогда тем более, со своим уставом да в чужой монастырь Ж)
Спасибо. Но все ссылки правильны. Ссылка на обработку исключений — первая статья из цикла.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.