Нарыл тут на сайте лекториума интересные (мне) курсы видео-лекций.

* Линейное программирование
lektorium.tv

* Рассказы о теории чисел, алгебраической геометрии и гомотопической топологии
lektorium.tv

* Десятая проблема Гильберта. Решение и применения в информатике
lektorium.tv

* Алгоритмы для NP-трудных задач
lektorium.tv

* Эффективные алгоритмы
lektorium.tv

* Graph Algorithms
lektorium.tv

* Структурная теория сложности
lektorium.tv

* Параметризованные алгоритмы
lektorium.tv

* Проблема изоморфизма графов
lektorium.tv

Представьте, что вы дружите с Машей. У Маши есть три зеленых яблока. А вам этих яблок нужен килограмм, красных.
И в данной ситуации разумным было бы пойти на рынок и купить килограмм красных яблок у того, кто готов вам продать килограмм красных яблок. Но рынок – это так абстрактно, так далеко – а вдруг там вообще никаких яблок не будет? А вдруг санитарный день? А Маша – вот она здесь стоит, она классная. И вы делаете смелое предположение, что килограмм красных яблок у Маши все-таки есть. В глубине души. А если приложить соответствующие усилия, она вам их отдаст. Ведь это было бы очень кстати.
«Маш, а хочешь, я тебя в кино свожу?» – добродушно интересуетесь вы. Маша удивлена, но она, наверное, хочет, тем более, что вы делаете вид, что вам это абсолютно не тяжело. Вы ведете Машу в кино. Но после этого килограмма красных яблок у вас не появляется. «Что за фигня?» – думаете вы и ведете ее в кафе. Вы гуляете с ее собакой. Вы клеите ей обои. Вы ремонтируете ее машину. И ничего не происходит. «Да что же ты за сука такая» – возмущаетесь вы и предлагаете ей переехать к вам. Цена килограмма красных яблок взлетает до небес. Какой там рынок – теперь вам принципиально получить свои яблоки именно у Маши. Вы говорите себе, что это судьба. И здесь уже ясно, чем дело кончится: придет день, когда кто-то будет кричать: «Я на тебя жизнь положил, а тебе для меня паршивых яблок жалко», кто-то будет рыдать в ответ: «Да нет у меня никаких яблок, с чего ты взял?».
Действительно, с чего? Я сознательно не беру ситуацию, когда коварная Маша старательно вводит вас в заблуждение, потому что ей тупо нравится ходить в кино (хотя часто именно это и происходит). Но сплошь и рядом случается так, что мы не до конца честны в своих намерениях, а у окружающих людей просто нет того, что нам нужно: килограмма красных яблок, желания рожать от нас пятерых детей, потребности в совместном отдыхе, способности говорить по душам, банально – любви к нам и, соответственно, возможности эту любовь демонстрировать. И это нормально. Точно так же, как нормально хотеть всех этих замечательных вещей. Ненормально – заниматься рэкетом, пытаясь вытрясти из первого симпатичного человека, затесавшегося поблизости, то, чего у него нет – только на том основании, что «в глубине души» у него это, возможно, отыщется.
Не отыщется. Если у кого-то что-то для вас есть, он этим поделится сам. Не из глубины души – а от всей ее широты.

Разница между статической и динамической типизацией на самом деле не в том, когда происходят проверки типов - при компиляции, или в рантайме.

Это разница в подходе, в отношении к программам.

Существует известная цитата Робина Милнера:
-------------------------------------
 Well-typed programs never go wrong.
-------------------------------------
В этом вся статика, в этом весь хаскель и подобные языки. И в этом причина их переусложненности, и всех неудобств при их использовании для написания real-world программ.

В противопоставление, приведу цитату из стандарта Common Lisp:
http://www.lispworks.com/documentation/HyperSpec/Body/f_error.htm
-------------------------------------
 (defun wargames:no-win-scenario ()
   (if (error "pushing the button would be stupid."))
   (push-the-button))

