Juan-Carlos Gandhi (
juan_gandhi) wrote2008-05-14 12:56 pm
![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
dynamic vs static
Я не собираюсь вступать в эту нонешнюю дискуссию. Просто хочу заметить, что речь идёт о "гарвардской архитектуре" супротив "архитектуры фон Неймана".
В первой данные отделены от кода, и задача программиста состоит в том, чтобы состыковать, хоть и через посредников, данные и код, который их обрабатывает; вот и приходится катать всякие конфигурации, эксэмэли, ентити бинзы; всё для того, чтобы уберечь код от данных. Тогда код можно статически проверить и отлить в бронзе. Чтоб не сломался.
Во второй что данные, что код, без разницы; код - это вид данных, а данные могут на определённом уровне интерпретироваться как код, или строить код, который эти данные сынтепретирует (как, помню, была какая-то база, которая строила классы для доступа прямо при открытии таблицы: взял таблицу - вот и классы загрузились; естественно, что динамически.
Ну а так, наверное, стоит почитать, конечно: Егге устраивает разгром в столице статической типизации
В первой данные отделены от кода, и задача программиста состоит в том, чтобы состыковать, хоть и через посредников, данные и код, который их обрабатывает; вот и приходится катать всякие конфигурации, эксэмэли, ентити бинзы; всё для того, чтобы уберечь код от данных. Тогда код можно статически проверить и отлить в бронзе. Чтоб не сломался.
Во второй что данные, что код, без разницы; код - это вид данных, а данные могут на определённом уровне интерпретироваться как код, или строить код, который эти данные сынтепретирует (как, помню, была какая-то база, которая строила классы для доступа прямо при открытии таблицы: взял таблицу - вот и классы загрузились; естественно, что динамически.
Ну а так, наверное, стоит почитать, конечно: Егге устраивает разгром в столице статической типизации
no subject
в принятой терминологии это называется global scope. dynamic scope — это когда можно аккуратно подставлять новое значение глобальной переменной на время выполнения делающей это функции. как в емаксе, скажем. отсюда и слово "dynamic", поскольку scope как бы контролируется программой во время выполнения.
язык — это такая бамажка, спецификация (пусть даже чисто абстрактная и выведенная пост-фактум из единственной кривой реализации, как в большинстве современный нам "скриптовых" недоязыков). а компилировать можно практически всё что угодно, хотя некоторые языки и делают некоторые фишки компиляции малопрактичными (например, Питон. то есть там можно спекулятивно резолвить (потенциально-)глобальные имена во время компиляции, скажем, но вряд ли стоит. но можно).
я Вам страшный вещь скажу: если иметь на старте голую железку, так даже распечатать букву "а" на экран покажется весьма нетривиальным. :)
а теория и практика компиляции языков с lexical scope — это, по сравнению с теми пчёлами, сто раз пройденная неинтересная фигня.
примирить lexical scope с отсутствием хотя бы чего-то типа перловского "my" — это больно, да. но это чисто питоновская фигня, я к чему. если бы Гуидо не был (во времена создания Питона, во всяком случае) позорным неучем, то бабушки были бы дедушками etc.
no subject
Про спецификацию: она, конечно, бумажка и всё такое, но в ней есть места, которые могут быть интерпретированы вполне однозначно как требование определённой степени компиляции. Например: я выше в ответ
Кстати, Гвидо в момент создания питона уже семь лет был master of science и имел опыт языкотворчества.
no subject
удивительно, правда?
Lisp rules, all other programming languages sucks
Я тут подумал - как же нам всем остальным повезло что создатели XML не выбрали для него скобочную нотацию. Мысль о том что мы явно живем не в худшем из миров, отчасти примиряет с.
Re: Lisp rules, all other programming languages sucks
Re: Lisp rules, all other programming languages sucks
Re: Lisp rules, all other programming languages sucks
Re: Lisp rules, all other programming languages sucks
да, точно, про благостность закрывающих тагов я где-то читал.
правда, Грэм вряд ли писал что-то подобное даже после того как сошёл с ума.
Re: Lisp rules, all other programming languages sucks
Re: Lisp rules, all other programming languages sucks
совсем человек халтурно писать стал, по-моему.
Re: Lisp rules, all other programming languages sucks
Re: Lisp rules, all other programming languages sucks
(в английском языке не следует добавлять 's' к глаголам третьего лица множественного числа, только единственного. в прошлый раз я счёл это опечаткой).
Re: Lisp rules, all other programming languages sucks
А лисп тут совсем ни при чем, разумеется.
Re: Lisp rules, all other programming languages sucks
если Вам кажется что причём, то я весь уши.