Обновить
10
middle@middle

Пользователь

0,3
Рейтинг
6
Подписчики
Отправить сообщение
На самом деле для домашнего планетария это не дорого. Не знаю, какая у других дом. планетариев цена «там», но у нас дешевле 10 т.р. я не видел.

Лучше на те же деньги купить бинокль, а то и телескоп (за 10 т.р. можно взять телескоп практически без пластмассы).
На 64-битных процессорах оно такое же, ибо double он и в Африке double.
Мда… Учиться не пробовали?
Да, но тут возникает такая проблема: формально CPS-преобразование глобальное, и компиляторам нужно знать, внутри каких функций используются продолжения (прямо или опосредованно), а внутри каких — нет. А без этого знания компилятор преобразует вызовы request.sendBody/sendHeader и других библиотечных вызовов (но не сами библиотечные функции, естественно).

Так что надо пробовать, смотреть, какой код генерируют эти компиляторы и можно ли указать функции, которые конвертировать не надо (или, может быть, компилятор не конвертирует функции, про которые ничего не знает, но в этом случае тоже будут проблемы).
Пусть хотя бы добавят в v8, и то будет большой прогресс :)

Если я правильно помню, в новый стандарт ECMAscript продолжения не вошли из-за давления Microsoft, т.к. их нельзя эффективно реализовать на .NET (я имею в виду Jscript .NET). Опять виновата Microsoft :) хотя, возможно, и другие вендоры были не очень рады.

Но не всё потеряно — есть несколько Source-to-Source компиляторов Javascript. Не знаю, удастся ли их использовать вместе с node.js, всё собираюсь попробовать:

www.neilmix.com/narrativejs/doc/
chumsley.org/jwacs/
Я знал только про Scheme и Standard ML, но в Википедии нашёлся более обширный список:
en.wikipedia.org/wiki/Continuation#Programming_language_support
Меня заставляет делать это логика приложения ;)

Хорошо, попробую совсем разжевать. С помощью продолжений, встроенных в реализацию, можно написать:

var a = stream.readline();
var b = stream.readline();
var c = a + b;


при этом оба вызова будут асинхронными, но второй readln будет вызван строго после того, как выполнится первый.

При этом в языке без поддержки продолжений придётся выписать их явно:

stream.readline(function (a) {
stream.readline(function (b) {
var c = a + b;

};
});

Почувствуйте разницу.
(Тег pre я указал, но парсер его съел, поэтому код не форматирован).
Конечно, можно. function в 4-й строке — самый что ни на есть continuation.

Однако на уровне языке продолжений как объектов первого класса нет, их приходится делать самому, вставляя в нужных местах function и скобочки. А вот в Scheme — есть. См. call-with-current-continuation. en.wikipedia.org/wiki/Call-with-current-continuation

Точно так же в C нет поддержки замыканий. Их, конечно, можно сделать с помощью указателей на функции, передавая им enironment в виде структуры, и можно даже говорить, что это «скорее вопрос стиля программирования»… Но это не значит, что там замыкания есть.
Обратимся к первоисточникам.

V8 compiles Javascript source code directly into machine code when it is first executed. There are no intermediate byte codes, no interpreter.

code.google.com/intl/ru/apis/v8/design.html
В машинный.
Чего не хватает джаваскрипту, чтобы превратиться в идеальное решение для написания асинхронных приложений (в том числе AJAX), так это поддержки продолжений на уровне языка, чтобы можно было писать асинхронный код линейно, а не с помощью огромного количества вложеных замыканий.

Переписать node.js на Scheme, что ли :)
Хорошо, перефразируем коммент. :)
В IE6/7/8 НЕ РАБОТАЕТ!!!11

Боюсь, для столь сложного приложения excanvas не поможет.
Я думаю, всё сделано по книге Лаврова-Силагадзе, которая упоминалась в посте.
Для общения по теме и обмена опытом, боюсь, больше подходит lisper.ru :)

Кстати, написан он на Лиспе, а не PHP ;)
Есть желание — развивайте лучше тот же порт SBCL на винду или какую-нибудь реализацию Scheme, а не этот привет из 70-х.
mod-lisp — это нечто вроде mod_fastcgi, так что его можно использовать хоть с чем, ничего особенно лиспового там нет, просто тупой как валенок протокол передачи запроса от апача приложению.

ИМХО, лучше взять GNU clisp и запустить на нём лисповый веб-сервер Hunchentoot. Или использовать fastcgi-модуль, который идёт в комплекте clisp.
Посоветуйте вашему отцу какие-нибудь книжки посвежее.

«Мир Лиспа» там, перевод Practical Common Lisp (ищется в гугле), если хорошо знаете английский и интересно написание собственных реализаций — Lisp in Small Pieces и Paradigms of Artificial Intelligence Programming: Case Studies in Common Lisp (ищится в пираццких интернет-библиотеках).

А интерпретатор на списках — это, извините, баловство. Лисп надо компилировать ;)
Microsoft использует CDN компании Akamai, но вряд ли те испольуют lighttpd. Скорее какой-нибудь squid, а ещё скорее самописный софт.
Скажите пожалуйста, а почему у вас в первом уроке постоянно повторяется Intel 64, Intel 64, но лишь вскользь упоминается, что вы почему-то использовали документацию от AMD? У неискушённого читателя может сложиться впечатление, что это Microsoft изобрела интернет… Ой, в смысле, это Intel изобрела x86-64 ;)
Проигрывать будет бразуер, а переключение качества и т.п. будет делаться средствами Javascript.

Информация

В рейтинге
2 742-й
Откуда
Barcelona, Barcelona, Испания
Дата рождения
Зарегистрирован
Активность

Специализация

Бэкенд разработчик
Старший