In this scenario, there should be no chance that error will return and the button will get pushed.
While the meaning of this program is clear and it might be proven `safe' by a formal theorem prover, such a proof is no guarantee that the program is safe to execute. Compilers have been known to have bugs, computers to have signal glitches, and human beings to manually intervene in ways that are not always possible to predict. Those kinds of errors, while beyond the scope of the condition system to formally model, are not beyond the scope of things that should seriously be considered when writing code that could have the kinds of sweeping effects hinted at by this example.
-------------------------------------

Проблема в том, что хаскель и подобные языки целиком и полностью полагаются на абстракции. И строят из них другие абстракции, которые полностью закрывают предыдущие, и так далее. А это неправильное использование абстракций, особенно в контексте Software Engineering.

Потому что абстракции всегда текут.
http://www.joelonsoftware.com/articles/LeakyAbstractions.html

Смысл этой фразы в том, что абстракция это средство для уменьшения количества сущностей, которых необходимо держать в голове при решении какой-либо подзадачи в данный конкретный момент времени, но абстрагирование это ни в коем случае не отделение нижних слоев системы от вышележащих плотной стеной. Это просто не работает.

Если язык не учитывает класс аппаратных платформ, на которых он будет запускаться, если у него сферическая категориальная семантика в вакууме, которая совершенно не учитывает реальные проблемы и потребности, возникающие в процессе разработки и поддержки программ, он просто нежизнеспособен, неудобен и непрактичен, и является просто игрушкой, хотя, возможно, и красивой. И в таком случае, не называйте его "языком программирования".

Я уже несколько раз, на ЛОРе, например, видел чуваков которые реально фанатеют от Java. И каждый раз, как я таких людей вижу, я, если честно, настолько охуеваю, что минут на 5, как минимум, вхожу просто в какой-то кататонический ступор.

Для меня это непостижимо вообще, как можно, блять, испытывать хоть какие-то положительные чувства к этому языку, да и платформе вообще?

Ну правда, чуваки. Java как язык это ведь просто невыносимый ад и пиздец, и тут не надо даже в лиспы/хаскели ходить за примерами и сравнениями, чтобы это понять, достаточно посмотреть вон какой-нибудь C#, да ну или хоть Python.

Как платформа это тоже то еще говно. VM примитивна и убога; да, она адски задрочена и вылизана, но факт такой, что никакой язык, уровнем выше говна типа Java, на ней нормально и эффективно работать не может.

Деплоймент программ на жабаплатформе, и поддержка их зависимостей, это полный пиздец, адекватный только для какого-нибудь унылого сервер-сайд энтерпрайза — вон даже в лиспах и то все более вменяемо в этом плане(хотя лучшее что сейчас есть, имхо, это .NET с его GAC).

Вот еще есть такое мнение, что де, жабаплатформа, даже в стандартной поставке это охуеть как круто потому что там куча батареек и библиотек на все случаи жизни, а что уж, типа, говорить про экосистему жабы вообще, типа, это же типа вообще обоссаться можно.
Блять, чуваки, раскройте глаза — что там такого удивительного? Да это все либо обычная стандартная поебень, которую при необходимости можно и самому за полчаса наклепать на любом вменяемом языке(при присутствии FFI, например), либо это какая-то убогая и унылая энтерпрайз-ориентированная хуета, типа ОРМ и прочего БД-ориентированного шлака. А, ну да, еще в стандартной жабе есть GUI-фреймворки, но давайте лучше их не упоминать, потому что про то, какое они убогое говно из себя представляют, я могу столько написать, что даже самому лень будет читать.
Экосистема жабы, на самом деле, такое же унылое и бесполезное говно, как и стандартная библиотека. Да, иногда среди всего этого навоза из кривых ОРМ и убогих "якобы R" IA-фреймворков, попадаются алмазы (ну например, я многое для себя узнал и взял из xtc(http://cs.nyu.edu/rgrimm/xtc/), в частности из Rats! — авторам спасибо), но в целом, процент встречаемости таких алмазов меньше, чем во всех других языках, начиная с Си или, скажем, Питона, и заканчивая какими-нибудь экзотическими лиспами.

Сегодня в re:Store:
— Девушка, белые макбуки уже давно не продаются.
— Как же так? Мне очень нужен ноутбук в цвет айпада и айфона. Никак иначе. Помогите!

Нечаянно нажал в mc "alt-," и открыл для себя горизонтальное расположение панелей, что может быть полезно когда много файлов с длинными именами.

Хочешь сладких апельсинов? Хочешь мышь в цветных лосинах? Хочешь я наполню ванну серной кислотой? Хочешь я куплю тюленя? Хочешь я рожу оленя? Хочешь будем плавать брассом мы с тобой в бидоне с квасом?
З. Ы. Читала и вспомнила Васда :-)

Дорогой чатик, с каким размером по длинной стороне вы считаете нормальным сейчас посылать фоточки в блоги? А то мне с моим монитором с 2500*1400 все почтовыми марками кажется. :-)

...Понты первого порядка: купить большую дорогую машину и Ролекс, читать Коэльо, презирать Донцову, любить худую блондинку с сиськами.

Понты второго порядка: купить маленькую стильную машинку и Ланжин. Читать Умберто Эко. Презирать Коэльо, любить ироничную брюнетку.

Понты третьего порядка: ездить на метро и такси, потому что так быстрее и дешевле, носить Свотч, читать Анну Гавальду, выключать воду, когда чистишь зубы. Никого не презирать, потому что это разрушает карму. Никого не любить, потому что ты еще не встретил своего человека.

Понты четвертого порядка: продать квартиру, машину и Ланжин. Поехать в Тибет, достичь нирваны, любить всех.

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

(c) х.з