Говоря о надежности старых вещей не стоит забывать о об «ошибке выжившего». У нас нет возможности иметь дело с теми вещами, которые отправились на свалку еще в те годы.
И кстати, небезызвестная лампочка на картинке работает в режиме глубокого недокала и с очень низким КПД.
С самого начала не понимаю хайпа, нагнанного вокруг так называемых «облачных технологий» (не без активного участия поставщиков данного рода услуг). Уже не раз был свидетелем ситуации, когда энтузиазм заканчивался где-то на 1-м счете от Amazon, после чего желание «платить только за реально потребляемые ресурсы» куда-то пропадало, а содержать ораву dedicated-серверов — со всеми их вседенно и всенощно молотящими NOPы многоядерниками — внезапно оказывалось очень даже дешево :)
Самая большая проблема лично для меня заключается в выборе между Vim и IDE. Приходится выбирать между нормальным редактором, но IDE-фичами прикрученными «сбоку», либо между полноценной IDE, но с самым простеньким редактором. Уж не знаю, что из этих зол хуже, но на данный момент мне кажется, что потеря IDE-фич наносит меньший ущерб производительности.
P. S. Да, мне известно про существование Vim-плагинов — которые хоть и работают, да не так.
В принципе, одного только факта зависимости от Electron достаточно для того, чтобы отбить всякое желание с ним связываться. Ну любим мы native look & feel, и не любим хипстерские «аппы».
Серьезно, это реальная ситуация из жизни. Хостер изначально, как это в подобных случаях водится, занял позицию «не знаю я ни про какой malloc, это Ваш софт кривой», но после некоторых препирательств что-то сделал, после чего это проблема на некоторое время перестала воспроизводиться. Когда через некоторое время это случилось опять, то мы плюнули на все и переехали на dedicated.
Отсюда вывод — для высоконагруженных и/или business-critical проектов необходимо использовать dedicated-сервера. Тогда и никаких «в htop-е все по нулям, но почему-то все равно все равно тормозит, а в техподдержке хостера сказали, что во всем виноват Ваш софт» или «у нас куча свободной оперативки, но почему-то malloc всегда выдает NULL».
Правда, как-то раз мне попался хостер, который майнил Monero на серверах клиентов (от чего опять же все тормозило), но здесь это скорее исключение, чем правило :)
Правильнее было бы сказать, что flatMap — это определение операции bind для монады List. Для, скажем, IO bind это выполнение этой самой IO-операции. Для Maybe — функция, всегда возвращающая Nothing, если результат вычисления выражения 1-го аргумента bind тоже Nothing, и результат вычисления фунции, переданной в качестве 2-го аргумента bind в противоположном случае. И т. д., и т. п.
Да там одни runtime-ошибки из-за пропусков при pattern matching чего стоят :) Про OOM из-за неотработавшей оптимизации хвостовой рекурсии я, пожалуй, промолчу — нельзя считать инструмент, провоцирующий подобные ошибки надежным и/или безопасным даже в первом приближении.
Основная сложность функционального программирования главным образом заключается в стремлении своих адептов рассказывать максимально сложно даже про весьма простые вещи. Почему и за счет каких поведенческих механизмов так происходит — отличная пища для размышления.
(на всякий случай дисклеймер — не делайте так)
И кстати, небезызвестная лампочка на картинке работает в режиме глубокого недокала и с очень низким КПД.
Согласен с этим утверждением. Но и, признаться честно, технический евангелизм как практика у меня тоже особых симпатий не вызывает.
P. S. Да, мне известно про существование Vim-плагинов — которые хоть и работают, да не так.
Правда, как-то раз мне попался хостер, который майнил Monero на серверах клиентов (от чего опять же все тормозило), но здесь это скорее исключение, чем правило :)