Вообще говоря, я вовсе даже матар и галлентов не сильно-то люблю. Конечно, спасибо им за все, но даже благодарность хороша только в меру — идут они лесом со своей всеобщей толерантностью и двойными стандартами.
А еще вы очень ошибаетесь, что слиперы чем-то обязаны им — оно тот редкий случай, к кому галленты не толерантны…
И кстати… Я не вижу ничего плохого в «ржавых кусках теплотрассы», если они при этом являются быстрейшими в своем классе. ;)
Да, патроны для них тоже требуются, но стоимость их не сравнима с топливом для думсдеев. Самым эффективным в плане патронов является амаррский Avatar, на него ставятся лазеры, основным расходником на который является энергия собственно корабля. Конечно, для лазеров есть расходник — линзы, но их расход 1 на 4000 или 1 на 1000 выстрелов, в зависимости от типа. При этом, например, линза Sanshas Multifrequency XL (калибр титана, 4к выстрелов) стоит 3кк иск. Копейки, короче.
Второй пример, минматарский Ragnarok — пушки потребляют только патроны. Arch Angel Fusion XL — 6,2к иск за патрон. На Ragnarok ставится 6 стволов, что дает 36к isk за залп.
>> Отсутствие проверки типов и иммутабельности и наличие неявных приведений — это не баг, это фича
Конечно, а разработка на Python или Ruby медленна, печальна и полна бойлерплейта.
А, как же я забыл про апофеоз печали и страданий — Clojure.
Я, конечно же, говорю не о статической типизации, а о строгой динамической, где шаг вправо-влево — TypeError.
Про API для concurrency я, пожалуй, промолчу — даже в Python 2.6 уже можно было писать линейный асинхронный код.
Собственно, это очевидные и давно известные факты, я не понимаю, как их можно пытаться оспорить.
У меня Samsung n530u3b с клавиатурой, идентичной Samsung Chromebook. Выходит вполне нормально. Большой и средний пальцы на Ctrl и Shift соответственно, указательный и безымянный — right и left arrow. вроде нормально.
Ок, спустимся от философии к практике. ФП-язык и ООП-язык — не говоря уже о DSL парсеров — строятся на различных наборах понятий. И ничего из этих понятий не существует для процессора. Для процессоров не существует типов, объектов, функций, даже циклов. Даже присваивания как такового не существует, потому что нечему присваивать. Процессоры абсолютно императивен, если вспоминать про декларативные языки.
Вот вам и разные вселенные. И для преодоления разрыва между этим вселенными используются бесконечные костыли разных уровней — vtbl, thunk-и, кодогенерация, виртуальные машины, монады и прочие многообразные ужасы. И что самое печальное — для того, чтобы что-то написать для своих людских задач, используя приятную тебе семантику, нужно преодолеть этот разрыв и не забыть про abstraction penalty этого преодоления.
Я, кстати, не понимаю, как вообще можно программировать, не помня об этом.
Преимущества — лаконичность и захват this, больше никаких.
Кстати, они развернули грабли другой стороной — как теперь получить this и arguments места вызова? Писать old-style анонимную функцию и без вариантов?
Я не пишу ни на тикле, ни на лиспе, если что.
А еще вы очень ошибаетесь, что слиперы чем-то обязаны им — оно тот редкий случай, к кому галленты не толерантны…
И кстати… Я не вижу ничего плохого в «ржавых кусках теплотрассы», если они при этом являются быстрейшими в своем классе. ;)
Второй пример, минматарский Ragnarok — пушки потребляют только патроны. Arch Angel Fusion XL — 6,2к иск за патрон. На Ragnarok ставится 6 стволов, что дает 36к isk за залп.
Конечно, а разработка на Python или Ruby медленна, печальна и полна бойлерплейта.
А, как же я забыл про апофеоз печали и страданий — Clojure.
Я, конечно же, говорю не о статической типизации, а о строгой динамической, где шаг вправо-влево — TypeError.
Про API для concurrency я, пожалуй, промолчу — даже в Python 2.6 уже можно было писать линейный асинхронный код.
Собственно, это очевидные и давно известные факты, я не понимаю, как их можно пытаться оспорить.
Ах, простите, забыл — в нем этого всего нет. Welcome стрелять себе в ноги.
Вот вам и разные вселенные. И для преодоления разрыва между этим вселенными используются бесконечные костыли разных уровней — vtbl, thunk-и, кодогенерация, виртуальные машины, монады и прочие многообразные ужасы. И что самое печальное — для того, чтобы что-то написать для своих людских задач, используя приятную тебе семантику, нужно преодолеть этот разрыв и не забыть про abstraction penalty этого преодоления.
Я, кстати, не понимаю, как вообще можно программировать, не помня об этом.