aruslan: (Default)
Обязательно к просмотру:
Исключительно мощная демонстрация силы и простоты от Brett Victor
(изобретателя новых концепций пользовательского интерфейса в Apple):

Это самое ясное изложение идей, которыми творчество живо там, где оно не умерло.
Тех идей, отсветы которых мы видим у Iñigo Quílez, автора знаменитой демы Elevated:

Спасибо [ profile] lionet и всем в твиттере.
aruslan: (Default)
Забавно рассказывать о map и fold/reduce - и говорить о MapReduce.
Примерно так же забавно, как говорить о map и fold/reduce, объясняя fold/refold/unfold.
Википедия однозначно приносит плоды.

Зато ликбез был успешно проведён аж на трёх фронтах. И это радует.
aruslan: (Default)
The objective of economic efficiency was understood to imply minimizing the cost of answers, not just the cost of hardware.
[...] A consequent objective was to make programming easier -- not necessarily for trivial problems but for problems worthy of the computer, problems whose coding in machine language would usually be generated automatically by a compiler from statements in the user's language.

-- Frederick Brooks. Planning a Computer System (1962)
aruslan: (Default)
Иногда создается ощущение, что то, как линкер работает - военная тайна.
И поэтому делают странное и смешное.

Например, в процессе чтения одного ассета (или библиотеки ассетов) - лезут в другой, в третий, обратно в первый, обратно во второй.
До тех пор, пока много секунд загрузки не будут потрачены исключительно на DVD seek.
Про циркулярные зависимости я промолчу. И про тонны копирований внутри - тоже.
Ну и про отсутствие минимального контроля целостности.

А вот линкеры - они обычно умнее. Особенно те, что разрешают связи при загрузке.
Пусть не все, но у нас и задача попроще )
Замечу - эта схема более чем тривиальная.
Её в самом тупом виде реализовать ничуть не сложнее, чем сложную обычную.
Учитывая управление временем жизни и прочее счастье вроде хэш-таблиц - так еще и проще.

Грустно про это рассказывать, на самом деле. Ведь не стриминг бесконечных миров даже.
Вот и дядя Дима на gamedeff рассказывает хоть и уровнем повыше, но всё про то же.

Зачем делать плохо - вот загадка.
Лучше уж не делать совсем - хотя бы устойчивее работать будет, да и дешевле.
aruslan: (Default)
На всякий синтаксический сахар найдётся синтаксический диабет.
А также синтаксическая изжога и синтаксическая язва.
aruslan: (Default)
Послушал ретроспективу Metaobject Protocol в исполнении Gregor Kiczales (автора знаменитой The Art of the Metaobject Protocol, которая в своё время хорошо прочистила мне мозги в плане design-compile-run-time).
Почему я не выслушал эти комментарии и ответы на вопросы лет эдак пять назад?..
Очень рекомендую, особенно в свете Adaptive object models.
aruslan: (Default)
G. Christopher Hruska. Self-Reference.

"I have the grandiose notion of writing a critical analysis of the very analysis I am writing. It will be the ultimate in self-reference."
This opening quotation from G. Christopher Hruska's "Self-Reference" immediately sets the tone of the entire paper.
( Читать дальше )

1. Оно переехало на
2. This sentence is in Spanish while you aren't reading it.

Очень качественно :)
via LtU, конечно же
aruslan: (Default)
...Сведенья черпают из забытых газет...
via [ profile] oppositus


Feb. 12th, 2006 23:26
aruslan: (Default)
Что-то чем больше я читаю Тима Свиини, тем хуже мне становится.
Вот тут я уже вообще перестаю его понимать.
То есть я не могу отделаться от ощущения, что Тиму нужно чаще жевать.
Причём собеседник у него (Frank Atanassow) - на редкость благодушный и терпеливый.

Ых, но в конечном счёте всё измеряется в UE.
aruslan: (Default)
Matthias Felleisen wrote a paper exactly on that subject:
"On the Expressive Power of Programming Languages"
[ ] He came up
with an interesting, formal definition that lets you tell
when one language is strictly more expressive than the other.
He _proved_ for example that a call-by-value lambda-calculus
is strictly less expressive than call-by-name lambda-calculus
(if I remember correctly).
aruslan: (Default)
Microsoft's Xbox 360 & Sony's PlayStation 3 - Examples of Poor CPU
(jun 2005)
STL is not the C++ Standard Library

Lessons to be learned, (Complex Resource/Object Systems) LONG!!:
I get the feeling you are trying to design a supergeneric system for managing any kind of data imaginable, but this a bad idea. Different kinds of data have different usage patterns; you shouldn't try to have everything managed exactly the same. For the management of drawable objects, for example, you generally will want some means of culling away objects that aren't visible. But that kind of culling makes no sense to perform directly on a texture, and even less sense to perform on a single vertex. Vertices should not be managed in system memory anyway.

what's the correct way to create classes/interfaces
aruslan: (Default)
If history repeats, the nature of the paradigm shift would have the following properties:
  • It will be coded by one, two, or three geeks who are fed up
  • It will be all over the news for two days before disappearing again
  • It will have an open source tool
  • It would be bootstrapped off the old paradigm
  • It will be instantly dismissed by scores of developers
  • It will be instantly dismissed by scores of "developers", who will write books about why it's not important
  • Once it was understood by a few, a slew of companies will arise claiming to have a tool that implements it
  • Microsoft will claim to have one ready in four months, called Visual NewParadigm.NET
  • Years later some non-original tools will actually implement it.
  • It's benefits may be relative to the old paradigm (ala procedural vs. OOP), not necessarily superior
  • Once it is understood, something beyond it will arise iteratively, for a while they will be called the same thing, until they become distinct.
  • It's not going to be programming language as we know it. Maybe some combination of architectural, evolutionary, and aspect techniques
  • Lisp weenies will claim prior art
  • The Perl community will claim it's been in the Perl Language all along, you just have to say "#(&&->$\/\//@mumble->frabitz;;" to accomplish it.
  • Even after it's established by many as the Next Big Thing, people will have arguments as to what it is. (cf Nobody Agrees What Is OO)
  • It won't be where the architects/scientists were looking
  • Xerox Parc probably threw it out as unusuable, years ago.

цитата из Beyond Object Orientation
aruslan: (Default)
( Если не работает так - попробуйте вот так )

Очень интересные статейки. Про языки, про development, про разное.
Опытный товарищ. Местами сильно интереснее Пола Грэхема, да простят меня.

[Update Oct 2012] Реальная ссылка после того, как Steve Yegge стал суперпопулярен - тут:
aruslan: (Default)
Нет-нет, я не к тому, что "от обиженных дельфистов" (ц).
Просто не ожидал встретить на собрание довольно редких работ (варез, так сказать).
В частности, работы Франца и репринт статьи про Juice, который в своё время произвёл на меня очень сильное впечатление.
aruslan: (Default)
Пару лет назад (когда я в первый раз серьёзно столкнулся с .NET и C#) мне очень помог cbrumme's WebLog.
Один из немногих по-настоящему глубоких источников информации о.

Это я на всякий случай, для тех, кто в танке или только начинает изучать C#, .NET, WinFX и хочет копнуть чуть глубже.
aruslan: (Default)

И всё-таки C++ operator whitespace() круче.
Update: Народ жжот :)
Специально для некоторых камрадов ссылка не была вынесена ("скрыта") прямо в заголовок.


aruslan: (Default)

January 2014

56789 1011


RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 25th, 2017 06:08
Powered by Dreamwidth Studios