Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет Андрей Янпольский ([info]yanis)
@ 2005-04-13 22:40:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Alex "STL" Stepanov

In 1976, still back in the USSR, I got a very serious case of food poisoning from eating raw fish. While in the hospital, in the state of delirium, I suddenly realized that the ability to add numbers in parallel depends on the fact that addition is associative. (So, putting it simply, STL is the result of a bacterial infection.) In other words, I realized that a parallel reduction algorithm is associated with a semigroup structure type. That is the fundamental point: algorithms are defined on algebraic structures. It took me another couple of years to realize that you have to extend the notion of structure by adding complexity requirements to regular axioms. And than it took 15 years to make it work. (I am still not sure that I have been successful in getting the point across to anybody outside the small circle of my friends.) I believe that iterator theories are as central to Computer Science as theories of rings or Banach spaces are central to Mathematics.


Еще в тексте есть совершенно дебильные наезды на другие языки программирования (Джаву), как глупые, о влиянии на STL - эту вершину научной мысли - Оккама, францисканцев и хуй знает кого еще. То-есть это все даже не смешно. К старости захотелось почувствовать себя ученым, как тов.Сталину в "Вопросах Языкознания"? В 1993 году человек пишет порт говняной контейнерной библиотеки в templates, которые тогда были новинкой. Теперь-то мы понимаем, конечно, что это как Банах в функциональном анализе, скорее даже, как Ньютон или Галуа в математике или Туркменбаши в туркменологии. Ни малейшего намека на самоиронию в тексте интервью я не нашел.

Выражаясь языком Миши Вербицкого, нет ничего ничтожнее, подлее и гаже, чем computer scientist. Все, кто так себя называют, - недо-математики програмисты с комплексом неполноценности. Все-равно, как бляди из стриптиза, которые говорят, что они "танцовщицы".


(Добавить комментарий)


[info]malaya_zemlya@lj
2005-04-14 01:38 (ссылка)
Не факт, что Степанов даже плохой математик, может быть и хороший, но занимается точно не своим делом. Ему как с куста когда-то перепала куча бабосов сначала от HP, потом от других компаний. По большому счету, не за дело перепала, а это очень портит людей.

(Ответить) (Ветвь дискуссии)


[info]yanis@lj
2005-04-14 09:36 (ссылка)
ну да - может он и на скрипке хорошо играет, просто не пробовал =) я просто охуевал читая это жуткое интервью

(Ответить) (Уровень выше)


[info]unicoder@lj
2005-04-14 03:43 (ссылка)
if a language allows me to implement max and swap and linear search generically - then it has some potential ... мда.Вообще он звучит как типичный проффесор (математики или чего-то ещё).Читал как-то интервью со Страуструпом - оставило совершенно другое впечатление.

(Ответить) (Ветвь дискуссии)


[info]yanis@lj
2005-04-14 09:35 (ссылка)
он звучит, как типичный профессор математики, но им при этом ни в каком виде не является. это симулякр профессора математики, который думает, что он настоящий.

(Ответить) (Уровень выше)


[info]polter@lj
2005-04-14 04:47 (ссылка)
кхе!

(Ответить)


[info]cousin_it@lj
2005-04-15 03:56 (ссылка)
Все, кто так себя называют, - недо-математики програмисты с комплексом неполноценности.

Кухонный психоанализ. Не стыдно?

(Ответить)


[info]ex_alexeile@lj
2005-04-17 17:35 (ссылка)
У меня был опыт работы с STLом, когда он стал популярен в 1997ом году. На мой взгляд, главная проблема STLа в том, что там не продумано с выборками.
У класса vector есть функция fill --

vector.fill(value),

а для выборки из первых десяти элементов надо использовать глобальную функцию, которая почему-то возьмёт два указателя --

fill(vector.ptr(0), vector.ptr(10), value);

Причём указатели (begin и end) можно случайно поменять местами, взять begin из одного массива а end из другого, и во всех этих случаях программа грохнется, потому что никакой защиты нет. Программист обязан сам всюду носить эти парочки итераторов. Куда правильней иметь класс типа array_ptr, который будет в точности, как вектор (в смысле набора функций), только без попытки размещать/освобождать блоки. Вот так:

vector.get_region(0,10).fill(value)

В STLе было несколько новых идей, которые мы тут же позаимствовали, но в целом на поверку он оказался unusable.

(Ответить) (Ветвь дискуссии)


[info]yanis@lj
2005-04-17 18:25 (ссылка)
Согласен. проблемная библиотека - алгоритмы туманные и очень сложно отлаживаются (это помимо их неэффективности), неоднородные имплементации на разных платформах, непоследовательное поведение. Да собственно даже синтаксис убогий совершенно и вымученный. Короче непонятно, с чего это он выебывается ...

(Ответить) (Уровень выше)


[info]malaya_zemlya@lj
2005-04-18 01:02 (ссылка)
В тему
http://www.pdos.lcs.mit.edu/scigen/

(Ответить)