Имбирь - твой спиритический овощ. Войти !bnw Сегодня Клубы
УНЯНЯ. У нас есть немножечко инфы об этом пользователе. Мы знаем, что он понаписал, порекомендовал и даже и то и другое сразу. А ещё у нас есть RSS.
Теги: Клубы:

Один из главных отососов в современных языках программирования - это отсутсвие во многих из них поддержки keyword arguments.

Эта хуйня существенно повышает читаемость и, как следствие, качество кода.

В некоторых ЯП, в которых есть встроеные литералы для словарей проблема может решаться ими.
В остальных - это мрак, отсос и говно.

Как ни странно, божественная статическая типизация тут не роляет совершенно. Ведь очень легко перепутать аргументы с одинаковыми типами местами и потом долго ломать голову какого Х не работает. В случае keyword args достаточно поверхностного осмотра кода, чтобы понять что не так.

#A9QJJ9 (124+1) / @ninesigns / 3018 дней назад

@like-all -> @0xd34df00d
Божечки, какие мы нетерпеливые. Настолько, что забыли про термин AFK. Во-первых, ты не следователь, а я не подсудимый, так что я обязан тебе ровно ничем. Если это как-то нарушает восприятие мира тобой - извини. Во-вторых, раз пошла такая пьянка, я распишу про овердизайн. Один раз. Здесь.

Представим среднего девелопера, который хочет запилить графическое десктопное приложение. Чем ему могут быть полезны личкрафты? Отлично, имеется богатое API, с помощью которого можно передавать мессаджи, объекты и прочие сущности из плагина в плагин, назначать табклассы, получить доступ к унифицированному тулбару, сайдбару, засунуть небо в аллаха и аллаха в небо. Возможно, это прекрасно, но... "НО ЗАЧЕМ?", резонно спросит средний девелопер и уйдёт пользоваться Qt, DBUS, xdg и прочими благами, которые ему даны фридесктопом. Да, конечно, API поверх API поверх API - это сейчас модно, но девелопер вряд ли захочет прибивать гвоздями своё приложение к малоизвестному рантайму для плагинов, да ещё и получать геморрой в виде деспотичного цензора в лице дедфуда в количестве одна штука. Что в этом случае делать? Форкать? Да кому нахуй нужно мейнтейнить всё это безобразие для того, чтобы поддерживать одно простое графическое приложение, да ещё и следить за тем, чтобы API не было outdated? Куда проще взять готовый фреймворк, использовать свой кодстайл, инструменты для сборки, языки программирования и другие общепринятые блага цивилизации.

Возьмём среднего обывателя, пользующегося бытовым электрическим компьютером. Основной lifecycle приложения под управлением пользователя, как мы знаем, это открыть приложение -> выполнять в нём действия до достижения удовлетворения -> закрыть приложение. Среднему пользователю, обычно, поебать на то, как устроено приложение, лишь бы выполняло свои действия в удовлетворяющие пользователя временные рамки и к нему не нужно было долго привыкать. Мир, конечно, знает немало коммерчески успешных комбайнов, взять хотя бы те же iTunes и Opera. Но у них есть одна отличительная черта: они после запуска предоставляют пользователю простые и понятные средства для доступа к основной своей функциональности. Всё остальное скрыто от глаз подальше и появляется только в том случае, если пользователь того захочет. То есть, iTunes даёт пользователю плейлист, табло и контролы для управления музыкой - основной функциональности данного приложения. Если пользователь подключил iPhone, то можно и предложить сбэкапить данные, закинуть музыку, обновить прошивку, ещё чего-нибудь. Opera сразу предоставляет пользователю вьюпорт браузера, табы, навигационную панель и статусбар. Всё, ничего лишнего. Если пользователь захочет, он может тыкнуть в mailto: или irc://, а дальше сам разберётся, открывать ему это внутри приложения или же воспользоваться своими любимыми клиентами. Резюмируя: эти приложения не кричат всем своим естеством "СМОТРИТЕ, Я МОГУ ЗАМЕНИТЬ НЕБО И ОЛЛАХА", а сразу дают пользователю то, чего он от него ожидает получить. И только потом всё остальное. А потом пользователь их закрывает. И ожидает, что они запустятся относительно быстро. Что же мы видим в личкрафтах? Очень долгая инициализация в случае подгрузки всех необходимых плагинов, буйное разнообразие табов, сайдбаров и тулбаров. Немудрено, что пользователь испугается, если он, конечно, не ебанутый. В прыщах это ещё как-то может прокатить, если сабжем заменить десктопное окружение. Вопрос в том, найдётся ли тот аутист, который согласится поставить себе в качестве десктопного окружения помесь чебурашки с франкенштейном. Когда я в последний раз на них смотрел, то видел, что сайдбар в скором будущем может заменить вкладки. Подход здравый, щас многие так делают. Но тут уже непонятно, что будет в качестве wm и как это всё будет уживаться с доком внутри вьюпорта графическогот приложения. Разве что док в отдельное окно перемещать и снэпить его к какой-нибудь из сторон экрана. Но это всё прыщи. А что с самыми популярными быдлоориентированными ОС ака Windows и Mac OS X? Всё по-прежнему будет в одном окне. И сайдбар будет дублировать функциональность дока в макоси и супербара в винде. Не совсем очевидно, как юзать табклассами и разносить всё безобразие в отдельные окна, настраивать связи файлов с этими плагинами, организовывать правильный автозапуск и распихивание на воркспейсы. Проще открыть в приложении, воспользоваться и закрыть. А все необходимые API и интерфейсы и так предоставят операционные системы. Единственной перспективной частью в личкрафте является Azoth. С современной фрагментацией IM эта штука могла бы быть очень полезной, поскольку умеет в разные протоколы и предоставляет универсальное API. LMP очень плохо работает на альтернативных ОС, ибо Phonon - говно. Я, конечно, слышал про переход на Gstreamer, но не знаю, как с ним сейчас обстоит дело. Да и, наверное, знать не хочу.

Вот. Я всё сказал. А теперь ты отправляешься в BL.

#99QHO0 (289+1) / @ninesigns / 3740 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.